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]>
