从Applet调用Web Service时的java InvocationTargetException

时间:2011-01-19 18:49:30

标签: java web-services exception

我有一个本地托管的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对浏览器不可用吗?我认为在这种情况下会有一个类未找到异常。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我发现了这个问题,但它给我带来了一个新问题。首先,答案。我需要将我的电话打包到以下网址:

AccessController.doPrivileged(new PrivilegedAction<Object>()
{
  public Object run()
  {
    try
    {
       // Do my stuff here
    }
  }
}

我不明白为什么。我正在调用的Web服务驻留在与加载applet相同的服务器上。是否有可能我用来访问Web服务的wsimport生成的类正在做我不知道的事情?

很高兴我找到了一份工作,不高兴我不明白为什么。

任何想法或启示都会很棒。

由于