You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Dorner, Thomas" <Th...@t-systems.com> on 2006/12/20 17:58:26 UTC

Problems using Handler - Deserializer!

Hi all,

the situation is very simple - when I start a call.invoke - independent of
using a ...Stub or build up my own Call - I can call my service with
following message:


<?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Body>
         <get_general_connection xsi:type="ns1:PLM_property"
xmlns="urn:omg.org/plm20/services/parameter"
xmlns:ns1="urn:omg.org/plm20/computational/core">
            <item xsi:type="ns1:PLM_property" xmlns="">
               <ns1:Name xsi:type="xsd:string">User</ns1:Name>
               <ns1:Value xsi:type="xsd:string">xxx</ns1:Value>
            </item>
            <item xsi:type="ns1:PLM_property" xmlns="">
               <ns1:Name xsi:type="xsd:string">Password</ns1:Name>
               <ns1:Value xsi:type="xsd:string">xxx</ns1:Value>
            </item>
         </get_general_connection>
      </soapenv:Body>
   </soapenv:Envelope>


It works very well - until I add the WSDoAllSender or another Handler - then
I got the following Message:


   <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Header>
         <wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuri
ty-secext-1.0.xsd" soapenv:actor="security">
            <wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurit
y-utility-1.0.xsd" wsu:Id="UsernameToken-17569463">
	...
            </wsse:UsernameToken>
         </wsse:Security>
      </soapenv:Header>
      <soapenv:Body>
         <get_general_connection
xmlns="urn:omg.org/plm20/services/parameter"
xmlns:ns1="urn:omg.org/plm20/computational/core"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
soapenc:arrayType="ns1:PLM_property[2]" xsi:type="soapenc:Array">
            <item xmlns="" xsi:type="ns1:PLM_property">
               <Name xsi:type="xsd:string">User</Name>
               <Value xsi:type="xsd:string">xxx</Value>
            </item>
            <item xmlns="" xsi:type="ns1:PLM_property">
               <Name xsi:type="xsd:string">Password</Name>
               <Value xsi:type="xsd:string">xxx</Value>
            </item>
         </get_general_connection>
      </soapenv:Body>
   </soapenv:Envelope>0


You can see the namespace is missing at the parameter of the PLM_property -
so I go following exception:

org.xml.sax.SAXException: Invalid element in ....PLM_property - Name

The Server can not deserialize the PLM_property any more.
The Request-Message is already at this state when they reach the Handler!
--> So it is not a fault of the Handler!

Is this a FAULT in Axis-Engine or is it posstible to solve this problem by
setting a property?
I think the Engine should not behave like that!!!

Thank you for Answer in advance

Thomas