2

WSO2 ESB 4.0.3を使用して外部 Web サービス (イントラネットの外部) にアクセスしようとしていますが、要求を外部に送信できるようにプロキシを構成する方法がわかりません。基本的な Java クライアント アプリから問題なく HTTP 経由で SOAP メッセージを送信できます。Apache HttpComponentsを使用してプロキシの詳細を指定できます。したがって、接続の詳細は問題ありません。

私は試した:

  1. <transportSender name="http" ... >や などのパラメータの編集"http.proxyHost"と指定"http.proxyPort"

  2. グローバル パラメータの設定<parameter name="Proxy"> ...

  3. HTTP Transport Senderを構成し、適切なパラメーターを指定します。

私が得た最高のものは次のとおりです。

 ERROR_CODE = 101503, ERROR_MESSAGE = Connection refused or failed for : ...

それで、私は何を間違えましたか、代わりに何をすべきですか?ありがとう。

4

1 に答える 1

3

プロキシ サーバーに認証機能はありますか? はい、基本認証を使用する場合は、リクエストを送信する前に次のプロパティを指定する必要があります。

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

最初のプロパティは、HTTP 基本認証で期待されるように、base64 でエンコードされたユーザー名とパスワードを使用して Proxy-Authorization HTTP トランスポート ヘッダーを設定します。

2 番目のプロパティは、発信 URL を Proxy Server が理解できる完全な 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>
于 2012-02-18T06:03:59.537 に答える