通过Weblogic 6.1在Jbuilder7.0中调试java.rmi出错?
我在机器上安装了Weblogic6.1, 使用Jbuilder7.0建立了一个项目Hello.pjx,
在Project Properties中指定Server为Weblogic Application Server 6.X,
其中包括三个class:Hello.class,HelloImpl.Class,HelloApplet.Class和一个HelloApplet.html文件,在HelloApplet.html文件中调用HelloApplet类,
其中HelloApplet.class是实现远程调用Hello中的sayhello方法的,源代码如下:
******************Hello.java*************************************
package hello;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Hello extends Remote {
String sayHello() throws RemoteException;
}
******************Hello.java*************************************
******************HelloImpl.java*********************************
package hello;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.rmi.RemoteException;
import java.rmi.Naming;
import javax.naming.*;
public class HelloApplet extends Applet {
private boolean isStandalone = false;
String message="blank";
Hello obj=null;
//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//Construct the applet
public HelloApplet() {
}
//Initialize the applet
public void init(){
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
obj=(Hello)Naming.lookup("//"+getCodeBase().getHost()+"/HelloServer");
}
public void paint(Graphics g){
g.drawString(message,25,50);
}
//Get Applet information
public String getAppletInfo() {
return "Applet Information";
}
//Get parameter info
public String[][] getParameterInfo() {
return null;
}
}
******************HelloImpl.java*********************************
*******************HelloApplet.java*****************************
package hello;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.rmi.RemoteException;
import java.rmi.Naming;
import javax.naming.*;
public class HelloApplet extends Applet {
private boolean isStandalone = false;
String message="blank";
Hello obj=null;
//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//Construct the applet
public HelloApplet() {
}
//Initialize the applet
public void init(){
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
obj=(Hello)Naming.lookup("//"+getCodeBase().getHost()+"/HelloServer");
}
public void paint(Graphics g){
g.drawString(message,25,50);
}
//Get Applet information
public String getAppletInfo() {
return "Applet Information";
}
//Get parameter info
public String[][] getParameterInfo() {
return null;
}
}
*******************HelloApplet.java*****************************
HelloApplet.html代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>
HTML Test Page
</title>
</head>
<body>
hello.HelloApplet will appear below in a Java enabled browser.<br>
<applet
codebase = "."
code = "hello.HelloApplet.class"
name = "TestApplet"
width = "400"
height = "300"
hspace = "0"
vspace = "0"
align = "middle"
>
</applet>
</body>
</html>
编译后在执行此Html文件时报错:
C:\bea\jdk131\bin\javaw -classpath "F:\MyProgram\Hello\classes;C:\bea\wlserver6.1\lib\weblogic_sp.jar;C:\bea\wlserver6.1\lib\weblogic.jar;C:\bea\jdk131\jre\lib\i18n.jar;C:\bea\jdk131\jre\lib\jaws.jar;C:\bea\jdk131\jre\lib\rt.jar;C:\bea\jdk131\jre\lib\sunrsasign.jar;C:\bea\jdk131\lib\dt.jar;C:\bea\jdk131\lib\htmlconverter.jar;C:\bea\jdk131\lib\tools.jar;E:\JBuilder7\lib\jbuilder.jar" com.borland.jbuilder.runtime.applet.AppletTestbed 400 300 hello.HelloApplet
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:320)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:133)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:120)
at java.net.Socket.<init>(Socket.java:273)
at java.net.Socket.<init>(Socket.java:100)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:25)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:120)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:499)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:190)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:174)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:318)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:84)
at hello.HelloApplet.jbInit(HelloApplet.java:35)
at hello.HelloApplet.init(HelloApplet.java:27)
at com.borland.jbuilder.runtime.applet.AppletTestbed.startApplet(Unknown Source)
at com.borland.jbuilder.runtime.applet.AppletTestbed.main(Unknown Source)
我找不到是什么原因,请版主帮帮忙!