Hi!!! maybe some one of you can help me,
I have a client using axis 1.1 and the class SignedSOAPEnvelope is using DeserializationContextImpl and SerializationContextImpl. This client is working fine, and the generated message is like:
<soapenv:Envelope soapenv:actor="some-uri" soapenv:mustUnderstand="1" xmlns:SOAP-SEC="http://schemas.xmlsoap.org/soap/security/2000-12 " xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<SOAP-SEC:Signature>
<ds:Signature xmlns:ds=" http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm=" http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1 " />
<ds:Reference URI="#Body">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1 " />
<ds:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>g3BAZALcxi0rUOcoIpNMCyohtH5X+hn+kFJ3h6zwce3OOT9nCh0oPw==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
<ds:KeyValue>
<ds:DSAKeyValue>
<ds:P>...</ds:P>
<ds:Q>...</ds:Q>
<ds:G>...</ds:G>
<ds:Y>...</ds:Y>
</ds:DSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
</ds:Signature>
</SOAP-SEC:Signature>
</soapenv:Header>
<soapenv:Body>
<ns1:putXMLDocument soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1=" https://bel.bci.cl/WsBEL/services/Carga">
<string xsi:type="xsd:string">...</string>
</ns1:putXMLDocument>
</soapenv:Body>
</soapenv:Envelope>
With this message i receive a correct response from the server.
But now, i am migrating the client to axis 1.4 and now i have to use DeserializationContext and SerializationContext on my SignedSOAPEnvelope, but the message is different:
<soapenv:Envelope soapenv:actor="some-uri" soapenv:mustUnderstand="1" xmlns:SOAP-SEC="http://schemas.xmlsoap.org/soap/security/2000-12 " xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<SOAP-SEC:Signature>
<ds:Signature xmlns:ds=" http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm=" http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1 " />
<ds:Reference URI="#Body">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1 " />
<ds:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>g3BAZALcxi0rUOcoIpNMCyohtH5X+hn+kFJ3h6zwce3OOT9nCh0oPw==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
<ds:KeyValue>
<ds:DSAKeyValue>
<ds:P>...</ds:P>
<ds:Q>...</ds:Q>
<ds:G>...</ds:G>
<ds:Y>...</ds:Y>
</ds:DSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
</ds:Signature>
</SOAP-SEC:Signature>
</soapenv:Header>
<soapenv:Body>
<ns1:putXMLDocument soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ " xmlns:ns1="https://bel.bci.cl/WsBEL/services/Carga">
<string xsi:type="xsd:string">...</string>
</ns1:putXMLDocument>
</soapenv:Body>
</soapenv:Envelope>
I am using the same call implementation:
call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(endpoint.getEndpoint ()));
call.setOperationName(new QName(endpoint.getEndpoint(), endpoint.getPort()));
call.addParameter("string", Constants.XSD_STRING, ParameterMode.IN);
call.setReturnType(Constants.XSD_STRING );
call.invoke(endpoint.getInParameters());
MessageContext mc = call.getMessageContext();
Message request = mc.getRequestMessage();
SOAPEnvelope env = request.getSOAPEnvelope();
env = new SignedSOAPEnvelope(env, "http://xml-security");
Object ret = call.invoke(env);
But using axis 1.4 i get from the server this:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement (DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch (Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java :435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine (Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:1910)
at wcorp.model.ws.empresas.WSTransporte.invokeSSL2(WSTransporte.java:126)
at wcorp.model.ws.empresas.WSTransporte.send(WSTransporte.java:100)
at wcorp.model.ws.empresas.WSBciEndPoint.send(WSBciEndPoint.java:51)
at wcorp.model.ws.empresas.CargaXml.send(CargaXml.java:58)
at wcorp.model.ws.empresas.FacadeServiciosBci.enviarCarga(FacadeServiciosBci.java:49)
at wcorp.model.ws.empresas.FacadeServiciosBci.enviarCarga(FacadeServiciosBci.java:60)
at TestService.main(TestService.java:28)
{http://xml.apache.org/axis/}hostname:neoris-bci
java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault (SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch (Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java :435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine (Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:1910)
at wcorp.model.ws.empresas.WSTransporte.invokeSSL2(WSTransporte.java:126)
at wcorp.model.ws.empresas.WSTransporte.send(WSTransporte.java:100)
at wcorp.model.ws.empresas.WSBciEndPoint.send(WSBciEndPoint.java:51)
at wcorp.model.ws.empresas.CargaXml.send(CargaXml.java:58)
at wcorp.model.ws.empresas.FacadeServiciosBci.enviarCarga(FacadeServiciosBci.java:49)
at wcorp.model.ws.empresas.FacadeServiciosBci.enviarCarga(FacadeServiciosBci.java:60)
at TestService.main(TestService.java:28)
wcorp.model.ws.empresas.exception.EnvioException: Error al invocar el servicio https://bel.bci.cl/WsBEL/services/Carga
at wcorp.model.ws.empresas.WSTransporte.invokeSSL2 (WSTransporte.java:129)
at wcorp.model.ws.empresas.WSTransporte.send(WSTransporte.java:100)
at wcorp.model.ws.empresas.WSBciEndPoint.send(WSBciEndPoint.java:51)
at wcorp.model.ws.empresas.CargaXml.send (CargaXml.java:58)
at wcorp.model.ws.empresas.FacadeServiciosBci.enviarCarga(FacadeServiciosBci.java:49)
at wcorp.model.ws.empresas.FacadeServiciosBci.enviarCarga(FacadeServiciosBci.java:60)
at TestService.main (TestService.java:28)
Caused by: java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java :129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement (Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java :227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java :62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke (Call.java:1910)
at wcorp.model.ws.empresas.WSTransporte.invokeSSL2(WSTransporte.java:126)
... 6 more
Exception in thread "main"
Este documento puede incluir información confidencial y propiedad de Neoris y deberá ser leído sólamente por la o las personas a quienes está dirijido. Si usted ha recibido este mensaje por error, por favor avise inmediatemente al remitente contestando y eliminando este correo. Cualquier punto de vista u opiniones expresadas en este mensaje son del remitente y no necesariamente coinciden con aquellas de Neoris. Este documento no deberá ser reproducido, copiado, distribuido, publicado, ni modificado por terceros sin la autorización por escrito de Neoris.
Este mensaje ha sido verificado contra virus. Visítenos en www.neoris.com.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
