调用wsdl URL的Java代码获得了连接超时,但使用SOAP UI调用相同的wsdl URL没有问题
我有一个wsdl URL调用https://example.com/servicetokenprovider.asmx,如果我使用SOAPUI调用这个URL,一切都会顺利进行
但是如果我使用java代码调用这个URL,下面是代码片段
//Soap调用web服务
URL url = new URL(soapCallURL);
ServiceTokenProviderSoapStub stubToken = (ServiceTokenProviderSoapStub) new ServiceTokenProviderLocator()
.getServiceTokenProviderSoap(url);
// Initiate variables headers
HeaderAccountMapping headerMapping = new HeaderAccountMapping();
try {
File f = new File(session_property);
Path path = Paths.get(session_property);
if (!Files.isDirectory(path.getParent()))
Files.createDirectories(path.getParent());
if(!f.exists())
f.createNewFile();
// create property file
Properties props = new Properties();
FileOutputStream fos = new FileOutputStream(session_property);
stubToken.setTimeout(8000);
// Get the session value and User ID
headerMapping.setSessionKeyValue(
stubToken.getSessionIdentifier(sessionApplication, sessionUserName, sessionPassword).getSessionKey());
headerMapping.setUserIdValue(
Integer.toString(stubToken.getSessionIdentifier(sessionApplication, sessionUserName, sessionPassword).getUserID()));
// set the session value and User ID
props.setProperty("sessionKey", headerMapping.getSessionKeyValue());
props.setProperty("userID", headerMapping.getUserIdValue());
// writing properites into properties file from Java
props.store(fos, "Properties file generated from Java program");
fos.close();
我得到了以下例外:
ERROR 2021-06-05 13:24:19,884 [[Collabria].GetSessionValueUserID.stage1.02] WebServiceClient.GetSessionToken: [Ljava.lang.StackTraceElement;@1c4d3f2d
org.apache.axis.AxisFault: ; nested exception is:
java.net.ConnectException: Connection timed out: connect
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) ~[axis.jar:?]
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154) ~[axis.jar:?]
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) ~[axis.jar:?]
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) ~[axis.jar:?]
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) ~[axis.jar:?]
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) ~[axis.jar:?]
at org.apache.axis.client.Call.invokeEngine(Call.java:2784) ~[axis.jar:?]
at org.apache.axis.client.Call.invoke(Call.java:2767) ~[axis.jar:?]
at org.apache.axis.client.Call.invoke(Call.java:2443) ~[axis.jar:?]
at org.apache.axis.client.Call.invoke(Call.java:2366) ~[axis.jar:?]
at org.apache.axis.client.Call.invoke(Call.java:1812) ~[axis.jar:?]
是我做错了什么吗?因为这部分代码我一个月都没改。。最后一次有效是上个月底
# 1 楼答案
确认这是防火墙问题,一旦他们把所有问题都解决了,就会将其列入白名单