2012-07-12 5 views
0

대기열을 구독하고 일괄 처리를 위해 메시지 상자의 메시지를 읽으려는 경우 WSO2 Carbon MessageBox (SQS)에서 작업하고 있습니다.수신 메시지의 wso2 carbon messagebox : 사용자의 비밀을 얻지 못했습니다.

과 같은 몇 가지 유용한 튜토리얼이 있습니다

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

그리고 지역 WSO2 ESB 인스턴스에 메시지 박스에 연결하려고 할 때 성공적으로 노력하고 있습니다.

그러나 원격 WSO2 인스턴스에서 동일한 구성으로 MessageBox에서 메시지를 수신하면 오류가 발생합니다.

WSO2 ESB의 로그 메시지입니다.

AuthenticationHandler"ReceiveMessage" 요청이 실패한 것으로 인증되었습니다 (두 번째 로그 메시지).

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

41ca9541e96a077766d2 {org.apache.axis2.engine.AxisEngine} org.apache.axis2.AxisFault : org.wso2.carbon.messagebox.sqs에서 사용자 41ca9541e96a077766d2의 비밀 ID를 얻을 수 실패 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 t 조직에서 org.apache.axis2.transport.http.AxisServlet.doPost (AxisServlet.java:146) 에서 org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest (HTTPTransportUtils.java:172) . hsopServlet.service (HttpServlet.java:641) at java : 722 at ) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest (ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias ​​(ProxyServlet.java : 111) at org.eclipse.equinox.ht org.wso2.carbon.bridge.BridgeServlet.service (BridgeServlet.service). 자바 : 164) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:304에서 javax.servlet.http.HttpServlet.service (HttpServlet.java:722))에서 org.apache.catalina에서 org.apache.catalina.core.StandardContextValve.invoke에서 .core.ApplicationFilterChain.doFilter org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:240)에서 (ApplicationFilterChain.java:210) (StandardContextValve .java : 164) 에서 org.apache.catalina.valves에서 51,515,org.apache.catalina.authenticator.AuthenticatorBase.invoke org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:164)에서 (AuthenticatorBase.java:462) .ErrorReportValve.invoke (ErrorReportValve.java:100) at org.wso2.carbon.server. org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java에서 org.wso2.carbon.server.TomcatServer $ 1.invoke (TomcatServer.java:254) 에서 CarbonStuckThreadDetectionValve.invoke (CarbonStuckThreadDetectionValve.java:154) : 563 org.apache에서 org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:399 AT) org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118에서 ) ) .coyote.http11.Http11NioProcessor.process (Http11NioProcessor.java:396)에서 org.apache.coyote.http11.Http11NioProtocol $ Http11ConnectionHandler.process (Http11NioProtocol.java:356) 에서 있는 java.util에서 java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:886) 에서 0 org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run (NioEndpoint.java:1534) java.lang.Thread.run에서 .concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908) (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] IP 주소에서 {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil

,

내가 뭔가 잘못하고 있거나 특정 구성을 수행해야합니까?

답변

0

원격 컴퓨터의 메시지 상자에 http 요청에 SQS 사양에 지정된 인증 헤더가 있어야합니다. 이것은 사용자 이름 및 비밀 ID와 함께 유효한 요청을 보내지 않은 것처럼 보입니다. 또한 sqs : //는 로컬 환경에서만 작동합니다.

+0

음, 인증을하고 sqs 키를 읽을 수 있습니다. 샘플 코드에서와 같이 accessKeyId, 타임 스탬프 및 서명을 넣을 것입니다. 연결을 위해 WS02 관리 콘솔에 표시되는 URL 인 sqs : //을 사용하지 않았습니다. https : // : 9443/services/MessageQueue/admin/test 매개 변수가 잘못되었을 수 있습니다. 또는 누락? –

관련 문제