[ 
https://issues.apache.org/jira/browse/AXIOM-114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Veithen updated AXIOM-114:
----------------------------------

    Fix Version/s:     (was: 1.2.12)
                   1.2.13

> Soap envelope rpc-encoded namespace issue 
> ------------------------------------------
>
>                 Key: AXIOM-114
>                 URL: https://issues.apache.org/jira/browse/AXIOM-114
>             Project: Axiom
>          Issue Type: Bug
>    Affects Versions: 1.2.8
>         Environment: java 1.6
>            Reporter: Luca Cavanna
>             Fix For: 1.2.13
>
>         Attachments: AxiomSoapRpcEncoded.java, 
> AxiomSoapRpcEncodedOMSource.java, soaprequest.xml
>
>
> I have replaced saaj with axiom in my projects to manage soap handling.
> I have an rpc-encoded soap envelope containing the declarations of soapenv 
> (xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";) and xsi 
> (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";) namespaces. 
> The first element of the soap body references soapenv in one of his 
> attributes 
> (soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";). Some xml 
> elements in the soap body reference the xsi namespace 
> (xsi:type="soapenc:string") as well.
> When I try to parse the soap body (extracted from the soap envelope) using 
> JDOM or DOM4J I get a SaxParseException because the soapenv and xsi 
> namespaces are not bound:
> org.xml.sax.SAXParseException: The prefix "soapenv" for attribute 
> "soapenv:encodingStyle" associated with an element type "ns1:sendMessage" is 
> not bound.
> Saaj handles correctly the soapenv and and xsi declarations moving them in 
> the soap body; with axiom the soap body contain only the reference to those 
> namespaces and not the declarations.
> The issue seems to be creating a StAXSource from Axiom payload element 
> (obtained by calling 
> axiomSoapMessage.getSOAPEnvelope().getBody().getFirstElement()); serializing 
> payload calling serialize method namespace are correctly handled, but
> creating a StAXSource using XMLStreamReader and transforming it to a 
> StreamResult I get an xml not parseable because namespaces are not bound.
> I have found a workaround transforming the StAXSource in a JDOMResult.
> The problem rises when you create a StAXSource from an Axiom payload element 
> (calling axiomSoapMessage.getSOAPEnvelope().getBody().getFirstElement()). 
> When you call the serialize method, namespaces are correctly handled; but if 
> you create a StAXSource using an XMLStreamReader and try to transform it to a 
> StreamResult you get the SaxParseException mentioned above.
> I have found a workaround transforming the StAXSource in a JDOMResult.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ws.apache.org
For additional commands, e-mail: dev-h...@ws.apache.org

Reply via email to