Hi, I have axis.jar (1.2.1) and
saaj-impl.jar(1.3) in a same web application deployed in Tomcat 5.5.17. axis
MessageFactoryImpl (org.apache.axis.soap.MessageFactoryImpl) gets preference
over saaj-impl implementation
(com.sun.xml.messaging.saaj.soap.MessageFactoryImpl) during the run time. I am
facing issues due to this and need to use saaj implementation when I create
SOAP messages. I have no issue in Tomcat 5.0.x and it
uses sun implementation for the same app. Only in Tomcat 5.5.x it is looking
for axis version even if saaj-impl.jar is available. This is how I am creating the signature. Element soapHeaderElement = (Element) ((Element) document .getFirstChild()).getElementsByTagNameNS( "http://schemas.xmlsoap.org/soap/envelope/",
"Header") .item(0); sig = new XMLSignature(document, baseURI, signatureMethod); soapHeaderElement.appendChild(sig.getElement()); As of my understanding I could try in two ways. Either
have saaj-impl message factory implementation loaded or have soap header
available if axis version is getting used. Still I didn’t get any idea
from Tomcat user community for the option 1. If someone could shed any light on this it would be really
helpful. Note: I added a dummy element for the
header in 5.5.17 environment but then I got an error saying “content not
allowed in prolog…” Thank you Nilantha |
- Problem XML encryption and Decryption Ramanathan Palaniappan
- Re: Problem XML encryption and Decryption Milan Tomic
- Re: Problem XML encryption and Decryption Milan Tomic
- SOAP Header is not available for the messages ... Nilantha Jayalath
- Re: SOAP Header is not available for the m... Raul Benito