2016-10-25 12 views
0

私の要件は、外部サイトへの安全なWeb要求呼び出しを行い、返されたメッセージを処理することです。この外部Webサイトから基本認証が必要です。プロキシサービスの資格情報を、ここで提案するhttps://docs.wso2.com/display/ESB490/Enabling+HTTP+Basic+Authentication+through+a+Proxy+Serverのような "Proxy-Authorization"プロパティで渡しました。WSO2でHTTPS呼び出しを行う方法ESB

このドキュメントでは、http.proxyHost/http.proxyPortをaxis2.xmlに設定することを提案しています。しかし、私はプロキシサーバーを持っていません。私はこの設定を外すべきですか? localhost:8080のようにhttp.proxyHost/http.proxyPortを設定したとき、ログファイルに次の例外もあります。だから私はセキュリティ保護されたWebサービス呼び出しのためにESBを正しく設定したのだろうか?あなたが提供できるあらゆる助けに感謝します。

TID: [-1234] [] [2016-10-24 13:08:17,471] WARN {org.apache.synapse.FaultHandler} - ERROR_CODE : 0 {org.apache.synapse.FaultHandler} 
TID: [-1234] [] [2016-10-24 13:08:17,471] WARN {org.apache.synapse.FaultHandler} - ERROR_MESSAGE : Cache-Control:private,Content-Length:58,Content-Type:text/html,Date:Mon, 24 Oct 2016 18:09:37 GMT,WWW-Authenticate:BASIC Realm=hostname,X-Frame-Options:SAMEORIGIN,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back {org.apache.synapse.FaultHandler} 
TID: [-1234] [] [2016-10-24 13:08:17,471] WARN {org.apache.synapse.FaultHandler} - ERROR_DETAIL : org.apache.synapse.SynapseException: Cache-Control:private,Content-Length:58,Content-Type:text/html,Date:Mon, 24 Oct 2016 18:09:37 GMT,WWW-Authenticate:BASIC Realm=hostname,X-Frame-Options:SAMEORIGIN,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back 
at org.apache.synapse.core.axis2.Axis2Sender.handleException(Axis2Sender.java:257) 
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:225) 
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531) 
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118) 
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) 
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) 
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) 
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:337) 
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554) 
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188) 
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:261) 
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: org.apache.axis2.AxisFault: Transport out has not been set 
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:432) 
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:222) 
... 14 more 
{org.apache.synapse.FaultHandler} 

答えて

3

WSO2 ESBを使用すると、次のようにプロキシ認証header.Youは、プロキシサービスにAuthorizationヘッダーを設定するには、ヘッダーメディエータを使用することができます設定する必要はありませんファイアウォールの背後ではありませんので。 <header name="Authorization" expression="fn:concat('Basic ',base64Encode('<username>:<password>'))" scope="transport"/>documentationおよびhereで詳細を確認してください。

+0

ありがとうございます!できます。 –

関連する問題