[ 
http://issues.apache.org/jira/browse/AXIS-1547?page=comments#action_59560 ]
     
Jongjin Choi commented on AXIS-1547:
------------------------------------

Bill,

If you start from the WSDL to write a web service, you *DO* bother running 
WSDL2Java to get the artifacts which sync the Axis's serialization behavior to 
the WSDL. (with option --server-Side with optionally --helperGen)

The needed artifacts are:
 * server-config.wsdd
 * _Helper Classes (if --helperGen is specified, otherwise the needed methods 
are embedded with the generated Javabeans)
 * The service impl template (XXXXX_Impl.java)

Then after filling the code of the XXXXX_Impl.java,
deploying your web services with these artifacts generated from WSDL2Java, we 
can get a web service which matches to the WSDL.

In this way, you can get a wrapped / bare XML message which is specified in 
WSDL. 

The only difference with .NET is that Axis requires the explicit 
ArrayOfXXX.java (and/or ArrayOfXXX_Helper.java) which is generated 
automatically by WSDL2Java and server-config.wsdd's <operation> information
(which is annotated in C# source file in .NET case).

Running WSDL2Java from WSDL will solve the problem. 
Am I missing some points in your comment?
  

> 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
>     Assignee: Glen Daniels
>  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

Reply via email to