axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas, Berlinghoff (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-969) Missing xsi:type in SOAP-Message
Date Tue, 19 Sep 2006 21:20:24 GMT
    [ http://issues.apache.org/jira/browse/AXIS2-969?page=comments#action_12436012 ] 
            
Thomas, Berlinghoff commented on AXIS2-969:
-------------------------------------------

Hi all,
just captured the data send/received through my network interface and found out that, if using
a derived type, the "xsi:type" attribute is used within requests from the client, but not
in the response of the service. Furthermose the type, specified through the "xsi:type" attribute,
is prefixed by a namespace, which makes it not understandable by the service (if using desirees
workaround the type is not prefixed and this works):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
<soapenv:Body>
	<Parent xmlns="http://orchestra-eu.org/tests/inheritance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:type="inh:Child">
		<myInt_1>2</myInt_1>
		<myInt_2>3</myInt_2>
	</Parent>
</soapenv:Body>
</soapenv:Envelope>

The code I've used has a simple operation called "getSomething" taking the type "Parent" as
input as well as return type. "Child" is a type derived from "Parent" (I've choosed the naming
for simplifying the test).

So in my eyes there're two bugs to fix:

1. The "xsi:type" attribute shall also be used in the service reponse, not only in the clients
request.
2. The type specified by "xsi:type" shall not be prefixed by any namespace abbreviations.

Hope this info helps to fix this bug.

Cheers,

Thomas

> Missing xsi:type in SOAP-Message
> --------------------------------
>
>                 Key: AXIS2-969
>                 URL: http://issues.apache.org/jira/browse/AXIS2-969
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.0
>         Environment: Windows XP Professional, Tomcat 5.5, Axis2 1.0 and nightly snapshot
from 3rd August 2006
>            Reporter: Desiree Hilbring
>         Attachments: delivery060803-2.xsd, GMLSFClient.java, GMLSFE060803.wsdl, GMLSFESkeleton.java
>
>
> I am trying to create an working inheritance example with Axis2. In the attached example
case
> OAMIFASCapabilitiesType is derived from OAMIServiceSpecificCapabilities.
> To recognize the inheritance the client needs the xsi:type in the SOAP message, but
> it is missing.
> The example will work outcommenting the following lines in GMLSFESkeleton:
> XmlCursor cur = resp.getOAGetMetaInformationResponse().getFeatureMetaInformation().getOAMIServiceSpecificCapabilities().newCursor();
> cur.toFirstChild();
> cur.insertAttributeWithValue("type",
>     "http://www.w3.org/2001/XMLSchema-instance",
>     "OAMIFASCapabilitiesType");    		
>     cur.dispose();
>     
> Why is the xsi:type not sent?
> Davanum Srinivas advised my to try the latest nightly snapshot, which is the one from
3rd August 2006. Unforunately I do have another
> issue with that version, trying to create the code with WSDL2Java. I'll get the following
exceptions in the created GMLSFEStub.java:
>    [javac] Compiling 225 source files to C:\hilbring\EclipseWTP\GMLSFE\classes
>     [javac] C:\hilbring\EclipseWTP\GMLSFE\output\src\org\example\types\GMLSFEStub.java:142:
toEnvelope(org.apache.axiom.soap.SOAPFactory) in org.example.types.GMLSFEStub cannot be applied
to (org.apache.axiom.soap.SOAPFactory,orchestra.oas.building.BuildingStringDocument,boolean)
>     [javac] env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
>     [javac] ^
>     [javac] C:\hilbring\EclipseWTP\GMLSFE\output\src\org\example\types\GMLSFEStub.java:247:
toEnvelope(org.apache.axiom.soap.SOAPFactory) in org.example.types.GMLSFEStub cannot be applied
to (org.apache.axiom.soap.SOAPFactory,orchestra.oas.building.BuildingStringDocument,boolean)
>     [javac] env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
>     [javac] ^

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message