gpt4 book ai didi

web-services - 如何配置 WSO2 ESB 4.0.3 以使用公司代理访问外部 Web 服务(通过 HTTP)

转载 作者:行者123 更新时间:2023-12-04 05:57:48 25 4
gpt4 key购买 nike

我正在尝试使用 WSO2 ESB 4.0.3 访问外部 Web 服务(Intranet 之外)但我不知道如何配置代理让请求出去。我可以毫无问题地从我的基本 Java 客户端应用程序通过 HTTP 发送 SOAP 消息;我可以使用 Apache HttpComponents 指定代理详细信息.所以,连接细节没问题。

我试过:

  • 编辑 <transportSender name="http" ... >并指定参数,如 "http.proxyHost""http.proxyPort" .
  • 设置全局参数 <parameter name="Proxy"> ...
  • 配置 HTTP 传输发送方 并指定适当的参数。

  • 我得到的最好的是:
     ERROR_CODE = 101503, ERROR_MESSAGE = Connection refused or failed for : ...

    那么,我做错了什么,我应该怎么做?谢谢。

    最佳答案

    您的代理服务器是否有任何身份验证?如果是并且它使用基本身份验证,则您需要在发送请求之前指定以下属性。

    <property name="Proxy-Authorization" expression="fn:concat('Basic', base64Encode('userName:password'))" scope="transport"/>
    <property name="POST_TO_URI" value="true" scope="axis2"/>

    第一个属性按照 HTTP 基本身份验证的预期使用 base64 编码的用户名和密码设置代理授权 HTTP 传输 header 。

    第二个属性使传出 URL 成为代理服务器可以理解的完整 URL。

    以下是一个示例代理配置...
    <proxy name="StockQuoteProxy" startOnLoad="true">
    <target>
    <inSequence>
    <property name="Proxy-Authorization" expression="fn:concat('Basic ', base64Encode('udayanga:test123'))" scope="transport"/>
    <property name="POST_TO_URI" value="true" scope="axis2"/>
    <send>
    <endpoint>
    <address uri="http://www.wso2.com:9000/services/SimpleStockQuoteService"/>
    </endpoint>
    </send>
    </inSequence>
    <outSequence>
    <send/>
    </outSequence>
    </target>
    <publishWSDL uri="file:repository/samples/resources/proxy/sample_proxy_1.wsdl"/>
    </proxy>

    关于web-services - 如何配置 WSO2 ESB 4.0.3 以使用公司代理访问外部 Web 服务(通过 HTTP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311257/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com