The current CVS revision has this code
String name = paramEl.getLocalName();
if (name == null)
name = paramEl.getTagName();
Scott Nichol
Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message -----
From: "Christian Landbo (Presys A/S)" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, March 11, 2004 9:47 AM
Subject: Getting tagname incl. namespace pointer mixed up with name of element -> No
deserializer found...
I'm sorry if this has been asked before. I searched the archives for answers
to this but could not find any.
I am new to SOAP but would be surprised if this has not been asked before -
but here goes:
Im using Apache soap version 2.3.1
I have a deserializer mapped to 'someNs:login' but when my Apache SOAP web
service receives the envelope below it reports that a deserializer can't be
found for 'someNs:mrns0:login'. It includes the namespace 'pointer' in the
final soapType.
In the unmarshall(...) method of
org.apache.soap.encoding.soapenc.ParameterSerializer
It says:
String name = paramEl.getTagName(); -- this is 'mrns0:login'
Ought it not be:
String name = paramEl.getLocalName(); -- this is only 'login'
Enclosed envelope:
<soap:Envelope
xmlns:mrns0="someNs"
xmlns:mrns1="someNs:service"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<mrns1:login>
<mrns0:login>
<mrns0:att1 xsi:type="mrns0:cvrtype"></mrns0:att1>
<mrns0:att2 xsi:type="mrns0:pnumbertype"></mrns0:att2>
</mrns0:login>
</mrns1:login>
</soap:Body>
</soap:Envelope>
/Chr