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 "Bill Keese (JIRA)" <ax...@ws.apache.org> on 2005/01/31 09:46:19 UTC
[jira] Updated: (AXIS-1547) Document/Literal wrapped response creates wrong SOAP envelope root element in response message.
[ http://issues.apache.org/jira/browse/AXIS-1547?page=history ]
Bill Keese updated AXIS-1547:
-----------------------------
Attachment: array.zip
Here's a testcase for returning arrays from Axis to .NET. (It also tests sending arrays from Axis client) See the readme file for details.
> Document/Literal wrapped response creates wrong SOAP envelope root element in response message.
> -----------------------------------------------------------------------------------------------
>
> Key: AXIS-1547
> URL: http://issues.apache.org/jira/browse/AXIS-1547
> Project: Axis
> Type: Bug
> Components: WSDL processing, Serialization/Deserialization
> Versions: beta-2
> Environment: WSDL, Windows XP, J2EE 1.3
> Reporter: Eric Chijioke
> Attachments: array.zip
>
> I sent this (accidentally) to axis-user list.
> I received a response from Ane Thomas Manes indicating tht I should file this as a bug:
> I am currently using Axis 1.2 beta to expose my web service.
> I am using the document/literal (wrapped) configuration.
>
> The axis server does something that seems strange, and I'm not sure if it's intentional or not. This email is not as long as it seems.
>
>
> Given this operation (defined in my WSDL):
> <operation name="getFactor">
> <input name="getFactorRequest" message="impl:getFactorIn"/>
> <output name="getFactorResponse" message="impl:getFactorOut"/>
> </operation>
> ---------------------------------------------------------------------------------
> The corresponding input and output messages are defined a follows:
> <message name="getFactorIn">
> <part name="parameters" element="intf:getFactor"/>
> </message>
> <message name="getFactorOut">
> <part name="parameters" element="intf:getFactorResponse"/>
> </message>
> ---------------------------------------------------------------------------------
>
> The corresponding elements are defined as follows:
> <element name="getFactor">
> <complexType>
> <sequence>
> <element minOccurs="1" maxOccurs="1" name="id" type="xsd:string"/>
> </sequence>
> </complexType>
> </element>
> <element name="getFactorResponse">
> <complexType>
> <sequence>
> <element name="factor" minOccurs="1" maxOccurs="1" type="intf:Factor"/>
> </sequence>
> </complexType>
> </element>
> ---------------------------------------------------------------------------------
> I won't bother providing the schema for the intf:Factor type.
>
> Here's the question:
> When a client calls the getFactor() method, why does the response always contain a top level element in the soap body call getFactorReturn instead of using the name provided in the getFactorResponse element schema: in this case "factor"?
>
> So the response to this method looks like this (the top level element of the body tag is <getFactorReturn>):
>
> <?xml version="1.0" encoding="utf-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ <http://schemas.xmlsoap.org/soap/envelope/> " xmlns:xsd="http://www.w3.org/2001/XMLSchema <http://www.w3.org/2001/XMLSchema> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance> "> <soapenv:Body>
> <getFactorResponse xmlns="http://object.hydra.erisk.com <http://object.hydra.erisk.com/> ">
> <getFactorReturn>
> <name>My Test Factor</name>
> <id>1</id>
> </getFactorReturn>
> </getFactorResponse>
> </soapenv:Body>
> </soapenv:Envelope>
>
> I would have expected the response to this method to look like this (the top level element of the body tag is <factor>):
>
> <?xml version="1.0" encoding="utf-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ <http://schemas.xmlsoap.org/soap/envelope/> " xmlns:xsd="http://www.w3.org/2001/XMLSchema <http://www.w3.org/2001/XMLSchema> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance> "> <soapenv:Body>
> <getFactorResponse xmlns="http://object.hydra.erisk.com <http://object.hydra.erisk.com/> ">
> <factor>
> <name>My Test Factor</name>
> <id>1</id>
> </factor>
> </getFactorResponse>
> </soapenv:Body>
> </soapenv:Envelope>
>
> The reason this is an issue is that when you auto generate code (at least in .NET) using the WSDL I described above, it assumes (rightly so?) that the top level element of the response SOAP body will be named as you name it in your WSDL.
>
> Please let me know if this is an issue with Axis or if there is a spec somewhere that requires the top level element to be named getFactorReturn (in this case).
> Thank You,
> Eric Chijioke
--
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
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira