繁体   English   中英

从Applet调用Web服务时出现java InvocationTargetException

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM