我有一个本地托管的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对浏览器不可用吗?我认为在这种情况下会有一个类未找到异常。
感谢您的帮助。
答案 0 :(得分:1)
我发现了这个问题,但它给我带来了一个新问题。首先,答案。我需要将我的电话打包到以下网址:
AccessController.doPrivileged(new PrivilegedAction<Object>()
{
public Object run()
{
try
{
// Do my stuff here
}
}
}
我不明白为什么。我正在调用的Web服务驻留在与加载applet相同的服务器上。是否有可能我用来访问Web服务的wsimport生成的类正在做我不知道的事情?
很高兴我找到了一份工作,不高兴我不明白为什么。
任何想法或启示都会很棒。
由于