You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2010/03/25 00:11:27 UTC

[jira] Resolved: (WSCOMMONS-414) Namespace issue in SOAP message generated

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

Andreas Veithen resolved WSCOMMONS-414.
---------------------------------------

    Resolution: Fixed

I believe that this issue is fixed in the trunk. Reason:

isSetPrefixBeforeStartElement was used to work around a non-conformance in early versions of XLXP-J. However, up to version 1.2.8, Axiom assumed that behavior by default and only disabled it for some well known StAX parsers (Woodstox, SJSXP and BEA if I remember correctly). Since XLXP-J is the only parser known to have this problem, we changed the Axiom so that it now assumes by default that the parser conforms to the StAX specs and only uses the workaround for the affected versions of XLXP-J.

What happened in the incident described here is that Axiom didn't identify the StAX implementation and switched to the non compliant behavior, resulting in incorrect namespace declarations.

> Namespace issue in SOAP message generated
> -----------------------------------------
>
>                 Key: WSCOMMONS-414
>                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-414
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>         Environment: Windown XP, Sun JVM 1.5.0_10
>            Reporter: Krishna
>            Assignee: Andreas Veithen
>             Fix For: Axiom 1.2.9
>
>
> I am facing an issue with SOAP message generated by AXIS.
>  
> We have a SOAP request, which when we build and log it, gets logged as:
>  
> <OurService xmlns="http://www.somthing.com/ournamespace" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
>   <param1>
>     <arr:string>1</arr:string>
>     <arr:string>2</arr:string>
>   </param1>
>   <param2>ABC</param2>
> </OurService>
>  
> This is proper. But, when it is sent on the wire, it gets sent as:
>  
> <OurService xmlns="http://www.somthing.com/ournamespace">
>   <param1>
>     <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">1</string>
>     <string>2</string>
>   </param1>
>   <param2>ABC</param2>
> </OurService>
>  
> Note that the xmlns declaration for http://schemas.microsoft.com/2003/10/Serialization/Arrays happens only once - for the first child inside param1, instead of happening on each of them. 
>  
> I could trace it to OMSerializerUtil, where it is considering a namespace declaration generated at the sibling level as a namespace already written and hence need not be written again. 
> I already searched the net and the bugs in Axis and Axiom, but could not get to anything that resembles this behavior. So, logging it as a bug, as it looks like we have stumbled into an issue no one has probably faced before. 
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.