Java - Rampart de Axis2

 
Vista:

Rampart de Axis2

Publicado por crisdtm (2 intervenciones) el 22/02/2013 14:23:23
Hola.
Utilizo el módulo Rampart de Axis2.
A la hora de procesar la respuesta retorna:
¿Alguién puede decirme a que es debido?
El mismo jks es utilizado para firmar la petición y lo hace correctamente.
Muchas gracias.

[ERROR] The security token could not be authenticated or authorized
org.apache.axis2.AxisFault: The security token could not be authenticated or authorized
at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:95)
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)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at es.map.www.xml_schemas.CertificadoSubvencionesAyudasStub.peticionSincrona(CertificadoSubvencionesAyudasStub.java:182)
at main.java.services.CorrientePagosImpl.verificarCorrientePagos(CorrientePagosImpl.java:270)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.ws.security.WSSecurityException: The security token could not be authenticated or authorized
at org.apache.ws.security.validate.SignatureTrustValidator.validate(SignatureTrustValidator.java:83)
at org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:173)
at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396)
at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:304)
at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:249)
at org.apache.rampart.RampartEngine.process(RampartEngine.java:149)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
... 35 more
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Rampart de Axis2

Publicado por crisdtm (2 intervenciones) el 25/02/2013 08:06:08
Hola.
Muchas gracias por interesarte en mi problema.

//Creación de la peticion
.....
ServiceClient sc = stub._getServiceClient();
Options options = sc.getOptions();
options.setProperty(RampartMessageData.KEY_RAMPART_POLICY,loadPolicy(ruta_xml));
sc.engageModule("rampart");
//llamada al SW.

A partir de aquí lo realiza el módulo rampar automáticamente.
Firma la cabecera de la petición, realiza la llamada al servicio web y este retorna la respuesta, seguidamente pasa a procesarla el módulo rampart y cuando está verificando la seguridad de la cabecera que contiene la respuesta da el error mostrado anteriormente.
Según me han dicho los responsables del servicio al que llamo, esta respuesta está firmada con la clave pública del certificado con el que yo firmo la petición.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Rampart de Axis2

Publicado por Joaquin (1 intervención) el 11/11/2015 13:21:32
Buenos días,

Ha pasado mucho tiempo de esto, pero tengo el mismo problema y no doy con una solución, ¿consiguió resolverlo?

Gracias
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar