繁体   English   中英

javax.xml.ws.Service 构造函数不返回

[英]javax.xml.ws.Service constructor does not return

我在部署 Glassfish web 应用程序时遇到问题,该应用程序定期调用 web 服务。 基本上问题似乎是对 javax.xml.ws.Service 的调用似乎永远不会返回。 没有抛出异常。

代码如下所示(对象/变量名称已更改):

  MyService ss = new MyService(wsdlURL, SERVICE_NAME);

where wsdlURL is a URL object for a local WSDL file (have also tried with a remotely hosted WSDL), and SERVICE_NAME is the string with the web service name.

MyService object 的实际构造函数只是在 javax.xml.ws.Service 上调用 super

public class MyService extends Service {
    public MyService(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }
}

在我的开发机器上,这完全符合预期,但在部署中,对 MyService 构造函数的调用永远不会返回。

我正在尝试将其部署在运行在 Red Hat Enterprise Linux 服务器版本 5.6 (Tikanga) 上的 Glassfish v3.1 服务器上。

Java 版本在开发和部署环境上都是 1.6。

有人对这里可能发生的事情有任何想法吗? 没有任何异常使得这很难调试。 我想这可能是一个 WSDL 问题,就好像我理解正确一样,javax.xml.ws.Service 在调用构造函数期间做了一些解释,我想这可能会导致某些事情挂起。 但是,它在我的开发机器上可以正常工作,但在部署服务器上却不能正常工作,这似乎很奇怪。

任何帮助深表感谢!

我有类似的经历,这是因为给定的 URL 无效。

问题可能是因为部署机器上使用了代理。 我遇到了同样的问题,后来发现这是由于代理设置造成的。

在创建 Stub class 之前尝试设置代理,即

 System.setProperty("http.proxyHost", "xxx.x.xx.xx");
 System.setProperty("http.proxyPort", "8080");
 MyService ss = new MyService(wsdlURL, SERVICE_NAME);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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