[英]java InvocationTargetException when calling Web Service from Applet
我有一个本地托管的Web服务,我想从applet调用它。 我已经使用wsimport和服务wsdl创建了必要的服务处理代码。 我已经测试过Java客户端和.Net服务可以从我的IDE中正常工作。
因此,我将代码打包并签名,然后将其放入网页中。 我从javascript调用applet。 我添加了helloWorld()方法以确认applet已加载并且JS可以访问它。 当我调用Web服务时,代码不会捕获任何异常。 而是页面出现错误。 当我检查它是什么时,这是一个目标调用异常。
我添加了一些sys out调用,它在这里快要死了:
ServiceEndpoint authService = new ServiceEndpoint(
new URL(serviceURL),
new QName(serviceNamespace, serviceName)
它所调用的类是使用wsimport创建的。 serviceName等是传递的字符串。 当我查看此类的生成代码时,它将实例化其超类javax.xml.ws.Service。
我很沮丧 可能是javax.xml.ws.Service对浏览器不可用吗? 我认为在那种情况下会有一个类未找到例外。
谢谢你的帮助。
我找到了问题,但它给我带来了一个新问题。 首先,答案。 我需要将对Web服务的调用包装在:
AccessController.doPrivileged(new PrivilegedAction<Object>()
{
public Object run()
{
try
{
// Do my stuff here
}
}
}
我不明白是为什么。 我正在调用的Web服务与从中加载小程序的服务器位于同一服务器上。 我用来访问Web服务的wsimport生成的类是否可能正在做我不知道的事情?
很高兴我找到了解决方法,不满意为什么我不高兴。
任何想法或照明将是梦幻般的。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.