【问题标题】:Request works in SoapUI but does not in Java application请求在 SoapUI 中有效,但在 Java 应用程序中无效
【发布时间】:2017-10-19 06:58:00
【问题描述】:

我在 SoapUI 中有一个项目,我的请求在那里有效,我得到了预期的响应。在我的 Java (Axis2) 代码中,我发送了一个请求,但是这次我收到了这个错误

java.net.SocketTimeoutException: 读取超时。

奇怪的是,我可以将 Java 代码的输出(我正在发送但不起作用)复制到 soapUI 中,并且它可以工作。

我已经研究过诸如增加超时、设置一些不同的属性并寻找soapUI的设置和我的Java代码之间的差异,但我似乎找不到任何东西

是否有人对可能导致此问题的原因有任何想法?我知道这很笼统,但非常感谢任何帮助,谢谢。

【问题讨论】:

    标签: apache web-services soapui axis2 axiom


    【解决方案1】:

    可能存在代理问题。

    您可以使用以下属性在您的 java 应用程序中使用它:

    systemProp.http.proxyPort
    systemProp.http.proxyUser
    systemProp.http.proxyPassword
    systemProp.http.proxyHost
    

    【讨论】:

    • 嗨 Ludo,谢谢。我刚刚查看了 SoapUI 以查看正在使用的代理设置,但它似乎没有使用任何代理设置。你知道找到 SoapUI 正在使用哪些代理设置的方法,所以我可以从中复制并查看是否可以继续?
    • 好的,所以也许您不需要代理设置...您确定要联系 Axis 中的正确端点吗?
    • 是的,无论如何我想。如果端点设置不正确,我能否将请求从我的日志复制到soapUI并成功获得响应?
    • 在soapui 中,您将端点设置在顶部的selectBar 中。我不认为该信息出现在 xml 请求中。你在你的身上看到了吗?您的端点设置在哪里?在你的 WSDL 中?
    • 我想我可以通过使用 _operationClient.getOptions().setProperty(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "endpoint");
    猜你喜欢
    • 2017-05-03
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多