在Java小程序中调用web服务方法
我成功地构建了一个简单的JavaWeb服务(作为示例,您可以参考) 在Eclipse中,通过使用教程中指出的“JavaWebServiceProxy技术”,可以很容易地创建web服务客户机 我想运行一个Java小程序,它执行与Java客户端应用程序相同的操作:访问web服务、调用方法并返回结果 当我通过Eclipse运行代码时(右键单击>“作为Java小程序运行…”),一切正常。。当我在一个简单的html页面中运行小程序时,小程序会启动,但会出现死锁: 不会引发任何异常,并且在创建MyWebServiceProxy类的行上不执行任何操作(调用默认构造函数)的情况下阻止进程 有人能帮我吗 我在这里粘贴了一些代码,让您更好地了解我在小程序中所做的工作:在Java小程序中调用web服务方法,java,webservice-client,applet,Java,Webservice Client,Applet,我成功地构建了一个简单的JavaWeb服务(作为示例,您可以参考) 在Eclipse中,通过使用教程中指出的“JavaWebServiceProxy技术”,可以很容易地创建web服务客户机 我想运行一个Java小程序,它执行与Java客户端应用程序相同的操作:访问web服务、调用方法并返回结果 当我通过Eclipse运行代码时(右键单击>“作为Java小程序运行…”),一切正常。。当我在一个简单的html页面中运行小程序时,小程序会启动,但会出现死锁: 不会引发任何异常,并且在创建MyWebSe
public class SimpleWSApplet extends Applet {
public void paint(Graphics g)
{
String msg = "Applet initialized";
int i = 1;
g.drawString(msg, 20, 20*i++);
msg = "Error in applet";
try {
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress("http://localhost:8080/AppletWSTest/services/SimpleWS");
call.setOperationName(new QName("http://soapinterop.org/", "getMessage"));
msg = (String)call.invoke(new Object[]{});
} catch (Exception e) {
e.printStackTrace();
msg = "Error: "+e.getMessage();
}
g.drawString(msg, 20, 20*i++);
//g.drawString(executeInvocation(msg), 20, 20*i++);
}
}
显然,我的web服务被称为“SimpleWS”,我调用的方法被称为“getMessage”,它不接受任何参数,并返回一个字符串
请帮助我。正如您所知,java小程序是在沙箱中执行的。默认情况下,小程序除了从其原始服务器之外,没有任何访问任何web资源的权限。只有已签名的小程序才能访问此类资源。因此,您应该使用applet 我签署了applet,它现在请求证书,但它说org.apache.axis找不到我的类,而我确信它在我创建的fatjar中。我应该在applet标记的“归档”属性中包含JAR吗?如果是,哪一个?您是否将axis类包括到您的签名jar中?。。看起来,这些类不包括在内。。而且,您可以将jax-ws用于web服务,这样,您就不需要像apacheaxis这样的第三方库。