2012-07-12 58 views
0

我正在研究WSO2 Carbon消息框(SQS)以订阅队列,然后从消息箱中读取消息进行批处理。wso2碳信息箱接收消息:未能得到它的用户

还有像一些有用的教程:

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

,并试图连接到本地WSO2 ESB实例一个消息时,他们成功地工作。

但是,当从远程WSO2实例上的相同配置的MessageBox接收消息时,它将失败。

这些是WSO2 ESB上的日志消息。

身份验证看起来没问题(第二条日志消息),但"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获得的用户41ca9541e96​​a077766d2秘密ID .internal.module.AuthenticationHandler.invoke(AuthenticationHandler.java:80) at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)at org.apache.axis2.engine.Phase.invoke(Phase .java:313)at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)a吨 org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) 在 org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) 在 有机wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:199) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:641)在 javax.servlet.http.HttpServlet.service(的HttpServlet。的java:722)在 org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) 在 org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java :111) at org.eclipse.equinox.ht tp.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) 在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) at 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) at org.wso2.carbon.server。CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:154) 在org.wso2.carbon.server.TomcatServer $ 1.invoke(TomcatServer.java:254) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: 563) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) 在 org.apache .coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396) 处 org.apache.coyote.http11.Http11NioProtocol $ Http11ConnectionHandler.process(Http11NioProtocol.java:356) 0 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)

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

'管理员' 登录在[2012-07-12 09:49:19,0401] from IP address {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil

我做错了什么或需要做一些特定的配置?

回答

0

如果您的消息框在远程计算机上,那么您的http请求应具有由SQS规范指定的身份验证标头。这似乎是你没有发送一个有效的请求与用户名和密码。 sqs://也只能在本地环境中工作。

+0

嗯,我可以进行身份​​验证并读取sqs密钥。 我把AccessKeyId,时间戳和签名完全按照它在示例代码中。对于连接,我没有使用sqs://,显示在WSO2管理控制台上的URL,如: https:// :9443/services/MessageQueue/admin/test 哪些参数可能无效或失踪? – 2012-07-12 11:38:40