Anne Thomas Manes wrote:
> Could you provide us with a sample of your errant SOAP messages?
> Is the fault occuring on the client, server, or both?

it is only occurring on the client when trying to deserialize the String
array return type.  i can pass String arrays as parameters to the methods
just fine.  i can also call methods that return int values just fine...
it only dies when returning the String arrays (haven't tried returning
anything more complex).

about posting the soap messages here, would you like me to turn off the
signing and encrypting before posting them here, or does that matter?
they fail either way.  i'll turn the SoapMonitor back on and post them
here after i hear back from you.

> 
> 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.)
> 

good point... thanks for the advice.  is that all that needs to be done
since i use the ant java2wsdl task?  i remember reading something about
a -i flag, but didnt see that option for the ant task.

nate

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

Reply via email to