Could you provide us with a sample of your errant SOAP messages?
Is the fault occuring on the client, server, or both?
Anne
(ps -- the WSDL looks just fine)
(I recommend that you compile your code with debug on so that
java2wsdl produces more reasonable parameter names.)
On 6/4/05, Nathaniel A. Johnson <[EMAIL PROTECTED]> wrote:
> hi all,
>
> i have a java application and need to make it available via web
> services... so i'd like to use java2wsdl. it works great if i use
> rpc/encoded (i even have it working with wss4j, signing and encrypting
> all communications), but doc/literal doesnt seem to play nicely. the
> java interface only uses simple String objects and String arrays, so its
> a really simple interface (no complex objects or anything). i get the
> following fault when a String array return type is processed.
>
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
> faultSubcode:
> faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a
> child element, which is NOT expected, in something it was trying to
> deserialize.
>
> i use the java2wsdl ant task, if that helps anyone think of any
> advice... here is the wsdl that it generates, but i really dont want to
> have to modify it by hand after each change to the java objects... but
> if thats what it comes down to so that it will work with other clients,
> i guess thats what i will have to do.
>
> thanks all! heres the wsdl (sorry about the +/- signs... copied it from
> internet explorer)
>
> nate
>
>
> <?xml version="1.0" encoding="UTF-8" ?>
> - <wsdl:definitions
> targetNamespace="http://services.osg.uis.iu.edu/GroupsService"
> xmlns:apachesoap="http://xml.apache.org/xml-soap"
> xmlns:impl="http://services.osg.uis.iu.edu/GroupsService"
> xmlns:intf="http://services.osg.uis.iu.edu/GroupsService"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> - <!--
> WSDL created by Apache Axis version: 1.2.1
> Built on Jun 03, 2005 (06:10:52 PDT)
>
> -->
> - <wsdl:types>
> - <schema elementFormDefault="qualified"
> targetNamespace="http://services.osg.uis.iu.edu/GroupsService"
> xmlns="http://www.w3.org/2001/XMLSchema">
> - <element name="createGroup">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="createGroupResponse">
> - <complexType>
> - <sequence>
> <element name="createGroupReturn" type="xsd:int" />
> </sequence>
> </complexType>
> </element>
> - <element name="getMembers">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="getMembersResponse">
> - <complexType>
> - <sequence>
> <element maxOccurs="unbounded" name="getMembersReturn"
> type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="createGroupWithMembers">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> <element maxOccurs="unbounded" name="in1" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="createGroupWithMembersResponse">
> - <complexType>
> - <sequence>
> <element name="createGroupWithMembersReturn" type="xsd:int" />
> </sequence>
> </complexType>
> </element>
> - <element name="addMember">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> <element name="in1" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="addMemberResponse">
> - <complexType>
> - <sequence>
> <element name="addMemberReturn" type="xsd:int" />
> </sequence>
> </complexType>
> </element>
> - <element name="addMembers">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> <element maxOccurs="unbounded" name="in1" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="addMembersResponse">
> - <complexType>
> - <sequence>
> <element name="addMembersReturn" type="xsd:int" />
> </sequence>
> </complexType>
> </element>
> - <element name="removeMember">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> <element name="in1" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="removeMemberResponse">
> - <complexType>
> - <sequence>
> <element name="removeMemberReturn" type="xsd:int" />
> </sequence>
> </complexType>
> </element>
> - <element name="removeMembers">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> <element maxOccurs="unbounded" name="in1" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="removeMembersResponse">
> - <complexType>
> - <sequence>
> <element name="removeMembersReturn" type="xsd:int" />
> </sequence>
> </complexType>
> </element>
> - <element name="removeGroup">
> - <complexType>
> - <sequence>
> <element name="in0" type="xsd:string" />
> </sequence>
> </complexType>
> </element>
> - <element name="removeGroupResponse">
> - <complexType>
> - <sequence>
> <element name="removeGroupReturn" type="xsd:int" />
> </sequence>
> </complexType>
> </element>
> </schema>
> </wsdl:types>
> - <wsdl:message name="createGroupWithMembersResponse">
> <wsdl:part element="impl:createGroupWithMembersResponse"
> name="parameters" />
> </wsdl:message>
> - <wsdl:message name="createGroupWithMembersRequest">
> <wsdl:part element="impl:createGroupWithMembers" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="removeMembersResponse">
> <wsdl:part element="impl:removeMembersResponse" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="removeMemberRequest">
> <wsdl:part element="impl:removeMember" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="removeMemberResponse">
> <wsdl:part element="impl:removeMemberResponse" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="getMembersResponse">
> <wsdl:part element="impl:getMembersResponse" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="addMembersResponse">
> <wsdl:part element="impl:addMembersResponse" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="removeGroupRequest">
> <wsdl:part element="impl:removeGroup" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="createGroupRequest">
> <wsdl:part element="impl:createGroup" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="addMemberResponse">
> <wsdl:part element="impl:addMemberResponse" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="addMemberRequest">
> <wsdl:part element="impl:addMember" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="createGroupResponse">
> <wsdl:part element="impl:createGroupResponse" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="getMembersRequest">
> <wsdl:part element="impl:getMembers" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="removeMembersRequest">
> <wsdl:part element="impl:removeMembers" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="removeGroupResponse">
> <wsdl:part element="impl:removeGroupResponse" name="parameters" />
> </wsdl:message>
> - <wsdl:message name="addMembersRequest">
> <wsdl:part element="impl:addMembers" name="parameters" />
> </wsdl:message>
> - <wsdl:portType name="GroupsService">
> - <wsdl:operation name="createGroup">
> <wsdl:input message="impl:createGroupRequest"
> name="createGroupRequest" />
> <wsdl:output message="impl:createGroupResponse"
> name="createGroupResponse" />
> </wsdl:operation>
> - <wsdl:operation name="getMembers">
> <wsdl:input message="impl:getMembersRequest" name="getMembersRequest" />
> <wsdl:output message="impl:getMembersResponse"
> name="getMembersResponse" />
> </wsdl:operation>
> - <wsdl:operation name="createGroupWithMembers">
> <wsdl:input message="impl:createGroupWithMembersRequest"
> name="createGroupWithMembersRequest" />
> <wsdl:output message="impl:createGroupWithMembersResponse"
> name="createGroupWithMembersResponse" />
> </wsdl:operation>
> - <wsdl:operation name="addMember">
> <wsdl:input message="impl:addMemberRequest" name="addMemberRequest" />
> <wsdl:output message="impl:addMemberResponse" name="addMemberResponse" />
> </wsdl:operation>
> - <wsdl:operation name="addMembers">
> <wsdl:input message="impl:addMembersRequest" name="addMembersRequest" />
> <wsdl:output message="impl:addMembersResponse"
> name="addMembersResponse" />
> </wsdl:operation>
> - <wsdl:operation name="removeMember">
> <wsdl:input message="impl:removeMemberRequest"
> name="removeMemberRequest" />
> <wsdl:output message="impl:removeMemberResponse"
> name="removeMemberResponse" />
> </wsdl:operation>
> - <wsdl:operation name="removeMembers">
> <wsdl:input message="impl:removeMembersRequest"
> name="removeMembersRequest" />
> <wsdl:output message="impl:removeMembersResponse"
> name="removeMembersResponse" />
> </wsdl:operation>
> - <wsdl:operation name="removeGroup">
> <wsdl:input message="impl:removeGroupRequest"
> name="removeGroupRequest" />
> <wsdl:output message="impl:removeGroupResponse"
> name="removeGroupResponse" />
> </wsdl:operation>
> </wsdl:portType>
> - <wsdl:binding name="GroupsServiceServiceSoapBinding"
> type="impl:GroupsService">
> <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />
> - <wsdl:operation name="createGroup">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="createGroupRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="createGroupResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="getMembers">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="getMembersRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="getMembersResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="createGroupWithMembers">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="createGroupWithMembersRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="createGroupWithMembersResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="addMember">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="addMemberRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="addMemberResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="addMembers">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="addMembersRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="addMembersResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="removeMember">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="removeMemberRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="removeMemberResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="removeMembers">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="removeMembersRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="removeMembersResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="removeGroup">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="removeGroupRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> - <wsdl:output name="removeGroupResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> - <wsdl:service name="GroupsServiceService">
> - <wsdl:port binding="impl:GroupsServiceServiceSoapBinding"
> name="GroupsServiceService">
> <wsdlsoap:address
> location="http://localhost:8080/osg-dev/services/GroupsServiceService" />
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>