Re: XML payload not working in latest nightly build?

Werner Lehmann <[email protected]> Fri, 24 Jun 2005 16:10:21 +0200
Newsgroups gmane.text.xml.soap.user
Message-ID <[email protected]>
Hi Scott,

answers inline below:

Scott Nichol wrote:
> Can you be more specific?
> 
> 1. Are you using the nightly build on the client, server or both?

Both.

> 2. Is this problem the data sent from the client or server?

It is from the server.

> 3. What tool are you using to view the payload?

We are debugging on the client with IBM Websphere and inspecting the 
body with the debugger. There is no implicit XML/string processing.

> 4. Are you using the RPC or messaging API?

RPC.

> 5. Does "XML payload" refer to the whole SOAP message, or
>    just a paramter you are sending?

It is the return value.

Both stable and nightly build deliver this on the client:

  lResponse.getBodyPart(0).getContent().toString() -->

> <?xml version= '1.0' encoding= 'UTF-8' ?>
> <SOAP-ENV:Envelope xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" >
> 
> <SOAP-ENV:Body>
> <ns1:mintGetMainConfigurationAPIResponse xmlns:ns1= "urn:mint:mandator" SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" >
> 
> < return xmlns:ns2= "urn:mint" xsi:type= "ns2:MintResultString" >
> <reasonCode xsi:type= "xsd:string" ></reasonCode>
> <responseTimes xmlns:ns3= "http://schemas.xmlsoap.org/soap/encoding/" xsi:type= "ns3:Array" ns3:arrayType= "xsd:long[2]" >
> <item xsi:type= "xsd:long" >31</item>
> <item xsi:type= "xsd:long" >31</item>
> </responseTimes>
> <returnCode xsi:type= "xsd:int" >0</returnCode>
> <values xmlns:ns4= "http://schemas.xmlsoap.org/soap/encoding/" xsi:type= "ns4:Array" ns4:arrayType= "xsd:string[1]" >
> <item xsi:type= "xsd:string" >&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
> &lt;WEB_MENU VERSION=&quot;1.0&quot;&gt;&lt;WEB_MENU_ITEM title=&quot;WEB_MENU-HOME&quot;&gt;&lt;WEB_MENU_ITEM_USECASE text=&quot;WEB_USE_CASE-WELCOME&quot; image=&quot;IMG-WELCOME&quot; action_id=&quot;1&quot; /&gt;&lt;WEB_MENU_ITEM_USECASE text=&quot;WEB_USE_CASE-MY_RECORDS&quot; image=&quot;IMG-MY_RECORDS&quot; action_id=&quot;2&quot; /&gt;&lt;WEB_MENU_ITEM_USECASE text=&quot;WEB_USE_CASE-MY_SCHEDULE&quot; image=&quot;IMG-MY_SCHEDULE&quot; action_id=&quot;3&quot; /&gt;&lt;/WEB_MENU_ITEM&gt;&lt;WEB_MENU_ITEM title=&quot;WEB_MENU-HUMAN_RESOURCES&quot;&gt;&lt;WEB_MENU_ITEM_USECASE text=&quot;WEB_USE_CASE-EMPLOYEES_AND_CUSTOMERS&quot; image=&quot;IMG-EMPLOYEES_AND_CUSTOMERS&quot; action_id=&quot;4&quot; /&gt;&lt;WEB_MENU_ITEM_USECASE text=&quot;WEB_USE_CASE-RECORDS&quot; image=&quot;IMG-RECORDS&quot; action_id=&quot;5&quot; /&gt;&lt;WEB_MENU_ITEM_USECASE text=&quot;WEB_USE_CASE-QUERY&qu
 ot; image=&quot;IMG-QUERY&quot; action_id=&quot;6&quot; /&gt;&lt;/WEB_MENU_ITEM&gt;&lt;WE
B_MENU_ITEM title=&quot;WEB_MENU-ROOMS_AND_EQUIPMENT&quot;&gt;&lt;WEB_MENU_ITEM_USECASE text=&quot;WEB_USE_CASE-ROOMS_AND_EQUIPMENT&quot; image=&quot;IMG-ROOMS_AND_EQUIPMENT&quot; action_id=&quot;7&quot; /&gt;&lt;/WEB_MENU_ITEM&gt;&lt;WEB_MENU_ITEM title=&quot;WEB_MENU-HELP&quot; /&gt;&lt;/WEB_MENU&gt;
> 
> </item>
> </values>
> </ return >
> </ns1:mintGetMainConfigurationAPIResponse>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope> 

However, when the object is deserialized (JavaBeanDeserializer), the XML 
string looks like this:

>  ?xml version=1.0 encoding=UTF-8?
> WEB_MENU VERSION=1.0WEB_MENU_ITEM title=WEB_MENU-HOMEWEB_MENU_ITEM_USECASE text=WEB_USE_CASE-WELCOME image=IMG-WELCOME action_id=1 /WEB_MENU_ITEM_USECASE text=WEB_USE_CASE-MY_RECORDS image=IMG-MY_RECORDS action_id=2 /WEB_MENU_ITEM_USECASE text=WEB_USE_CASE-MY_SCHEDULE image=IMG-MY_SCHEDULE action_id=3 //WEB_MENU_ITEMWEB_MENU_ITEM title=WEB_MENU-HUMAN_RESOURCESWEB_MENU_ITEM_USECASE text=WEB_USE_CASE-EMPLOYEES_AND_CUSTOMERS image=IMG-EMPLOYEES_AND_CUSTOMERS action_id=4 /WEB_MENU_ITEM_USECASE text=WEB_USE_CASE-RECORDS image=IMG-RECORDS action_id=5 /WEB_MENU_ITEM_USECASE text=WEB_USE_CASE-QUERY image=IMG-QUERY action_id=6 //WEB_MENU_ITEMWEB_MENU_ITEM title=WEB_MENU-ROOMS_AND_EQUIPMENTWEB_MENU_ITEM_USECASE text=WEB_USE_CASE-ROOMS_AND_EQUIPMENT image=IMG-ROOMS_AND_EQUIPMENT action_id=7 //WEB_MENU_ITEMWEB_MENU_ITEM title=WEB_MENU-HELP //WEB_MENU

Somehow SAX refuses to parse this :-)

If we just exchange the nightly build soap.jar (no need to recompile) 
with the prior soap.jar this XML string is correct with angle brackets.

Regards
Werner