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 bu...@apache.org on 2002/03/20 09:46:51 UTC
DO NOT REPLY [Bug 7269] New: -
Empty ID attributes in responses
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7269>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7269
Empty ID attributes in responses
Summary: Empty ID attributes in responses
Product: Axis
Version: beta-1
Platform: PC
URL: http://www.silbergrau.com
OS/Version: Windows NT/2K
Status: NEW
Severity: Blocker
Priority: Other
Component: Basic Architecture
AssignedTo: axis-dev@xml.apache.org
ReportedBy: pri@silbergrau.com
CC: pri@silbergrau.com
The following case shows a request and response where
the response references elements that do not exists.
Actually the element exist, but it has an empty ID attribute!
Note: This seems to happen whenever AXIS is sending a subclass
of the Type described. In the testcase the method takes a parameter
of TypeA but actual type sent is TypeB.
TYPES:
------
public class TypeA {
private TypeA reference;
}
public class TypeB extends TypeA {
}
Remote method = TypeA passThroughTypeA(TypeA a)
REQUEST ENVELOPE:
-----------------
TypeA a = new TypeA();
TypeA b = new TypeB();
a.setReference(b);
b.setReference(null);
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-enc11="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap-
env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap-
enc12="http://www.w3.org/2001/06/soap-encoding"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:silbergrauSoapExtensions="http://www.silbergrau.com/soap/extensions">
<soap-env:Body>
<ns2:passThroughTypeA xmlns:ns2="TestService">
<param soap-env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:TypeA" id="4"
xmlns:ns3="http://www.silbergrau.com/schemas/encodedTypes">
<reference xsi:type="ns3:TypeB" id="5">
<reference xsi:type="ns3:TypeA" xsi:null="1"
xsi:nil="true"></reference>
</reference>
</param>
</ns2:passThroughTypeA>
</soap-env:Body>
</soap-env:Envelope>
RESPONSE ENVELOPE
-----------------
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:passThroughTypeAResponse SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="TestService">
<passThroughTypeAResult href="#id0"/>
</ns1:passThroughTypeAResponse>
<multiRef id="id0" SOAP-ENC:root="0" xsi:type="ns2:TypeA" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://www.silbergrau.com/schemas/encodedTypes">
<!--
THIS REFERENCES TO THE ACTUAL TypeB ELEMENT
-->
<reference href="#id1"/>
</multiRef>
<!--
THE ELEMENT IS CORRECTLY MARSHALLED, HOWEVER, THE
ID ATTRIBUTE IS EMTPY
-->
<multiRef id="" SOAP-ENC:root="0" xsi:type="ns3:TypeB"
xmlns:ns3="http://www.silbergrau.com/schemas/encodedTypes" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/">
<reference xsi:nil="true"/>
</multiRef>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>