3

我在 JBOSS AS7 上使用 ProcessBuilder 来运行外部 JAR,然后调用 Endpoint.publish() 来创建 JAX-WS Web 服务。之后我使用有状态 bean 来访问 Web 服务。

服务本身运行良好,我通过 wsimport 导入了 WS-client 代理类,并且可以通过浏览器或 soapUI 访问 WSDL。但是当我尝试访问服务器上的 Web 服务时,JBOSS 输出“连接被拒绝”。我什至尝试过调试模式,但没有收集任何有用的消息。

我已经禁用了防火墙但没有骰子:

 javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'http://localhost:4045/WebService/WebMethod?WSDL'.: java.net.ConnectException: Connection refused: connect

系统:JBOSS AS7.1.0.Alpha2, Windows, localhost

jboss日志:

08:26:01,572 ERROR [stderr] (http--127.0.0.1-8080-1) javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.

08:26:01,573 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149)

08:26:01,574 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.jboss.wsf.stack.cxf.client.ProviderImpl.createServiceDelegate(ProviderImpl.java:141)

08:26:01,574 ERROR [stderr] (http--127.0.0.1-8080-1)    at javax.xml.ws.Service.<init>(Service.java:57)

...

08:26:01,603 ERROR [stderr] (http--127.0.0.1-8080-1) Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.

08:26:01,603 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:94)

08:26:01,603 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:203)

08:26:01,603 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)

08:26:01,603 ERROR [stderr] (http--127.0.0.1-8080-1)    ... 158 more

08:26:01,604 ERROR [stderr] (http--127.0.0.1-8080-1) Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'http://localhost:4045/WebService/WebMethod?WSDL'.: java.net.ConnectException: Connection refused: connect

08:26:01,604 ERROR [stderr] (http--127.0.0.1-8080-1)    at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)

08:26:01,605 ERROR [stderr] (http--127.0.0.1-8080-1)    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)

08:26:01,605 ERROR [stderr] (http--127.0.0.1-8080-1)    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)

08:26:01,605 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:239)

08:26:01,605 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:186)

08:26:01,605 ERROR [stderr] (http--127.0.0.1-8080-1)    at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:92)

08:26:01,605 ERROR [stderr] (http--127.0.0.1-8080-1)    ... 160 more

08:26:01,606 ERROR [stderr] (http--127.0.0.1-8080-1) Caused by: java.net.ConnectException: Connection refused: connect

...

4

2 回答 2

1

尝试通过在文件 run.bat 中添加属性 -b 0.0.0.0 来运行 Jboss 服务器,如下所示:

standalone.bat -b 0.0.0.0
于 2014-04-22T08:12:35.970 回答
0

请参阅Stephen84s 的回答:

您需要在您的系统上运行一个回显服务器,该服务器由大多数 UNIX 机器提供并在 7 号端口上运行。

并且来自同一个来源

要检查你的 Vista 盒子是否有一个正在运行,只需点击 telnet localhost 7 ,如果它显示连接被拒绝或无法连接,那么这意味着你的盒子没有回显服务器,因此你的程序将无法运行,这就是我觉得的原因对于您的 ConnectException 异常。

您提到您关闭了防火墙。那么,你一定是端口错了。尝试将您的软件作为 localhost 运行,例如到端口 4000:

echoSocket = new Socket("localhost", 4000);
于 2011-11-02T21:30:28.597 回答