调用Axis Webservice异常: java.net.ConnectException: Connection timed out: connect

5/7 更新:网络问题。。。端口不通,然后换了另一个内网。。。


对方有一个测试库和一个正式库,ip地址不一样,用的是同一个wsdl文件(不知道会不会有问题,但对方说是同一个wsdl文件)。对方的正式库也有别人在调用,应该不会有问题。

wsdl文件里下面的ip地址与测试库或正式库的ip都不一样。

<wsdl:service name="XXXService">
<wsdl:port binding="tns:XXXServiceServiceSoapBinding" name="XXXServiceSOAP">
<soap:address location="http://xxx.xxx.xx.xx:8088/ws/XXXService"/>
</wsdl:port>
</wsdl:service>

测试库的ip无法ping通,但是webservice调用成功。

正式库可以ping通,但是webservice调用出现异常,connect time out.

测试库的wsdl在浏览器访问提示有错:

This page contains the following errors:

error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.

而正式库的wsdl文件在浏览器里打不开。

对方说是做了处理,不让其他的人访问,所以我们要调用就给了一个wsdl文件。

客户端是直接在eclipse里通过wsdl文件生成的。调用方法如下:

String endpoint = "XXXService";
XXXServiceProxy proxy = new XXXServiceProxy(endpoint);
try{
    String result = proxy.request();
    System.out.println(result);
}catch(RemoteException e){
    e.printStackTrace();      
}

测试库和正式库只有endpoint里webservice地址的ip不同。

异常如下:

---------------------------------------------------------------------

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode: 
faultString: java.net.ConnectException: Connection timed out: connect
faultActor: 
faultNode: 
faultDetail: 
{http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)

原文地址:https://www.cnblogs.com/skyeyh/p/3710879.html