ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AXIOM-114) Soap envelope rpc-encoded namespace issue
Date Thu, 23 Feb 2012 20:10:50 GMT

    [ https://issues.apache.org/jira/browse/AXIOM-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13215003#comment-13215003
] 

Hudson commented on AXIOM-114:
------------------------------

Integrated in ws-axiom-trunk #796 (See [https://builds.apache.org/job/ws-axiom-trunk/796/])
    Refactored the API introduced by AXIOM-114. Adding getXMLStreamReader methods with various
arguments is not going to scale well. Instead, introduced an OMXMLStreamReaderConfiguration
class that can be used to specify advanced options. That class can be extended more easily.

Note that AXIOM-114 has not been included in any release yet, so that we don't need to preserve
the old API. (Revision 1292920)

     Result = SUCCESS
veithen : 
Files : 
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMContainer.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLStreamReaderConfiguration.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMContainerHelper.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java

                
> 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
>            Assignee: Andreas Veithen
>             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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message