473,842 Members | 1,619 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Problem of calling WebService in Java.

I hava developed a client in C# that is connected to a 3-party XML Web
Services developed in Java based on the AXIS 1.1. Most methods call are
successful except for one method named "findObject s" and return a complex
type "FieldSearchRes ult". The error message as following :
"Cannot assign object of type System.String to an object of type
System.String[]. There is an error in XML document (23, 97)."
By the way,I hava written a client in Java and everything is working.
I don’t know how to resolve the problem, can anyone help me?
Thanks!

WSDL,auto-generated proxy class and Web Services Response Message are as
following:

(1) The corresponding WSDL as following:
///////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitio ns ......>
<import namespace="http ://schemas.xmlsoap .org/soap/encoding/"/>
<simpleType name="passByRef ">
<restriction base="xsd:strin g">
<enumeration value="URL_REF"/>
</restriction>
</simpleType>
<simpleType name="passByVal ue">
<restriction base="xsd:strin g">
<enumeration value="VALUE"/>
</restriction>
</simpleType>
<simpleType name="Compariso nOperator">
<restriction base="xsd:strin g">
<enumeration value="has"/>
<enumeration value="eq"/>
<enumeration value="lt"/>
<enumeration value="le"/>
<enumeration value="gt"/>
<enumeration value="ge"/>
</restriction>
</simpleType>
<complexType name="Condition ">
<sequence>
<element name="property" nillable="true" type="xsd:strin g"/>
<element name="operator" nillable="true" type="tns1:Comp arisonOperator"/>
<element name="value" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="Datastrea mDef">
<sequence>
<element name="ID" nillable="true" type="xsd:strin g"/>
<element name="label" nillable="true" type="xsd:strin g"/>
<element name="MIMEType" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ListSessi on">
<sequence>
<element name="token" nillable="true" type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="cursor" nillable="true"
type="xsd:nonNe gativeInteger"/>
<element maxOccurs="1" minOccurs="0" name="completeL istSize"
nillable="true" type="xsd:nonNe gativeInteger"/>
<element maxOccurs="1" minOccurs="0" name="expiratio nDate"
nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ObjectFie lds">
<sequence>
<element maxOccurs="1" minOccurs="0" name="pid" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="label" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="fType" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="cModel" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="state" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="ownerId" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="cDate" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="mDate" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="dcmDate" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="bDef" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="bMech" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="title" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="creator"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="subject"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="descripti on"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="publisher "
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="contribut or"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="date" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="type" nillable="true"
type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="format"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="identifie r"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="source"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="language"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="relation"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="coverage"
nillable="true" type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="rights"
nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfOb jectFields">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:ObjectFie lds[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="FieldSear chResult">
<sequence>
<element maxOccurs="1" minOccurs="0" name="listSessi on" nillable="true"
type="tns1:List Session"/>
<element name="resultLis t" nillable="true"
type="tns1:Arra yOfObjectFields "/>
</sequence>
</complexType>
<simpleType name="defaultIn putType">
<restriction base="xsd:strin g">
<enumeration value="fedora:d efaultInputType "/>
</restriction>
</simpleType>
<simpleType name="userInput Type">
<restriction base="xsd:strin g">
<enumeration value="fedora:u serInputType"/>
</restriction>
</simpleType>
<complexType name="ArrayOfCo ndition">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:Condi tion[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="FieldSear chQuery">
<sequence>
<element name="condition s" nillable="true" type="tns1:Arra yOfCondition"/>
<element name="terms" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ObjectPro file">
<sequence>
<element name="pid" nillable="true" type="xsd:strin g"/>
<element name="objLabel" nillable="true" type="xsd:strin g"/>
<element name="objConten tModel" nillable="true" type="xsd:strin g"/>
<element name="objType" nillable="true" type="xsd:strin g"/>
<element name="objCreate Date" nillable="true" type="xsd:strin g"/>
<element name="objLastMo dDate" nillable="true" type="xsd:strin g"/>
<element name="objDissIn dexViewURL" nillable="true" type="xsd:strin g"/>
<element name="objItemIn dexViewURL" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfSt ring">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<simpleType name="datastrea mInputType">
<restriction base="xsd:strin g">
<enumeration value="fedora:d atastreamInputT ype"/>
</restriction>
</simpleType>
<complexType name="MethodPar mDef">
<sequence>
<element name="parmName" nillable="true" type="xsd:strin g"/>
<element name="parmType" nillable="true" type="xsd:strin g"/>
<element name="parmDefau ltValue" nillable="true" type="xsd:strin g"/>
<element name="parmDomai nValues" nillable="true"
type="tns1:Arra yOfString"/>
<element name="parmRequi red" type="xsd:boole an"/>
<element name="parmLabel " nillable="true" type="xsd:strin g"/>
<element name="parmPassB y" nillable="true" type="xsd:strin g"/>
<element name="PASS_BY_R EF" nillable="true" type="tns1:pass ByRef"/>
<element name="PASS_BY_V ALUE" nillable="true" type="tns1:pass ByValue"/>
<element name="DATASTREA M_INPUT" nillable="true"
type="tns1:data streamInputType "/>
<element name="USER_INPU T" nillable="true" type="tns1:user InputType"/>
<element name="DEFAULT_I NPUT" nillable="true"
type="tns1:defa ultInputType"/>
</sequence>
</complexType>
<complexType name="ArrayOfMe thodParmDef">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:MethodPar mDef[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ObjectMet hodsDef">
<sequence>
<element name="PID" nillable="true" type="xsd:strin g"/>
<element name="bDefPID" nillable="true" type="xsd:strin g"/>
<element name="methodNam e" nillable="true" type="xsd:strin g"/>
<element name="methodPar mDefs" nillable="true"
type="tns1:Arra yOfMethodParmDe f"/>
<element name="asOfDate" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="Property" >
<sequence>
<element name="name" nillable="true" type="xsd:strin g"/>
<element name="value" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfPr operty">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:Prope rty[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="MIMETyped Stream">
<sequence>
<element name="MIMEType" nillable="true" type="xsd:strin g"/>
<element name="stream" type="xsd:base6 4Binary"/>
<element name="header" nillable="true" type="tns1:Arra yOfProperty"/>
</sequence>
</complexType>
<complexType name="Repositor yInfo">
<sequence>
<element name="repositor yName" nillable="true" type="xsd:strin g"/>
<element name="repositor yVersion" nillable="true" type="xsd:strin g"/>
<element name="repositor yBaseURL" nillable="true" type="xsd:strin g"/>
<element name="repositor yPIDNamespace" nillable="true" type="xsd:strin g"/>
<element name="defaultEx portFormat" nillable="true" type="xsd:strin g"/>
<element name="OAINamesp ace" nillable="true" type="xsd:strin g"/>
<element name="adminEmai lList" nillable="true" type="tns1:Arra yOfString"/>
<element name="samplePID " nillable="true" type="xsd:strin g"/>
<element name="sampleOAI Identifier" nillable="true" type="xsd:strin g"/>
<element name="sampleSea rchURL" nillable="true" type="xsd:strin g"/>
<element name="sampleAcc essURL" nillable="true" type="xsd:strin g"/>
<element name="sampleOAI URL" nillable="true" type="xsd:strin g"/>
<element name="retainPID s" nillable="true" type="tns1:Arra yOfString"/>
</sequence>
</complexType>
<complexType name="ArrayOfOb jectMethodsDef" >
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType"
wsdl:arrayType= "tns1:ObjectMet hodsDef[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfDa tastreamDef">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns:Datastream Def[]"/>
</restriction>
</complexContent>
</complexType>
</Schema>
</wsdl:types>
<wsdl:message name="getDatast reamDisseminati onResponse">
<wsdl:part name="response" type="tns1:MIME TypedStream"/>
</wsdl:message>
<wsdl:message name="findObjec tsRequest">
<wsdl:part name="resultFie lds" type="tns1:Arra yOfString"/>
<wsdl:part name="maxResult s" type="xsd:nonNe gativeInteger"/>
<wsdl:part name="query" type="tns1:Fiel dSearchQuery"/>
</wsdl:message>
<wsdl:message name="getObject ProfileResponse ">
<wsdl:part name="response" type="tns1:Obje ctProfile"/>
</wsdl:message>
<wsdl:message name="listDatas treamsResponse" >
<wsdl:part name="response" type="tns1:Arra yOfDatastreamDe f"/>
</wsdl:message>
<wsdl:message name="getObject HistoryResponse ">
<wsdl:part name="response" type="tns1:Arra yOfString"/>
</wsdl:message>
<wsdl:message name="resumeFin dObjectsRespons e">
<wsdl:part name="response" type="tns1:Fiel dSearchResult"/>
</wsdl:message>
<wsdl:message name="listDatas treamsRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getObject HistoryRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getDissem inationResponse ">
<wsdl:part name="response" type="tns1:MIME TypedStream"/>
</wsdl:message>
<wsdl:message name="describeR epositoryRespon se">
<wsdl:part name="response" type="tns1:Repo sitoryInfo"/>
</wsdl:message>
<wsdl:message name="listMetho dsRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getDatast reamDisseminati onRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="dsID" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="resumeFin dObjectsRequest ">
<wsdl:part name="sessionTo ken" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="listMetho dsResponse">
<wsdl:part name="response" type="tns1:Arra yOfObjectMethod sDef"/>
</wsdl:message>
<wsdl:message name="describeR epositoryReques t">
</wsdl:message>
<wsdl:message name="getDissem inationRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="bDefPid" type="xsd:strin g"/>
<wsdl:part name="methodNam e" type="xsd:strin g"/>
<wsdl:part name="parameter s" type="tns1:Arra yOfProperty"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="findObjec tsResponse">
<wsdl:part name="response" type="tns1:Fiel dSearchResult"/>
</wsdl:message>
<wsdl:message name="getObject ProfileRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:portTyp e name="Fedora-API-A">
<wsdl:operati on name="describeR epository">
<wsdl:input message="impl:d escribeReposito ryRequest"
name="describeR epositoryReques t"/>
<wsdl:output message="impl:d escribeReposito ryResponse"
name="describeR epositoryRespon se"/>
</wsdl:operation>
<wsdl:operati on name="getObject Profile" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:g etObjectProfile Request"
name="getObject ProfileRequest"/>
<wsdl:output message="impl:g etObjectProfile Response"
name="getObject ProfileResponse "/>
</wsdl:operation>
<wsdl:operati on name="listMetho ds" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:l istMethodsReque st"
name="listMetho dsRequest"/>
<wsdl:output message="impl:l istMethodsRespo nse"
name="listMetho dsResponse"/>
</wsdl:operation>
<wsdl:operati on name="listDatas treams" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:l istDatastreamsR equest"
name="listDatas treamsRequest"/>
<wsdl:output message="impl:l istDatastreamsR esponse"
name="listDatas treamsResponse"/>
</wsdl:operation>
<wsdl:operati on name="getDatast reamDisseminati on" parameterOrder= "pid
dsID asOfDateTime">
<wsdl:input message="impl:g etDatastreamDis seminationReque st"
name="getDatast reamDisseminati onRequest"/>
<wsdl:output message="impl:g etDatastreamDis seminationRespo nse"
name="getDatast reamDisseminati onResponse"/>
</wsdl:operation>
<wsdl:operati on name="getDissem ination" parameterOrder= "pid bDefPid
methodName parameters asOfDateTime">
<wsdl:input message="impl:g etDissemination Request"
name="getDissem inationRequest"/>
<wsdl:output message="impl:g etDissemination Response"
name="getDissem inationResponse "/>
</wsdl:operation>
<wsdl:operati on name="findObjec ts" parameterOrder= "resultFiel ds
maxResults query">
<wsdl:input message="impl:f indObjectsReque st"
name="findObjec tsRequest"/>
<wsdl:output message="impl:f indObjectsRespo nse"
name="findObjec tsResponse"/>
</wsdl:operation>
<wsdl:operati on name="resumeFin dObjects" parameterOrder= "sessionTok en">
<wsdl:input message="impl:r esumeFindObject sRequest"
name="resumeFin dObjectsRequest "/>
<wsdl:output message="impl:r esumeFindObject sResponse"
name="resumeFin dObjectsRespons e"/>
</wsdl:operation>
<wsdl:operati on name="getObject History" parameterOrder= "pid">
<wsdl:input message="impl:g etObjectHistory Request"
name="getObject HistoryRequest"/>
<wsdl:output message="impl:g etObjectHistory Response"
name="getObject HistoryResponse "/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="access/soapSoapBinding " type="impl:Fedo ra-API-A">
<wsdlsoap:bindi ng style="rpc"
transport="http ://schemas.xmlsoap .org/soap/http"/>
<wsdl:operati on name="describeR epository">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#describeReposi tory"/>
<wsdl:input name="describeR epositoryReques t">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="describeR epositoryRespon se">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getObject Profile">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#getObjectProfi le"/>
<wsdl:input name="getObject ProfileRequest" >
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getObject ProfileResponse ">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="listMetho ds">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#listMethods"/>
<wsdl:input name="listMetho dsRequest">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="listMetho dsResponse">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="listDatas treams">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#listDatastream s"/>
<wsdl:input name="listDatas treamsRequest">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="listDatas treamsResponse" >
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getDatast reamDisseminati on">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#getDatastreamD issemination"/>
<wsdl:input name="getDatast reamDisseminati onRequest">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getDatast reamDisseminati onResponse">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getDissem ination">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#getDisseminati on"/>
<wsdl:input name="getDissem inationRequest" >
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getDissem inationResponse ">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="findObjec ts">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#findObjects"/>
<wsdl:input name="findObjec tsRequest">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="findObjec tsResponse">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="resumeFin dObjects">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#resumeFindObje cts"/>
<wsdl:input name="resumeFin dObjectsRequest ">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="resumeFin dObjectsRespons e">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getObject History">
<wsdlsoap:opera tion
soapAction="htt p://www.fedora.info/definitions/1/0/api/#getObjectHisto ry"/>
<wsdl:input name="getObject HistoryRequest" >
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getObject HistoryResponse ">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Fedora-API-A-Service">
<wsdl:port binding="impl:a ccess/soapSoapBinding " name="access/soap">
<wsdlsoap:addre ss location="http://localhost:8080/fedora/access/soap"/>
</wsdl:port>
</wsdl:service>
</wsdl:definition s>

(2) And the corresponding classes generated by wsdl.exe in C# are as
following:
///////////////////////////////////////////////////////////////////////////////
namespace FedoraDAL.Fedor aAPIA {
using System.Diagnost ics;
using System.Xml.Seri alization;
using System;
using System.Web.Serv ices.Protocols;
using System.Componen tModel;
using System.Web.Serv ices;
using System.Collecti ons;

/// <remarks/>
[System.Diagnost ics.DebuggerSte pThroughAttribu te()]
[System.Componen tModel.Designer CategoryAttribu te("code")]

[System.Web.Serv ices.WebService BindingAttribut e(Name="access/soapSoapBinding ", Namespace="http ://www.fedora.info/definitions/1/0/api/")]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(ObjectF ields))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Conditi on))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Propert y))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Datastr eamDef))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(MethodP armDef))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(ObjectM ethodsDef))]
public class FedoraAPIAServi ce :
System.Web.Serv ices.Protocols. SoapHttpClientP rotocol {
/// <remarks/>
public FedoraAPIAServi ce() {
this.Url = "http://localhost:8080/fedora/access/soap";
}
……
/// <remarks/>
[System.Web.Serv ices.Protocols. SoapRpcMethodtt ribute("http://www.fedora.info/definitions/1/0/api/#findObjects",
RequestNamespac e="http://www.fedora.info/definitions/1/0/api/",
ResponseNamespa ce="http://www.fedora.info/definitions/1/0/api/")]°
[return: System.Xml.Seri alization.SoapE lementAttribute ("response")]
public FieldSearchResu lt findObjects(str ing[] resultFields,
[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )] string maxResults, FieldSearchQuer y query) {
object[] results = this.Invoke("fi ndObjects", new object[] {
resultFields,
maxResults,
query});
return ((FieldSearchRe sult)(results[0]));
}

……
}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("O bjectFields",
"http://www.fedora.info/definitions/1/0/types/")]
public class ObjectFields {
/// <remarks/>
public string pid;

/// <remarks/>
public string label;

/// <remarks/>
public string fType;

/// <remarks/>
public string cModel;

/// <remarks/>
public string state;

/// <remarks/>
public string ownerId;

/// <remarks/>
public string cDate;

/// <remarks/>
public string mDate;

/// <remarks/>
public string dcmDate;

/// <remarks/>
public string[] bDef;

/// <remarks/>
public string[] bMech;

/// <remarks/>
public string[] title;

/// <remarks/>
public string[] creator;

/// <remarks/>
public string[] subject;

/// <remarks/>
public string[] description;

/// <remarks/>
public string[] publisher;

/// <remarks/>
public string[] contributor;

/// <remarks/>
public string[] date;

/// <remarks/>
public string[] type;

/// <remarks/>
public string[] format;

/// <remarks/>
public string[] identifier;

/// <remarks/>
public string[] source;

/// <remarks/>
public string[] language;

/// <remarks/>
public string[] relation;

/// <remarks/>
public string[] coverage;

/// <remarks/>
public string[] rights;
}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("L istSession",
"http://www.fedora.info/definitions/1/0/types/")]
public class ListSession {

/// <remarks/>
public string token;

/// <remarks/>

[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )]
public string cursor;

/// <remarks/>

[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )]
public string completeListSiz e;

/// <remarks/>
public string expirationDate;
}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("F ieldSearchResul t",
"http://www.fedora.info/definitions/1/0/types/")]
public class FieldSearchResu lt {

/// <remarks/>
public ListSession listSession;

/// <remarks/>
public ObjectFields[] resultList;
}
}

(3) And I have trapped the response message from the XML Web Services as
following:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>.
<soapenv:Envelo pe 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 >.
<ns1:findObject sResponse
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns1="http ://www.fedora.info/definitions/1/0/api/">.
<response href="#id0"/>.
</ns1:findObjects Response>.
<multiRef id="id0" soapenc:root="0 "
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns2:F ieldSearchResul t"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns2="http ://www.fedora.info/definitions/1/0/types/">.
<listSession xsi:type="ns2:L istSession" xsi:nil="true"/>.
<resultList xsi:type="soape nc:Array" soapenc:array
Type="ns2:Objec tFields[1]">.
<item href="#id1"/>.
</resultList>.
</multiRef>.
<multiRef id="id1" soapenc:root="0 "
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns3:O bjectFields"
xmlns:ns3="http ://www.fedora.info/definitions/1/0/types/"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/">.
<pid xsi:type="xsd:s tring">demo:1</pid>.
<label xsi:type="xsd:s tring" xsi:nil="true"/>.
<fType xsi:type="xsd:s tring" xsi:nil="true"/>.
<cModel xsi:type="xsd:s tring" xsi:nil="true"/>.
<state xsi:type="xsd:s tring" xsi:nil="true"/>.
<ownerId xsi:type="xsd:s tring" xsi:nil="true"/>.
<cDate xsi:type="xsd:s tring">2004-12-10T00:21:52.000 Z</cDate>.
<mDate xsi:type="xsd:s tring" xsi:nil="true"/>.
<dcmDate xsi:type="xsd:s tring" xsi:nil="true"/>.
<title xsi:type="xsd:s tring">Behavior Definition Object for UVA Simple
Image Contract</title>.
</multiRef>.
</soapenv:Body>.
</soapenv:Envelop e>.

Nov 23 '05 #1
2 2761
Hi m8,

The primary problem is "not designed for interoperabilit y" (but
there's no way to change that anymore ;-) ).

The first part of the "findObjectsReq uest" message seems to be a
String[]. Is that reflected in the generated proxy on the .Net side?

This is the place i identified as a possible "String to String[]" cast
exception.

Hope this helps,

Marvin Smit
side remarks:
The Axis WebService uses the RPC/Encoded standard. This will NOT work
well with future version of WebServices (rpc/enc = deprecated, use
doc/lit instead)

On Sun, 10 Apr 2005 06:19:01 -0700, "yqlu"
<yq**@discussio ns.microsoft.co m> wrote:
I hava developed a client in C# that is connected to a 3-party XML Web
Services developed in Java based on the AXIS 1.1. Most methods call are
successful except for one method named "findObject s" and return a complex
type "FieldSearchRes ult". The error message as following :
"Cannot assign object of type System.String to an object of type
System.Strin g[]. There is an error in XML document (23, 97)."
By the way,I hava written a client in Java and everything is working.
I dont know how to resolve the problem, can anyone help me?
Thanks!

WSDL?auto-generated proxy class and Web Services Response Message are as
following:

(1) The corresponding WSDL as following:
///////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definiti ons ......>
<import namespace="http ://schemas.xmlsoap .org/soap/encoding/"/>
<simpleType name="passByRef ">
<restriction base="xsd:strin g">
<enumeration value="URL_REF"/>
</restriction>
</simpleType>
<simpleType name="passByVal ue">
<restriction base="xsd:strin g">
<enumeration value="VALUE"/>
</restriction>
</simpleType>
<simpleType name="Compariso nOperator">
<restriction base="xsd:strin g">
<enumeration value="has"/>
<enumeration value="eq"/>
<enumeration value="lt"/>
<enumeration value="le"/>
<enumeration value="gt"/>
<enumeration value="ge"/>
</restriction>
</simpleType>
<complexType name="Condition ">
<sequence>
<element name="property" nillable="true" type="xsd:strin g"/>
<element name="operator" nillable="true" type="tns1:Comp arisonOperator"/>
<element name="value" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="Datastrea mDef">
<sequence>
<element name="ID" nillable="true" type="xsd:strin g"/>
<element name="label" nillable="true" type="xsd:strin g"/>
<element name="MIMEType" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ListSessi on">
<sequence>
<element name="token" nillable="true" type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="cursor" nillable="true"
type="xsd:nonN egativeInteger"/>
<element maxOccurs="1" minOccurs="0" name="completeL istSize"
nillable="true " type="xsd:nonNe gativeInteger"/>
<element maxOccurs="1" minOccurs="0" name="expiratio nDate"
nillable="true " type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ObjectFie lds">
<sequence>
<element maxOccurs="1" minOccurs="0" name="pid" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="label" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="fType" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="cModel" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="state" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="ownerId" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="cDate" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="mDate" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="dcmDate" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="bDef" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="bMech" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="title" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="creator"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="subject"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="descripti on"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="publisher "
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="contribut or"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="date" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="type" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="format"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="identifie r"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="source"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="language"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="relation"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="coverage"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="rights"
nillable="true " type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfOb jectFields">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:ObjectFie lds[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="FieldSear chResult">
<sequence>
<element maxOccurs="1" minOccurs="0" name="listSessi on" nillable="true"
type="tns1:Lis tSession"/>
<element name="resultLis t" nillable="true"
type="tns1:Arr ayOfObjectField s"/>
</sequence>
</complexType>
<simpleType name="defaultIn putType">
<restriction base="xsd:strin g">
<enumeration value="fedora:d efaultInputType "/>
</restriction>
</simpleType>
<simpleType name="userInput Type">
<restriction base="xsd:strin g">
<enumeration value="fedora:u serInputType"/>
</restriction>
</simpleType>
<complexType name="ArrayOfCo ndition">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:Condi tion[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="FieldSear chQuery">
<sequence>
<element name="condition s" nillable="true" type="tns1:Arra yOfCondition"/>
<element name="terms" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ObjectPro file">
<sequence>
<element name="pid" nillable="true" type="xsd:strin g"/>
<element name="objLabel" nillable="true" type="xsd:strin g"/>
<element name="objConten tModel" nillable="true" type="xsd:strin g"/>
<element name="objType" nillable="true" type="xsd:strin g"/>
<element name="objCreate Date" nillable="true" type="xsd:strin g"/>
<element name="objLastMo dDate" nillable="true" type="xsd:strin g"/>
<element name="objDissIn dexViewURL" nillable="true" type="xsd:strin g"/>
<element name="objItemIn dexViewURL" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfSt ring">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<simpleType name="datastrea mInputType">
<restriction base="xsd:strin g">
<enumeration value="fedora:d atastreamInputT ype"/>
</restriction>
</simpleType>
<complexType name="MethodPar mDef">
<sequence>
<element name="parmName" nillable="true" type="xsd:strin g"/>
<element name="parmType" nillable="true" type="xsd:strin g"/>
<element name="parmDefau ltValue" nillable="true" type="xsd:strin g"/>
<element name="parmDomai nValues" nillable="true"
type="tns1:Arr ayOfString"/>
<element name="parmRequi red" type="xsd:boole an"/>
<element name="parmLabel " nillable="true" type="xsd:strin g"/>
<element name="parmPassB y" nillable="true" type="xsd:strin g"/>
<element name="PASS_BY_R EF" nillable="true" type="tns1:pass ByRef"/>
<element name="PASS_BY_V ALUE" nillable="true" type="tns1:pass ByValue"/>
<element name="DATASTREA M_INPUT" nillable="true"
type="tns1:dat astreamInputTyp e"/>
<element name="USER_INPU T" nillable="true" type="tns1:user InputType"/>
<element name="DEFAULT_I NPUT" nillable="true"
type="tns1:def aultInputType"/>
</sequence>
</complexType>
<complexType name="ArrayOfMe thodParmDef">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:MethodPar mDef[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ObjectMet hodsDef">
<sequence>
<element name="PID" nillable="true" type="xsd:strin g"/>
<element name="bDefPID" nillable="true" type="xsd:strin g"/>
<element name="methodNam e" nillable="true" type="xsd:strin g"/>
<element name="methodPar mDefs" nillable="true"
type="tns1:Arr ayOfMethodParmD ef"/>
<element name="asOfDate" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="Property" >
<sequence>
<element name="name" nillable="true" type="xsd:strin g"/>
<element name="value" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfPr operty">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:Prope rty[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="MIMETyped Stream">
<sequence>
<element name="MIMEType" nillable="true" type="xsd:strin g"/>
<element name="stream" type="xsd:base6 4Binary"/>
<element name="header" nillable="true" type="tns1:Arra yOfProperty"/>
</sequence>
</complexType>
<complexType name="Repositor yInfo">
<sequence>
<element name="repositor yName" nillable="true" type="xsd:strin g"/>
<element name="repositor yVersion" nillable="true" type="xsd:strin g"/>
<element name="repositor yBaseURL" nillable="true" type="xsd:strin g"/>
<element name="repositor yPIDNamespace" nillable="true" type="xsd:strin g"/>
<element name="defaultEx portFormat" nillable="true" type="xsd:strin g"/>
<element name="OAINamesp ace" nillable="true" type="xsd:strin g"/>
<element name="adminEmai lList" nillable="true" type="tns1:Arra yOfString"/>
<element name="samplePID " nillable="true" type="xsd:strin g"/>
<element name="sampleOAI Identifier" nillable="true" type="xsd:strin g"/>
<element name="sampleSea rchURL" nillable="true" type="xsd:strin g"/>
<element name="sampleAcc essURL" nillable="true" type="xsd:strin g"/>
<element name="sampleOAI URL" nillable="true" type="xsd:strin g"/>
<element name="retainPID s" nillable="true" type="tns1:Arra yOfString"/>
</sequence>
</complexType>
<complexType name="ArrayOfOb jectMethodsDef" >
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType"
wsdl:arrayType ="tns1:ObjectMe thodsDef[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfDa tastreamDef">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns:Datastream Def[]"/>
</restriction>
</complexContent>
</complexType>
</Schema>
</wsdl:types>
<wsdl:messag e name="getDatast reamDisseminati onResponse">
<wsdl:part name="response" type="tns1:MIME TypedStream"/>
</wsdl:message>
<wsdl:message name="findObjec tsRequest">
<wsdl:part name="resultFie lds" type="tns1:Arra yOfString"/>
<wsdl:part name="maxResult s" type="xsd:nonNe gativeInteger"/>
<wsdl:part name="query" type="tns1:Fiel dSearchQuery"/>
</wsdl:message>
<wsdl:message name="getObject ProfileResponse ">
<wsdl:part name="response" type="tns1:Obje ctProfile"/>
</wsdl:message>
<wsdl:message name="listDatas treamsResponse" >
<wsdl:part name="response" type="tns1:Arra yOfDatastreamDe f"/>
</wsdl:message>
<wsdl:message name="getObject HistoryResponse ">
<wsdl:part name="response" type="tns1:Arra yOfString"/>
</wsdl:message>
<wsdl:message name="resumeFin dObjectsRespons e">
<wsdl:part name="response" type="tns1:Fiel dSearchResult"/>
</wsdl:message>
<wsdl:message name="listDatas treamsRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getObject HistoryRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getDissem inationResponse ">
<wsdl:part name="response" type="tns1:MIME TypedStream"/>
</wsdl:message>
<wsdl:message name="describeR epositoryRespon se">
<wsdl:part name="response" type="tns1:Repo sitoryInfo"/>
</wsdl:message>
<wsdl:message name="listMetho dsRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getDatast reamDisseminati onRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="dsID" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="resumeFin dObjectsRequest ">
<wsdl:part name="sessionTo ken" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="listMetho dsResponse">
<wsdl:part name="response" type="tns1:Arra yOfObjectMethod sDef"/>
</wsdl:message>
<wsdl:message name="describeR epositoryReques t">
</wsdl:message>
<wsdl:message name="getDissem inationRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="bDefPid" type="xsd:strin g"/>
<wsdl:part name="methodNam e" type="xsd:strin g"/>
<wsdl:part name="parameter s" type="tns1:Arra yOfProperty"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="findObjec tsResponse">
<wsdl:part name="response" type="tns1:Fiel dSearchResult"/>
</wsdl:message>
<wsdl:message name="getObject ProfileRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:portTyp e name="Fedora-API-A">
<wsdl:operati on name="describeR epository">
<wsdl:input message="impl:d escribeReposito ryRequest"
name="describe RepositoryReque st"/>
<wsdl:output message="impl:d escribeReposito ryResponse"
name="describe RepositoryRespo nse"/>
</wsdl:operation>
<wsdl:operati on name="getObject Profile" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:g etObjectProfile Request"
name="getObjec tProfileRequest "/>
<wsdl:output message="impl:g etObjectProfile Response"
name="getObjec tProfileRespons e"/>
</wsdl:operation>
<wsdl:operati on name="listMetho ds" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:l istMethodsReque st"
name="listMeth odsRequest"/>
<wsdl:output message="impl:l istMethodsRespo nse"
name="listMeth odsResponse"/>
</wsdl:operation>
<wsdl:operati on name="listDatas treams" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:l istDatastreamsR equest"
name="listData streamsRequest"/>
<wsdl:output message="impl:l istDatastreamsR esponse"
name="listData streamsResponse "/>
</wsdl:operation>
<wsdl:operati on name="getDatast reamDisseminati on" parameterOrder= "pid
dsID asOfDateTime">
<wsdl:input message="impl:g etDatastreamDis seminationReque st"
name="getDatas treamDisseminat ionRequest"/>
<wsdl:output message="impl:g etDatastreamDis seminationRespo nse"
name="getDatas treamDisseminat ionResponse"/>
</wsdl:operation>
<wsdl:operati on name="getDissem ination" parameterOrder= "pid bDefPid
methodName parameters asOfDateTime">
<wsdl:input message="impl:g etDissemination Request"
name="getDisse minationRequest "/>
<wsdl:output message="impl:g etDissemination Response"
name="getDisse minationRespons e"/>
</wsdl:operation>
<wsdl:operati on name="findObjec ts" parameterOrder= "resultFiel ds
maxResults query">
<wsdl:input message="impl:f indObjectsReque st"
name="findObje ctsRequest"/>
<wsdl:output message="impl:f indObjectsRespo nse"
name="findObje ctsResponse"/>
</wsdl:operation>
<wsdl:operati on name="resumeFin dObjects" parameterOrder= "sessionTok en">
<wsdl:input message="impl:r esumeFindObject sRequest"
name="resumeFi ndObjectsReques t"/>
<wsdl:output message="impl:r esumeFindObject sResponse"
name="resumeFi ndObjectsRespon se"/>
</wsdl:operation>
<wsdl:operati on name="getObject History" parameterOrder= "pid">
<wsdl:input message="impl:g etObjectHistory Request"
name="getObjec tHistoryRequest "/>
<wsdl:output message="impl:g etObjectHistory Response"
name="getObjec tHistoryRespons e"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="access/soapSoapBinding " type="impl:Fedo ra-API-A">
<wsdlsoap:bindi ng style="rpc"
transport="htt p://schemas.xmlsoap .org/soap/http"/>
<wsdl:operati on name="describeR epository">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#describeReposi tory"/>
<wsdl:input name="describeR epositoryReques t">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="describeR epositoryRespon se">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getObject Profile">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getObjectProfi le"/>
<wsdl:input name="getObject ProfileRequest" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getObject ProfileResponse ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="listMetho ds">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#listMethods"/>
<wsdl:input name="listMetho dsRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="listMetho dsResponse">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="listDatas treams">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#listDatastream s"/>
<wsdl:input name="listDatas treamsRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="listDatas treamsResponse" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getDatast reamDisseminati on">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getDatastreamD issemination"/>
<wsdl:input name="getDatast reamDisseminati onRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getDatast reamDisseminati onResponse">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getDissem ination">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getDisseminati on"/>
<wsdl:input name="getDissem inationRequest" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getDissem inationResponse ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="findObjec ts">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#findObjects"/>
<wsdl:input name="findObjec tsRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="findObjec tsResponse">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="resumeFin dObjects">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#resumeFindObje cts"/>
<wsdl:input name="resumeFin dObjectsRequest ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="resumeFin dObjectsRespons e">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getObject History">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getObjectHisto ry"/>
<wsdl:input name="getObject HistoryRequest" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getObject HistoryResponse ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Fedora-API-A-Service">
<wsdl:port binding="impl:a ccess/soapSoapBinding " name="access/soap">
<wsdlsoap:addre ss location="http://localhost:8080/fedora/access/soap"/>
</wsdl:port>
</wsdl:service>
</wsdl:definition s>

(2) And the corresponding classes generated by wsdl.exe in C# are as
following:
///////////////////////////////////////////////////////////////////////////////
namespace FedoraDAL.Fedor aAPIA {
using System.Diagnost ics;
using System.Xml.Seri alization;
using System;
using System.Web.Serv ices.Protocols;
using System.Componen tModel;
using System.Web.Serv ices;
using System.Collecti ons;

/// <remarks/>
[System.Diagnost ics.DebuggerSte pThroughAttribu te()]
[System.Componen tModel.Designer CategoryAttribu te("code")]

[System.Web.Serv ices.WebService BindingAttribut e(Name="access/soapSoapBinding ", Namespace="http ://www.fedora.info/definitions/1/0/api/")]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(ObjectF ields))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Conditi on))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Propert y))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Datastr eamDef))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(MethodP armDef))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(ObjectM ethodsDef))]
public class FedoraAPIAServi ce :
System.Web.Ser vices.Protocols .SoapHttpClient Protocol {
/// <remarks/>
public FedoraAPIAServi ce() {
this.Url = "http://localhost:8080/fedora/access/soap";
}

/// <remarks/>
[System.Web.Serv ices.Protocols. SoapRpcMethodtt ribute("http://www.fedora.info/definitions/1/0/api/#findObjects",
RequestNamespa ce="http://www.fedora.info/definitions/1/0/api/",
ResponseNamesp ace="http://www.fedora.info/definitions/1/0/api/")]
[return: System.Xml.Seri alization.SoapE lementAttribute ("response")]
public FieldSearchResu lt findObjects(str ing[] resultFields,
[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )] string maxResults, FieldSearchQuer y query) {
object[] results = this.Invoke("fi ndObjects", new object[] {
resultFields,
maxResults,
query});
return ((FieldSearchRe sult)(results[0]));
}


}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("O bjectFields",
"http://www.fedora.info/definitions/1/0/types/")]
public class ObjectFields {
/// <remarks/>
public string pid;

/// <remarks/>
public string label;

/// <remarks/>
public string fType;

/// <remarks/>
public string cModel;

/// <remarks/>
public string state;

/// <remarks/>
public string ownerId;

/// <remarks/>
public string cDate;

/// <remarks/>
public string mDate;

/// <remarks/>
public string dcmDate;

/// <remarks/>
public string[] bDef;

/// <remarks/>
public string[] bMech;

/// <remarks/>
public string[] title;

/// <remarks/>
public string[] creator;

/// <remarks/>
public string[] subject;

/// <remarks/>
public string[] description;

/// <remarks/>
public string[] publisher;

/// <remarks/>
public string[] contributor;

/// <remarks/>
public string[] date;

/// <remarks/>
public string[] type;

/// <remarks/>
public string[] format;

/// <remarks/>
public string[] identifier;

/// <remarks/>
public string[] source;

/// <remarks/>
public string[] language;

/// <remarks/>
public string[] relation;

/// <remarks/>
public string[] coverage;

/// <remarks/>
public string[] rights;
}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("L istSession",
"http://www.fedora.info/definitions/1/0/types/")]
public class ListSession {

/// <remarks/>
public string token;

/// <remarks/>

[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )]
public string cursor;

/// <remarks/>

[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )]
public string completeListSiz e;

/// <remarks/>
public string expirationDate;
}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("F ieldSearchResul t",
"http://www.fedora.info/definitions/1/0/types/")]
public class FieldSearchResu lt {

/// <remarks/>
public ListSession listSession;

/// <remarks/>
public ObjectFields[] resultList;
}
}

(3) And I have trapped the response message from the XML Web Services as
following:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>.
<soapenv:Envel ope xmlns:soapenv=" http://schemas.xmlsoap .org/soap/envelope/"
xmlns:xsd="htt p://www.w3.org/2001/XMLSchema"
xmlns:xsi="htt p://www.w3.org/2001/XMLSchema-instance">.
<soapenv:Body >.
<ns1:findObject sResponse
soapenv:encodi ngStyle="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns1="htt p://www.fedora.info/definitions/1/0/api/">.
<response href="#id0"/>.
</ns1:findObjects Response>.
<multiRef id="id0" soapenc:root="0 "
soapenv:encodi ngStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns2: FieldSearchResu lt"
xmlns:soapenc= "http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns2="htt p://www.fedora.info/definitions/1/0/types/">.
<listSession xsi:type="ns2:L istSession" xsi:nil="true"/>.
<resultList xsi:type="soape nc:Array" soapenc:array
Type="ns2:Obje ctFields[1]">.
<item href="#id1"/>.
</resultList>.
</multiRef>.
<multiRef id="id1" soapenc:root="0 "
soapenv:encodi ngStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns3: ObjectFields"
xmlns:ns3="htt p://www.fedora.info/definitions/1/0/types/"
xmlns:soapenc= "http://schemas.xmlsoap .org/soap/encoding/">.
<pid xsi:type="xsd:s tring">demo:1</pid>.
<label xsi:type="xsd:s tring" xsi:nil="true"/>.
<fType xsi:type="xsd:s tring" xsi:nil="true"/>.
<cModel xsi:type="xsd:s tring" xsi:nil="true"/>.
<state xsi:type="xsd:s tring" xsi:nil="true"/>.
<ownerId xsi:type="xsd:s tring" xsi:nil="true"/>.
<cDate xsi:type="xsd:s tring">2004-12-10T00:21:52.000 Z</cDate>.
<mDate xsi:type="xsd:s tring" xsi:nil="true"/>.
<dcmDate xsi:type="xsd:s tring" xsi:nil="true"/>.
<title xsi:type="xsd:s tring">Behavior Definition Object for UVA Simple
Image Contract</title>.
</multiRef>.
</soapenv:Body>.
</soapenv:Envelop e>.


Nov 23 '05 #2
Hi m8,

The primary problem is "not designed for interoperabilit y" (but
there's no way to change that anymore ;-) ).

The first part of the "findObjectsReq uest" message seems to be a
String[]. Is that reflected in the generated proxy on the .Net side?

This is the place i identified as a possible "String to String[]" cast
exception.

Hope this helps,

Marvin Smit
side remarks:
The Axis WebService uses the RPC/Encoded standard. This will NOT work
well with future version of WebServices (rpc/enc = deprecated, use
doc/lit instead)

On Sun, 10 Apr 2005 06:19:01 -0700, "yqlu"
<yq**@discussio ns.microsoft.co m> wrote:
I hava developed a client in C# that is connected to a 3-party XML Web
Services developed in Java based on the AXIS 1.1. Most methods call are
successful except for one method named "findObject s" and return a complex
type "FieldSearchRes ult". The error message as following :
"Cannot assign object of type System.String to an object of type
System.Strin g[]. There is an error in XML document (23, 97)."
By the way,I hava written a client in Java and everything is working.
I dont know how to resolve the problem, can anyone help me?
Thanks!

WSDL?auto-generated proxy class and Web Services Response Message are as
following:

(1) The corresponding WSDL as following:
///////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definiti ons ......>
<import namespace="http ://schemas.xmlsoap .org/soap/encoding/"/>
<simpleType name="passByRef ">
<restriction base="xsd:strin g">
<enumeration value="URL_REF"/>
</restriction>
</simpleType>
<simpleType name="passByVal ue">
<restriction base="xsd:strin g">
<enumeration value="VALUE"/>
</restriction>
</simpleType>
<simpleType name="Compariso nOperator">
<restriction base="xsd:strin g">
<enumeration value="has"/>
<enumeration value="eq"/>
<enumeration value="lt"/>
<enumeration value="le"/>
<enumeration value="gt"/>
<enumeration value="ge"/>
</restriction>
</simpleType>
<complexType name="Condition ">
<sequence>
<element name="property" nillable="true" type="xsd:strin g"/>
<element name="operator" nillable="true" type="tns1:Comp arisonOperator"/>
<element name="value" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="Datastrea mDef">
<sequence>
<element name="ID" nillable="true" type="xsd:strin g"/>
<element name="label" nillable="true" type="xsd:strin g"/>
<element name="MIMEType" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ListSessi on">
<sequence>
<element name="token" nillable="true" type="xsd:strin g"/>
<element maxOccurs="1" minOccurs="0" name="cursor" nillable="true"
type="xsd:nonN egativeInteger"/>
<element maxOccurs="1" minOccurs="0" name="completeL istSize"
nillable="true " type="xsd:nonNe gativeInteger"/>
<element maxOccurs="1" minOccurs="0" name="expiratio nDate"
nillable="true " type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ObjectFie lds">
<sequence>
<element maxOccurs="1" minOccurs="0" name="pid" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="label" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="fType" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="cModel" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="state" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="ownerId" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="cDate" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="mDate" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="1" minOccurs="0" name="dcmDate" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="bDef" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="bMech" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="title" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="creator"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="subject"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="descripti on"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="publisher "
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="contribut or"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="date" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="type" nillable="true"
type="xsd:stri ng"/>
<element maxOccurs="unbo unded" minOccurs="0" name="format"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="identifie r"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="source"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="language"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="relation"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="coverage"
nillable="true " type="xsd:strin g"/>
<element maxOccurs="unbo unded" minOccurs="0" name="rights"
nillable="true " type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfOb jectFields">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:ObjectFie lds[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="FieldSear chResult">
<sequence>
<element maxOccurs="1" minOccurs="0" name="listSessi on" nillable="true"
type="tns1:Lis tSession"/>
<element name="resultLis t" nillable="true"
type="tns1:Arr ayOfObjectField s"/>
</sequence>
</complexType>
<simpleType name="defaultIn putType">
<restriction base="xsd:strin g">
<enumeration value="fedora:d efaultInputType "/>
</restriction>
</simpleType>
<simpleType name="userInput Type">
<restriction base="xsd:strin g">
<enumeration value="fedora:u serInputType"/>
</restriction>
</simpleType>
<complexType name="ArrayOfCo ndition">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:Condi tion[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="FieldSear chQuery">
<sequence>
<element name="condition s" nillable="true" type="tns1:Arra yOfCondition"/>
<element name="terms" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ObjectPro file">
<sequence>
<element name="pid" nillable="true" type="xsd:strin g"/>
<element name="objLabel" nillable="true" type="xsd:strin g"/>
<element name="objConten tModel" nillable="true" type="xsd:strin g"/>
<element name="objType" nillable="true" type="xsd:strin g"/>
<element name="objCreate Date" nillable="true" type="xsd:strin g"/>
<element name="objLastMo dDate" nillable="true" type="xsd:strin g"/>
<element name="objDissIn dexViewURL" nillable="true" type="xsd:strin g"/>
<element name="objItemIn dexViewURL" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfSt ring">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<simpleType name="datastrea mInputType">
<restriction base="xsd:strin g">
<enumeration value="fedora:d atastreamInputT ype"/>
</restriction>
</simpleType>
<complexType name="MethodPar mDef">
<sequence>
<element name="parmName" nillable="true" type="xsd:strin g"/>
<element name="parmType" nillable="true" type="xsd:strin g"/>
<element name="parmDefau ltValue" nillable="true" type="xsd:strin g"/>
<element name="parmDomai nValues" nillable="true"
type="tns1:Arr ayOfString"/>
<element name="parmRequi red" type="xsd:boole an"/>
<element name="parmLabel " nillable="true" type="xsd:strin g"/>
<element name="parmPassB y" nillable="true" type="xsd:strin g"/>
<element name="PASS_BY_R EF" nillable="true" type="tns1:pass ByRef"/>
<element name="PASS_BY_V ALUE" nillable="true" type="tns1:pass ByValue"/>
<element name="DATASTREA M_INPUT" nillable="true"
type="tns1:dat astreamInputTyp e"/>
<element name="USER_INPU T" nillable="true" type="tns1:user InputType"/>
<element name="DEFAULT_I NPUT" nillable="true"
type="tns1:def aultInputType"/>
</sequence>
</complexType>
<complexType name="ArrayOfMe thodParmDef">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:MethodPar mDef[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ObjectMet hodsDef">
<sequence>
<element name="PID" nillable="true" type="xsd:strin g"/>
<element name="bDefPID" nillable="true" type="xsd:strin g"/>
<element name="methodNam e" nillable="true" type="xsd:strin g"/>
<element name="methodPar mDefs" nillable="true"
type="tns1:Arr ayOfMethodParmD ef"/>
<element name="asOfDate" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="Property" >
<sequence>
<element name="name" nillable="true" type="xsd:strin g"/>
<element name="value" nillable="true" type="xsd:strin g"/>
</sequence>
</complexType>
<complexType name="ArrayOfPr operty">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns1:Prope rty[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="MIMETyped Stream">
<sequence>
<element name="MIMEType" nillable="true" type="xsd:strin g"/>
<element name="stream" type="xsd:base6 4Binary"/>
<element name="header" nillable="true" type="tns1:Arra yOfProperty"/>
</sequence>
</complexType>
<complexType name="Repositor yInfo">
<sequence>
<element name="repositor yName" nillable="true" type="xsd:strin g"/>
<element name="repositor yVersion" nillable="true" type="xsd:strin g"/>
<element name="repositor yBaseURL" nillable="true" type="xsd:strin g"/>
<element name="repositor yPIDNamespace" nillable="true" type="xsd:strin g"/>
<element name="defaultEx portFormat" nillable="true" type="xsd:strin g"/>
<element name="OAINamesp ace" nillable="true" type="xsd:strin g"/>
<element name="adminEmai lList" nillable="true" type="tns1:Arra yOfString"/>
<element name="samplePID " nillable="true" type="xsd:strin g"/>
<element name="sampleOAI Identifier" nillable="true" type="xsd:strin g"/>
<element name="sampleSea rchURL" nillable="true" type="xsd:strin g"/>
<element name="sampleAcc essURL" nillable="true" type="xsd:strin g"/>
<element name="sampleOAI URL" nillable="true" type="xsd:strin g"/>
<element name="retainPID s" nillable="true" type="tns1:Arra yOfString"/>
</sequence>
</complexType>
<complexType name="ArrayOfOb jectMethodsDef" >
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType"
wsdl:arrayType ="tns1:ObjectMe thodsDef[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfDa tastreamDef">
<complexContent >
<restriction base="soapenc:A rray">
<attribute ref="soapenc:ar rayType" wsdl:arrayType= "tns:Datastream Def[]"/>
</restriction>
</complexContent>
</complexType>
</Schema>
</wsdl:types>
<wsdl:messag e name="getDatast reamDisseminati onResponse">
<wsdl:part name="response" type="tns1:MIME TypedStream"/>
</wsdl:message>
<wsdl:message name="findObjec tsRequest">
<wsdl:part name="resultFie lds" type="tns1:Arra yOfString"/>
<wsdl:part name="maxResult s" type="xsd:nonNe gativeInteger"/>
<wsdl:part name="query" type="tns1:Fiel dSearchQuery"/>
</wsdl:message>
<wsdl:message name="getObject ProfileResponse ">
<wsdl:part name="response" type="tns1:Obje ctProfile"/>
</wsdl:message>
<wsdl:message name="listDatas treamsResponse" >
<wsdl:part name="response" type="tns1:Arra yOfDatastreamDe f"/>
</wsdl:message>
<wsdl:message name="getObject HistoryResponse ">
<wsdl:part name="response" type="tns1:Arra yOfString"/>
</wsdl:message>
<wsdl:message name="resumeFin dObjectsRespons e">
<wsdl:part name="response" type="tns1:Fiel dSearchResult"/>
</wsdl:message>
<wsdl:message name="listDatas treamsRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getObject HistoryRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getDissem inationResponse ">
<wsdl:part name="response" type="tns1:MIME TypedStream"/>
</wsdl:message>
<wsdl:message name="describeR epositoryRespon se">
<wsdl:part name="response" type="tns1:Repo sitoryInfo"/>
</wsdl:message>
<wsdl:message name="listMetho dsRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="getDatast reamDisseminati onRequest">
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="dsID" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="resumeFin dObjectsRequest ">
<wsdl:part name="sessionTo ken" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="listMetho dsResponse">
<wsdl:part name="response" type="tns1:Arra yOfObjectMethod sDef"/>
</wsdl:message>
<wsdl:message name="describeR epositoryReques t">
</wsdl:message>
<wsdl:message name="getDissem inationRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="bDefPid" type="xsd:strin g"/>
<wsdl:part name="methodNam e" type="xsd:strin g"/>
<wsdl:part name="parameter s" type="tns1:Arra yOfProperty"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:message name="findObjec tsResponse">
<wsdl:part name="response" type="tns1:Fiel dSearchResult"/>
</wsdl:message>
<wsdl:message name="getObject ProfileRequest" >
<wsdl:part name="pid" type="xsd:strin g"/>
<wsdl:part name="asOfDateT ime" type="xsd:strin g"/>
</wsdl:message>
<wsdl:portTyp e name="Fedora-API-A">
<wsdl:operati on name="describeR epository">
<wsdl:input message="impl:d escribeReposito ryRequest"
name="describe RepositoryReque st"/>
<wsdl:output message="impl:d escribeReposito ryResponse"
name="describe RepositoryRespo nse"/>
</wsdl:operation>
<wsdl:operati on name="getObject Profile" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:g etObjectProfile Request"
name="getObjec tProfileRequest "/>
<wsdl:output message="impl:g etObjectProfile Response"
name="getObjec tProfileRespons e"/>
</wsdl:operation>
<wsdl:operati on name="listMetho ds" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:l istMethodsReque st"
name="listMeth odsRequest"/>
<wsdl:output message="impl:l istMethodsRespo nse"
name="listMeth odsResponse"/>
</wsdl:operation>
<wsdl:operati on name="listDatas treams" parameterOrder= "pid asOfDateTime">
<wsdl:input message="impl:l istDatastreamsR equest"
name="listData streamsRequest"/>
<wsdl:output message="impl:l istDatastreamsR esponse"
name="listData streamsResponse "/>
</wsdl:operation>
<wsdl:operati on name="getDatast reamDisseminati on" parameterOrder= "pid
dsID asOfDateTime">
<wsdl:input message="impl:g etDatastreamDis seminationReque st"
name="getDatas treamDisseminat ionRequest"/>
<wsdl:output message="impl:g etDatastreamDis seminationRespo nse"
name="getDatas treamDisseminat ionResponse"/>
</wsdl:operation>
<wsdl:operati on name="getDissem ination" parameterOrder= "pid bDefPid
methodName parameters asOfDateTime">
<wsdl:input message="impl:g etDissemination Request"
name="getDisse minationRequest "/>
<wsdl:output message="impl:g etDissemination Response"
name="getDisse minationRespons e"/>
</wsdl:operation>
<wsdl:operati on name="findObjec ts" parameterOrder= "resultFiel ds
maxResults query">
<wsdl:input message="impl:f indObjectsReque st"
name="findObje ctsRequest"/>
<wsdl:output message="impl:f indObjectsRespo nse"
name="findObje ctsResponse"/>
</wsdl:operation>
<wsdl:operati on name="resumeFin dObjects" parameterOrder= "sessionTok en">
<wsdl:input message="impl:r esumeFindObject sRequest"
name="resumeFi ndObjectsReques t"/>
<wsdl:output message="impl:r esumeFindObject sResponse"
name="resumeFi ndObjectsRespon se"/>
</wsdl:operation>
<wsdl:operati on name="getObject History" parameterOrder= "pid">
<wsdl:input message="impl:g etObjectHistory Request"
name="getObjec tHistoryRequest "/>
<wsdl:output message="impl:g etObjectHistory Response"
name="getObjec tHistoryRespons e"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="access/soapSoapBinding " type="impl:Fedo ra-API-A">
<wsdlsoap:bindi ng style="rpc"
transport="htt p://schemas.xmlsoap .org/soap/http"/>
<wsdl:operati on name="describeR epository">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#describeReposi tory"/>
<wsdl:input name="describeR epositoryReques t">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="describeR epositoryRespon se">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getObject Profile">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getObjectProfi le"/>
<wsdl:input name="getObject ProfileRequest" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getObject ProfileResponse ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="listMetho ds">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#listMethods"/>
<wsdl:input name="listMetho dsRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="listMetho dsResponse">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="listDatas treams">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#listDatastream s"/>
<wsdl:input name="listDatas treamsRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="listDatas treamsResponse" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getDatast reamDisseminati on">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getDatastreamD issemination"/>
<wsdl:input name="getDatast reamDisseminati onRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getDatast reamDisseminati onResponse">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getDissem ination">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getDisseminati on"/>
<wsdl:input name="getDissem inationRequest" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getDissem inationResponse ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="findObjec ts">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#findObjects"/>
<wsdl:input name="findObjec tsRequest">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="findObjec tsResponse">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="resumeFin dObjects">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#resumeFindObje cts"/>
<wsdl:input name="resumeFin dObjectsRequest ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="resumeFin dObjectsRespons e">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="getObject History">
<wsdlsoap:opera tion
soapAction="ht tp://www.fedora.info/definitions/1/0/api/#getObjectHisto ry"/>
<wsdl:input name="getObject HistoryRequest" >
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:input>
<wsdl:output name="getObject HistoryResponse ">
<wsdlsoap:bod y
encodingStyle= "http://schemas.xmlsoap .org/soap/encoding/"
namespace="htt p://www.fedora.info/definitions/1/0/api/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Fedora-API-A-Service">
<wsdl:port binding="impl:a ccess/soapSoapBinding " name="access/soap">
<wsdlsoap:addre ss location="http://localhost:8080/fedora/access/soap"/>
</wsdl:port>
</wsdl:service>
</wsdl:definition s>

(2) And the corresponding classes generated by wsdl.exe in C# are as
following:
///////////////////////////////////////////////////////////////////////////////
namespace FedoraDAL.Fedor aAPIA {
using System.Diagnost ics;
using System.Xml.Seri alization;
using System;
using System.Web.Serv ices.Protocols;
using System.Componen tModel;
using System.Web.Serv ices;
using System.Collecti ons;

/// <remarks/>
[System.Diagnost ics.DebuggerSte pThroughAttribu te()]
[System.Componen tModel.Designer CategoryAttribu te("code")]

[System.Web.Serv ices.WebService BindingAttribut e(Name="access/soapSoapBinding ", Namespace="http ://www.fedora.info/definitions/1/0/api/")]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(ObjectF ields))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Conditi on))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Propert y))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Datastr eamDef))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(MethodP armDef))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(ObjectM ethodsDef))]
public class FedoraAPIAServi ce :
System.Web.Ser vices.Protocols .SoapHttpClient Protocol {
/// <remarks/>
public FedoraAPIAServi ce() {
this.Url = "http://localhost:8080/fedora/access/soap";
}

/// <remarks/>
[System.Web.Serv ices.Protocols. SoapRpcMethodtt ribute("http://www.fedora.info/definitions/1/0/api/#findObjects",
RequestNamespa ce="http://www.fedora.info/definitions/1/0/api/",
ResponseNamesp ace="http://www.fedora.info/definitions/1/0/api/")]
[return: System.Xml.Seri alization.SoapE lementAttribute ("response")]
public FieldSearchResu lt findObjects(str ing[] resultFields,
[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )] string maxResults, FieldSearchQuer y query) {
object[] results = this.Invoke("fi ndObjects", new object[] {
resultFields,
maxResults,
query});
return ((FieldSearchRe sult)(results[0]));
}


}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("O bjectFields",
"http://www.fedora.info/definitions/1/0/types/")]
public class ObjectFields {
/// <remarks/>
public string pid;

/// <remarks/>
public string label;

/// <remarks/>
public string fType;

/// <remarks/>
public string cModel;

/// <remarks/>
public string state;

/// <remarks/>
public string ownerId;

/// <remarks/>
public string cDate;

/// <remarks/>
public string mDate;

/// <remarks/>
public string dcmDate;

/// <remarks/>
public string[] bDef;

/// <remarks/>
public string[] bMech;

/// <remarks/>
public string[] title;

/// <remarks/>
public string[] creator;

/// <remarks/>
public string[] subject;

/// <remarks/>
public string[] description;

/// <remarks/>
public string[] publisher;

/// <remarks/>
public string[] contributor;

/// <remarks/>
public string[] date;

/// <remarks/>
public string[] type;

/// <remarks/>
public string[] format;

/// <remarks/>
public string[] identifier;

/// <remarks/>
public string[] source;

/// <remarks/>
public string[] language;

/// <remarks/>
public string[] relation;

/// <remarks/>
public string[] coverage;

/// <remarks/>
public string[] rights;
}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("L istSession",
"http://www.fedora.info/definitions/1/0/types/")]
public class ListSession {

/// <remarks/>
public string token;

/// <remarks/>

[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )]
public string cursor;

/// <remarks/>

[System.Xml.Seri alization.SoapE lementAttribute (DataType="nonN egativeInteger" )]
public string completeListSiz e;

/// <remarks/>
public string expirationDate;
}

/// <remarks/>
[System.Xml.Seri alization.SoapT ypeAttribute("F ieldSearchResul t",
"http://www.fedora.info/definitions/1/0/types/")]
public class FieldSearchResu lt {

/// <remarks/>
public ListSession listSession;

/// <remarks/>
public ObjectFields[] resultList;
}
}

(3) And I have trapped the response message from the XML Web Services as
following:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>.
<soapenv:Envel ope xmlns:soapenv=" http://schemas.xmlsoap .org/soap/envelope/"
xmlns:xsd="htt p://www.w3.org/2001/XMLSchema"
xmlns:xsi="htt p://www.w3.org/2001/XMLSchema-instance">.
<soapenv:Body >.
<ns1:findObject sResponse
soapenv:encodi ngStyle="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns1="htt p://www.fedora.info/definitions/1/0/api/">.
<response href="#id0"/>.
</ns1:findObjects Response>.
<multiRef id="id0" soapenc:root="0 "
soapenv:encodi ngStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns2: FieldSearchResu lt"
xmlns:soapenc= "http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns2="htt p://www.fedora.info/definitions/1/0/types/">.
<listSession xsi:type="ns2:L istSession" xsi:nil="true"/>.
<resultList xsi:type="soape nc:Array" soapenc:array
Type="ns2:Obje ctFields[1]">.
<item href="#id1"/>.
</resultList>.
</multiRef>.
<multiRef id="id1" soapenc:root="0 "
soapenv:encodi ngStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns3: ObjectFields"
xmlns:ns3="htt p://www.fedora.info/definitions/1/0/types/"
xmlns:soapenc= "http://schemas.xmlsoap .org/soap/encoding/">.
<pid xsi:type="xsd:s tring">demo:1</pid>.
<label xsi:type="xsd:s tring" xsi:nil="true"/>.
<fType xsi:type="xsd:s tring" xsi:nil="true"/>.
<cModel xsi:type="xsd:s tring" xsi:nil="true"/>.
<state xsi:type="xsd:s tring" xsi:nil="true"/>.
<ownerId xsi:type="xsd:s tring" xsi:nil="true"/>.
<cDate xsi:type="xsd:s tring">2004-12-10T00:21:52.000 Z</cDate>.
<mDate xsi:type="xsd:s tring" xsi:nil="true"/>.
<dcmDate xsi:type="xsd:s tring" xsi:nil="true"/>.
<title xsi:type="xsd:s tring">Behavior Definition Object for UVA Simple
Image Contract</title>.
</multiRef>.
</soapenv:Body>.
</soapenv:Envelop e>.


Nov 23 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
385
by: Karl | last post by:
Hi everyone, We developped a WebService with Visual Studio .Net and we faced an authentication problem with a java client. My assumption is that this is because cookies passed from client are misunderstood by the framework. Basically, these are the headers received from the client (I used a packet sniffer to know exactly what we received from him before the framework modifies it):
4
6324
by: JLJ | last post by:
I have a very simple webservice written in Java/Axis. It takes in a complexType with 2 string elements, userid and password. The response is a complexType containing two complexTypes each having 2 strings <wsdl:portType name=SecurityLoginService"> <wsdl:operation name="login"> <wsdl:input message="tns:loginRequest" name="loginRequest"/> <wsdl:output message="tns:loginResponse" name="loginResponse"/> </wsdl:operation> </wsdl:portType>
0
2801
by: Det | last post by:
Hi there I am somewhat stuck with calling a WebService from out of a VB App. My Goal: - Get a WebService invoked under MS - Access 2002, not using the MS-SOAP-Toolkit but the .net - Framework My Restrictions: - The WebService is pure Java, running under WebSphere5.1 - The Request requires Basic Authentication and needs to be SSL
7
4994
by: Christian Wilhelm | last post by:
Hi! I'm trying to call a Java WebService out of a .net Client. There are two Methods, one Method requires one Parameter of type Parameter, the other Method requires one Parameter of type Parameter. I can call the first Method without Problems, the Parameter can be deserialized by the WebService. But if I want to call the second Method and give it an Array of Parameters, then the following exception is thrown by the WebService:...
7
3098
by: Jorgen Haukland, Norway | last post by:
Hi, I have created a Java webservice which runs in IBM WebSphere appserver. I take the WSDL-file and create a VS.NET WinForm application and calls the service running on my PC and everything works fine. So I deploy the webservice on a remote machine (Linux box) and I get an error when calling the service. BUT: I can retrieve the WSDL and make a webreference in my VS.NET project, so obviously I (or more correct: My VS.NET project) am...
6
8971
by: Sascha Schmidt | last post by:
Hi again! Well, the first part of my "mission" (calling remoting objects from a webservice) is solved. But there's another part: Calling this C#-Webservice from a java client. Is this a difficult task? Or is this quite easy, like just a few lines of source and using some of the packages from apache.org? Has anybody done this before and will like to tell me about his/her experiences?
4
21418
by: luckyabhishek | last post by:
Hi I am using a java webservice in a .NET application. The xml type of a field in this webservice is xsd:datetime. When i call the webservice from the application i get a deserialization error on the java webservice side. It says "Can not create instance of from string with schema type http://www.w3.org/2001/XMLSchema]". Can anyone let me know what could be the problem. I am just sending a DateTime object which i get from a VB...
1
4039
by: jens Jensen | last post by:
Hello , i'm calling a webservice generated with oracle webservice java tools. I'm not able to add a web reference to a .net client the usual way with visual studio 2005. I was therefore provided with a set of Dll that implement the proxy needed to consume this web service. I'm now wrapping these dlls in a .Net webservice that can be consumed with Visual studio the familliar way.
3
4701
by: shreya | last post by:
While generating client jar files from ant command using build.xml I am getting following error generate-client: Generating client jar for click2pstn.wsdl ... weblogic.xml.schema.model.XSDException: Unable to resolve definition for :c2p:breezeAuthenticationE lementsType perhaps due to the lack of an import statement for namespace http://
0
9875
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, well explore What is ONU, What Is Router, ONU & Routers main usage, and What is the difference between ONU and Router. Lets take a closer look ! Part I. Meaning of...
0
9715
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10945
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10317
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7859
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupr who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
7040
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5886
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4500
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4090
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.