0

キューをサブスクライブし、バッチ処理のためにメッセージボックスからメッセージを読み取るために、WSO2 Carbon MessageBox(SQS) に取り組んでいます。

次のような便利なチュートリアルがいくつかあります。

http://wso2.org/project/message-broker/1.0.2/docs/samples/messagebox_as_event_sink.html

また、ローカルの WSO2 ESB インスタンスで MessageBox に接続しようとすると、正常に動作しています。

ただし、リモート WSO2 インスタンスで同じ構成の MessageBox からメッセージを受信すると失敗します。

これらは WSO2 ESB のログ メッセージです。

認証は問題ないように見えますが (2 番目のログ メッセージ)、"ReceiveMessage"要求が で失敗していAuthenticationHandlerます。

TID: [] [WSO2 ESB] [2012-07-12 09:49:19,597] ERROR {org.apache.axis2.engine.AxisEngine} - Failed to get secret id of user

41ca9541e96​​a077766d2 {org.apache.axis2.engine.AxisEngine}org.apache.axis2.AxisFault: org.wso2.carbon.messagebox.sqs.internal.module.AuthenticationHandler.invoke(AuthenticationHandler.java でユーザー 41ca9541e96​​a077766d2 のシークレット ID を取得できませんでした:80) org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) で org.apache.axis2.engine.Phase.invoke(Phase.java:313) で org.apache.axis2.engine. org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168) の AxisEngine.invoke(AxisEngine.java:262) org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) のorg.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) で org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:199) で javax.servlet.http.HttpServlet .service(HttpServlet.java:641) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) で javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.eclipse.equinox.http で.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) at javax.servlet.http.HttpServlet.service(HttpServlet) .java:722) の org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:164) の javax.servlet.http.HttpServlet.service(HttpServlet.java:722) の org.apache.catalina.core. ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) で org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) で org.apache.catalina.core .StandardHostValve.invoke(StandardHostValve.java:164) で org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) で org.wso2.carbon.server.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:154) でorg.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:254) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java: 1534) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) で java.lang.Thread.run(Thread) .java:662)908) java.lang.Thread.run(Thread.java:662) で908) java.lang.Thread.run(Thread.java:662) で

 TID: [] [WSO2 ESB] [2012-07-12 09:49:19,401] INFO {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} -

'admin' が IP アドレス {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil から [2012-07-12 09:49:19,0401] にログインしました

何か間違ったことをしていますか、それとも特定の構成を行う必要がありますか?

4

1 に答える 1

0

メッセージ ボックスがリモート マシンにある場合、HTTP 要求には SQS 仕様で指定された認証ヘッダーが必要です。これは、ユーザー名とシークレット ID を含む有効なリクエストを送信していないようです。また、sqs:// はローカル環境でのみ機能します。

于 2012-07-12T11:24:21.137 に答える