axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cristian Opincaru" <cristian.opinc...@gmail.com>
Subject org.w3c.Documnet <-> SOAPEnvelope
Date Fri, 09 Jun 2006 09:14:04 GMT
Hi,

I want to use WSS4J to do some encryption / decryption with SOAP and for
this I have to convert the SOPA message in DOM (the WSS4J API does all
processing with Document objects). After using the WSS4J routines, I must
convert the message from Document back to SOAPEnvelope, and this is where my
problems start.

I googled a bit, and ended up with two ways of doing this. This one is:

public static SOAPMessage toSOAPMessage(Document doc) throws Exception {
        Canonicalizer c14n =
                Canonicalizer.getInstance(
Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
        byte[] canonicalMessage = c14n.canonicalizeSubtree(doc);
        ByteArrayInputStream in = new
ByteArrayInputStream(canonicalMessage);
        factory = org.apache.axis.soap.MessageFactoryImpl.newInstance();
        return (SOAPMessage) factory.createMessage(null, in);
    }
This is where the AXIS classes are used (I guess).

The second one is:

   public static SOAPMessage toSOAPMessage(Document doc) throws Exception {
        MessageFactory factory = MessageFactory.newInstance();
        SOAPMessage m = (SOAPMessage) factory.createMessage();
        m.getSOAPPart().setContent(new DOMSource(doc));
        return m;
    }

This is where the SUN implementetion is used (aganin, not really sure).

Anyway, both seem to work in some cases, while in others I get some wierd
SAX Exceptions (like documents must start and end with the same entity).

Since I assume this is a pretty standard thingm, can anyone indicate me
how's the right way to do it? Also I think there might be a problem because
of the libraries that I'm using (perhaps I'm using the wrong versions / or
simply mixing SOAP implementations). Can anyone tell me what libraries (and
versions) I should use in order to avoid problems?

Thanks!
Cristian


-- 
Cristian OPINCARU
University of the Federal Armed Forces Munich
http://www.unibw.de/cristian.opincaru

Mime
View raw message