Hai Anne,

At the moment, I can't post my wsdd. In my deployment (wsdd) file,I am adding 
typemapping for My NewUser complex data input.

thanks
Durga srinivasu  


On Fri, 09 Feb 2007 Durga Srinivasu wrote :
>Hai Anne,
>
>I prepared my WSDL first, then I used WSDL2Java for generating implementation 
>stubs.
>
>But the other methods (executeCommand,listUsers)works fine without any 
>problem, only addUser with complex data type is having problem.
>
>Initially addUser signature is : addUser(String userName)-->works fine
>
>Now the signature is: addUser(String userName,NewUser user)-->fails with fault 
>message "org.xml.sax.SAXException: operation description is
>missing parameter description!"
>
>Here is my complete WSDL:
>
><?xml version="1.0" encoding="utf-8"?>
><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
>xmlns:tns="http://proactivenet.com/webservices/pwcommand/"; 
>xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
>xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
>targetNamespace="http://proactivenet.com/webservices/pwcommand/";>
>
>       
> <!--=========================================================================================================-->
>       
> <!--==========================================TYPES==========================================================-->
>       
> <!--=========================================================================================================-->
>       <wsdl:types>
>               <xs:schema 
> targetNamespace="http://proactivenet.com/webservices/pwcommand/"; 
> xmlns:tns="http://proactivenet.com/webservices/pwcommand/"; 
> xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns="http://proactivenet.com/webservices/pwcommand/"; 
> elementFormDefault="qualified">
>                       <xs:complexType name="ServiceException">
>                               <xs:sequence>
>                                       <xs:element name="errorId" 
> type="xs:string" minOccurs="0" maxOccurs="1"/>
>                                       <xs:element name="errorMsg" 
> type="xs:string" minOccurs="0" maxOccurs="1"/>
>                                       <xs:element name="errorDetail" 
> type="xs:string" minOccurs="0" maxOccurs="1"/>
>                               </xs:sequence>
>                       </xs:complexType>
>
>                       <!--++++++++++++SOAP Headers++++++++++++++++++-->
>                       <xs:element name="sessionId" type="xs:string"/>
>                       <xs:element name="fault" type="tns:ServiceException"/>
>                       <xs:element name="executeCommand">
>                               <xs:complexType>
>                                       <xs:sequence>
>                                               <xs:element name="argument" 
> type="xs:string"/>
>                                       </xs:sequence>
>                               </xs:complexType>
>                       </xs:element>
>                       <xs:element name="cmdResponse" type="xs:string"/>
>                       <xs:element name="listUsers">
>                               <xs:complexType>
>                                       <xs:sequence>
>                                               <xs:element 
> name="isLoggedInUsers" type="xs:boolean"/>
>                                       </xs:sequence>
>                               </xs:complexType>
>                       </xs:element>
>                       <xs:complexType name="NewUser">
>                               <xs:sequence>
>                                       <xs:element name="email" 
> type="xs:string"/>
>                                       <xs:element name="password" 
> type="xs:string"/>
>                                       <xs:element name="forcePasswordChange" 
> type="xs:boolean"/>
>                               </xs:sequence>
>                       </xs:complexType>
>                       <xs:element name="addUser">
>                               <xs:complexType>
>                                       <xs:sequence>
>                                               <xs:element name="userName" 
> type="xs:string"/>
>                                               <xs:element name="newUser" 
> type="tns:NewUser"/>
>                                       </xs:sequence>
>                               </xs:complexType>
>                       </xs:element>
>                       <xs:element name="deleteUser">
>                               <xs:complexType>
>                                       <xs:sequence>
>                                               <xs:element name="userName" 
> type="xs:string"/>
>                                       </xs:sequence>
>                               </xs:complexType>
>                       </xs:element>
>               </xs:schema>
>       </wsdl:types>
>
>       
> <!--=========================================================================================================-->
>       
> <!--===========================================MESSAGES======================================================-->
>       
> <!--=========================================================================================================-->
>       <wsdl:message name="sessionId">
>               <wsdl:part name="sessionId" element="tns:sessionId"/>
>       </wsdl:message>
>       <wsdl:message name="executeCommandInMsg">
>               <wsdl:part name="parameters" element="tns:executeCommand"/>
>       </wsdl:message>
>       <wsdl:message name="executeCommandOutMsg">
>               <wsdl:part name="result" element="tns:cmdResponse"/>
>       </wsdl:message>
>       <wsdl:message name="listUsersInMsg">
>               <wsdl:part name="parameters" element="tns:listUsers"/>
>       </wsdl:message>
>       <wsdl:message name="listUsersOutMsg">
>               <wsdl:part name="result" element="tns:cmdResponse"/>
>       </wsdl:message>
>       <wsdl:message name="addUserInMsg">
>               <wsdl:part name="parameters" element="tns:addUser"/>
>       </wsdl:message>
>       <wsdl:message name="addUserOutMsg">
>               <wsdl:part name="result" element="tns:cmdResponse"/>
>       </wsdl:message>
>       <wsdl:message name="deleteUserInMsg">
>               <wsdl:part name="parameters" element="tns:deleteUser"/>
>       </wsdl:message>
>       <wsdl:message name="deleteUserOutMsg">
>               <wsdl:part name="result" element="tns:cmdResponse"/>
>       </wsdl:message>
>       <wsdl:message name="Exception">
>               <wsdl:part name="fault" element="tns:fault"/>
>       </wsdl:message>
>
>       
> <!--=========================================================================================================-->
>       <!--==========================================PORT 
> TYPE======================================================-->
>       
> <!--=========================================================================================================-->
>       <wsdl:portType name="PWCommandInterface">
>               <!-- definition of operations in terms of their messages -->
>               <wsdl:operation name="executeCommand">
>                       <wsdl:input name="executeCommandInMsg" 
> message="tns:executeCommandInMsg"/>
>                       <wsdl:output name="executeCommandOutMsg" 
> message="tns:executeCommandOutMsg"/>
>                       <wsdl:fault name="Exception" message="tns:Exception"/>
>               </wsdl:operation>
>               <wsdl:operation name="listUsers">
>                       <wsdl:input name="listUsersInMsg" 
> message="tns:listUsersInMsg"/>
>                       <wsdl:output name="listUsersOutMsg" 
> message="tns:listUsersOutMsg"/>
>                       <wsdl:fault name="Exception" message="tns:Exception"/>
>               </wsdl:operation>
>               <wsdl:operation name="addUser">
>                       <wsdl:input name="addUserInMsg" 
> message="tns:addUserInMsg"/>
>                       <wsdl:output name="addUserOutMsg" 
> message="tns:addUserOutMsg"/>
>                       <wsdl:fault name="Exception" message="tns:Exception"/>
>               </wsdl:operation>
>               <wsdl:operation name="deleteUser">
>                       <wsdl:input name="deleteUserInMsg" 
> message="tns:deleteUserInMsg"/>
>                       <wsdl:output name="deleteUserOutMsg" 
> message="tns:deleteUserOutMsg"/>
>                       <wsdl:fault name="Exception" message="tns:Exception"/>
>               </wsdl:operation>
>       </wsdl:portType>
>
>       
> <!--=========================================================================================================-->
>       
> <!--=========================================BINDING=========================================================-->
>       
> <!--=========================================================================================================-->
>       <wsdl:binding name="PWCommandServiceSoapBinding" 
> type="tns:PWCommandInterface">
>               <soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>               <!-- definition of style and transport in general and use per 
> operation -->
>               <wsdl:operation name="addUser">
>                       <soap:operation soapAction=""/>
>                       <wsdl:input name="addUserInMsg">
>                               <soap:header message="tns:sessionId" 
> part="sessionId" use="literal"/>
>                               <soap:body use="literal"/>
>                       </wsdl:input>
>                       <wsdl:output name="addUserOutMsg">
>                               <soap:body use="literal"/>
>                       </wsdl:output>
>                       <wsdl:fault name="Exception">
>                               <soap:fault name="Exception" use="literal"/>
>                       </wsdl:fault>
>               </wsdl:operation>
>               <wsdl:operation name="deleteUser">
>                       <soap:operation soapAction=""/>
>                       <wsdl:input name="deleteUserInMsg">
>                               <soap:header message="tns:sessionId" 
> part="sessionId" use="literal"/>
>                               <soap:body use="literal"/>
>                       </wsdl:input>
>                       <wsdl:output name="deleteUserOutMsg">
>                               <soap:body use="literal"/>
>                       </wsdl:output>
>                       <wsdl:fault name="Exception">
>                               <soap:fault name="Exception" use="literal"/>
>                       </wsdl:fault>
>               </wsdl:operation>
>               <wsdl:operation name="listUsers">
>                       <soap:operation soapAction=""/>
>                       <wsdl:input name="listUsersInMsg">
>                               <soap:header message="tns:sessionId" 
> part="sessionId" use="literal"/>
>                               <soap:body use="literal"/>
>                       </wsdl:input>
>                       <wsdl:output name="listUsersOutMsg">
>                               <soap:body use="literal"/>
>                       </wsdl:output>
>                       <wsdl:fault name="Exception">
>                               <soap:fault name="Exception" use="literal"/>
>                       </wsdl:fault>
>               </wsdl:operation>
>               <wsdl:operation name="executeCommand">
>                       <soap:operation soapAction=""/>
>                       <wsdl:input name="executeCommandInMsg">
>                               <soap:header message="tns:sessionId" 
> part="sessionId" use="literal"/>
>                               <soap:body use="literal"/>
>                       </wsdl:input>
>                       <wsdl:output name="executeCommandOutMsg">
>                               <soap:body use="literal"/>
>                       </wsdl:output>
>                       <wsdl:fault name="Exception">
>                               <soap:fault name="Exception" use="literal"/>
>                       </wsdl:fault>
>               </wsdl:operation>
>       </wsdl:binding>
>
>       
> <!--=========================================================================================================-->
>       
> <!--==========================================SERVICE========================================================-->
>       
> <!--=========================================================================================================-->
>       <wsdl:service name="PNPWCommandService">
>               <!-- definition a port using the above binding and a URL -->
>               <wsdl:port name="PWCommandService" 
> binding="tns:PWCommandServiceSoapBinding">
>                       <soap:address 
> location="http://localhost/pn/services/PWCommandService"/>
>               </wsdl:port>
>       </wsdl:service>
></wsdl:definitions>
>
>
>thanks
>Durga Srinivasu
>
>On Fri, 09 Feb 2007 Anne Thomas Manes wrote :
> >Can you provide the complete WSDL please? And the WSDD?
> >Did you use code-first or wsdl-first approach?
> >
> >Anne
> >
> >On 9 Feb 2007 07:26:25 -0000, Durga Srinivasu <[EMAIL PROTECTED]> wrote:
> >>
> >>Hai All,
> >>
> >>I have a question on Axis 1.4.
> >>
> >>Is axis supports web service operations with complex java object as input
> >>(Ex: addUser(String userName,NewUser details))?.
> >>
> >>I am able to deploy the service with custom java object "NewUser" input.
> >>But when i try to invoke the same service with soap client, i am getting the
> >>following soap fault message.
> >>
> >>SOAP RESPONSE:
> >>
> >><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> >>xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="
> >>http://www.w3.org/2001/XMLSchema-instance";>
> >>   <soapenv:Body>
> >>       <soapenv:Fault>
> >>         <faultcode>soapenv:Server.userException</faultcode>
> >>         <faultstring>org.xml.sax.SAXException: operation description is
> >>missing parameter description!</faultstring>
> >>         <detail>
> >>             <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/
> >>">srinivasu</ns1:hostname>
> >>         </detail>
> >>       </soapenv:Fault>
> >>   </soapenv:Body>
> >></soapenv:Envelope>
> >>
> >>SOAP REQUEST:
> >>
> >><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> >>xmlns:pwc="http://proactivenet.com/webservices/pwcommand/";>
> >>   <soapenv:Header>
> >>       <pwc:sessionId>EX</pwc:sessionId>
> >>   </soapenv:Header>
> >>   <soapenv:Body>
> >>       <pwc:addUser>
> >>         <pwc:userName>EX</pwc:userName>
> >>         <pwc:newUser>
> >>             <pwc:email>EX</pwc:email>
> >>             <pwc:password>EX</pwc:password>
> >>             <pwc:forcePasswordChange>EX</pwc:forcePasswordChange>
> >>         </pwc:newUser>
> >>       </pwc:addUser>
> >>   </soapenv:Body>
> >></soapenv:Envelope>
> >>
> >>addUser schema definition in wsdl:
> >>
> >><xs:complexType name="NewUser">
> >>   <xs:sequence>
> >>     <xs:element name="email" type="xs:string" />
> >>     <xs:element name="password" type="xs:string" />
> >>     <xs:element name="forcePasswordChange" type="xs:boolean" />
> >>   </xs:sequence>
> >></xs:complexType>
> >>
> >><xs:element name="addUser">
> >>   <xs:complexType>
> >>   <xs:sequence>
> >>     <xs:element name="userName" type="xs:string" />
> >>     <xs:element name="newUser" type="tns:NewUser" />
> >>   </xs:sequence>
> >>   </xs:complexType>
> >></xs:element>
> >>
> >>
> >>If anybody is facing the similar issue, please let me know.
> >>
> >>thanks
> >>Durga Srinivasu
> >>
> >>
> >><http://adworks.rediff.com/cgi-bin/AdWorks/sigclick.cgi/www.rediff.com/signature-home.htm/[EMAIL
> >> PROTECTED]>

Reply via email to