2012-02-16 4 views
2

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

私が試した:

  1. <transportSender name="http" ... >を編集し、"http.proxyHost""http.proxyPort"などのパラメータを指定します。 HTTPトランスポート送信者を設定し、適切なパラメータを指定するグローバルパラメータ<parameter name="Proxy"> ...

  2. の設定

私が得た最高だった:私が間違って何をしたか、そう

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

と私が代わりに何をすべきでしょうか?ありがとう。

+0

あなたは必ず正しいファイルでtransportSenderパラメータを設定you'veされていますか?お使いのESBのバージョンに関するドキュメントページがあります。 https://docs.wso2.com/display/ESB403/HTTP+Basic+Authentication+over+a+Proxy+Server –

答えて

3

あなたのプロキシサーバーには認証がありますか?そうであれば、それはで期待通りに最初のプロパティは、base64でエンコードされたユーザー名とパスワードを使用してプロキシ認証HTTPトランスポート・ヘッダーを設定します

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

..あなたが要求を送信する前にプロパティをfollowoing指定する必要が基本認証を使用しています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> 
+0

申し訳ありませんが、これは私の問題の解決策ではありません。企業プロキシは認証を必要としません。 WSO2サンプルのAxis2サーバーサービスの代わりに 'http:// www.webserviceX.NET/GetQuote'にアクセスしたいと思います。プロキシを指定する簡単な方法(WSO2 ESBが提供するプロキシサービスではない) –

+0

ところで、なぜ '' '' 'または類似の子要素を持つことができませんか? –

関連する問題