有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

调用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) 个答案

  1. # 1 楼答案

    确认这是防火墙问题,一旦他们把所有问题都解决了,就会将其列入白名单