Calling Axis WebService out of .net Client


C

Christian Wilhelm

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:
javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: No deserializer
defined for array type {http://beans.middleware.cat.company.de}Parameter

I have appended the WSDL of the concerning WebService.
It is called using rpc-Style, see <soap:binding
transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />

Both Methods can be called out of a Java Client. So my assumption is a
Problem concerning interoperability between .net and Java.

Does anyone have experience with Interoperability between the two Systems?

Best Regards,
Christian


=== This is the WSDL-File of the Service ===

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://beans.middleware.cat.company.de"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://beans.middleware.cat.compay.de"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://beans.middleware.cat.company.de">
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<s:complexType name="ArrayOf_xsd_string">
<s:complexContent mixed="false">
<s:restriction base="soapenc:Array">
<s:attribute wsdl:arrayType="s:string[]" ref="soapenc:arrayType" />
</s:restriction>
</s:complexContent>
</s:complexType>
<s:complexType name="CustmapData">
<s:sequence>
<s:element name="ID" nillable="true" type="s:int" />
<s:element name="createFrom" nillable="true" type="s:int" />
<s:element name="createStamp" nillable="true" type="s:dateTime" />
<s:element name="primaryKey" nillable="true" type="s:int" />
<s:element name="refId" nillable="true" type="s:string" />
<s:element name="refType" nillable="true" type="s:string" />
<s:element name="sectionId" nillable="true" type="s:int" />
</s:sequence>
</s:complexType>
<s:complexType name="TicketData">
<s:sequence>
<s:element name="ID" nillable="true" type="s:int" />
<s:element name="createAt" nillable="true" type="s:dateTime" />
<s:element name="createFrom" nillable="true" type="s:int" />
<s:element name="custmapId" nillable="true" type="s:int" />
<s:element name="escalationlevel" nillable="true" type="s:int" />
<s:element name="lastaccessAt" nillable="true" type="s:dateTime" />
<s:element name="lastaccessFrom" nillable="true" type="s:int" />
<s:element name="ownernow" nillable="true" type="s:int" />
<s:element name="ownerteam" nillable="true" type="s:int" />
<s:element name="primaryKey" nillable="true" type="s:int" />
<s:element name="remark" nillable="true" type="s:string" />
<s:element name="status" nillable="true" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfTicketData">
<s:complexContent mixed="false">
<s:restriction base="soapenc:Array">
<s:attribute wsdl:arrayType="tns:TicketData[]" ref="soapenc:arrayType" />
</s:restriction>
</s:complexContent>
</s:complexType>
<s:complexType name="CustmapTransferObject">
<s:complexContent mixed="false">
<s:extension base="tns:CustmapData">
<s:sequence>
<s:element name="tickets" nillable="true" type="tns:ArrayOfTicketData" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="Parameter">
<s:sequence>
<s:element name="name" nillable="true" type="s:string" />
<s:element name="parameterValue" nillable="true" type="s:anyType" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOf_xsd_anyType">
<s:complexContent mixed="false">
<s:restriction base="soapenc:Array">
<s:attribute wsdl:arrayType="s:anyType[]" ref="soapenc:arrayType" />
</s:restriction>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfParameter">
<s:complexContent mixed="false">
<s:restriction base="soapenc:Array">
<s:attribute wsdl:arrayType="tns:parameter[]" ref="soapenc:arrayType" />
</s:restriction>
</s:complexContent>
</s:complexType>
<s:complexType name="ParameterArray">
<s:sequence>
<s:element name="parameterArray" nillable="true" type="tns:ArrayOfParameter"
/>
</s:sequence>
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="getExampleHashResponse">
<wsdl:part name="getExampleHashReturn" type="tns:parameter" />
</wsdl:message>
<wsdl:message name="ainvokeThirdPartyRequest">
<wsdl:part name="targetUrl" type="s:string" />
<wsdl:part name="functionName" type="s:string" />
<wsdl:part name="parameter" type="s:anyType" />
</wsdl:message>
<wsdl:message name="testSoapClientRequest" />
<wsdl:message name="getExampleArrayRequest" />
<wsdl:message name="getCustmapByIdResponse">
<wsdl:part name="getCustmapByIdReturn" type="tns:CustmapTransferObject" />
</wsdl:message>
<wsdl:message name="getExampleHashRequest" />
<wsdl:message name="getCustmapByIdRequest">
<wsdl:part name="custmapID" type="s:int" />
</wsdl:message>
<wsdl:message name="getTicketsForCustmapRequest">
<wsdl:part name="custmapID" type="s:int" />
</wsdl:message>
<wsdl:message name="testSoapClientResponse">
<wsdl:part name="testSoapClientReturn" type="s:anyType" />
</wsdl:message>
<wsdl:message name="testStringArrayRequest">
<wsdl:part name="strArray" type="tns:ArrayOf_xsd_string" />
</wsdl:message>
<wsdl:message name="testStringArrayResponse">
<wsdl:part name="testStringArrayReturn" type="s:string" />
</wsdl:message>
<wsdl:message name="getExampleArrayResponse">
<wsdl:part name="getExampleArrayReturn" type="tns:ArrayOf_xsd_anyType" />
</wsdl:message>
<wsdl:message name="invokeThirdPartyRequest">
<wsdl:part name="targetUrl" type="s:string" />
<wsdl:part name="functionName" type="s:string" />
<wsdl:part name="systemName" type="s:string" />
<wsdl:part name="parameter" type="s:anyType" />
</wsdl:message>
<wsdl:message name="ainvokeThirdPartyResponse">
<wsdl:part name="ainvokeThirdPartyReturn" type="s:anyType" />
</wsdl:message>
<wsdl:message name="invokeThirdPartyResponse">
<wsdl:part name="invokeThirdPartyReturn" type="s:anyType" />
</wsdl:message>
<wsdl:message name="getTicketsForCustmapResponse">
<wsdl:part name="getTicketsForCustmapReturn" type="tns:ArrayOfTicketData" />
</wsdl:message>
<wsdl:portType name="RemoteService">
<wsdl:eek:peration name="testSoapClient">
<wsdl:input name="testSoapClientRequest" message="tns:testSoapClientRequest"
/>
<wsdl:eek:utput name="testSoapClientResponse"
message="tns:testSoapClientResponse" />
</wsdl:eek:peration>
<wsdl:eek:peration name="testStringArray" parameterOrder="strArray">
<wsdl:input name="testStringArrayRequest"
message="tns:testStringArrayRequest" />
<wsdl:eek:utput name="testStringArrayResponse"
message="tns:testStringArrayResponse" />
</wsdl:eek:peration>
<wsdl:eek:peration name="ainvokeThirdParty" parameterOrder="targetUrl
functionName parameter">
<wsdl:input name="ainvokeThirdPartyRequest"
message="tns:ainvokeThirdPartyRequest" />
<wsdl:eek:utput name="ainvokeThirdPartyResponse"
message="tns:ainvokeThirdPartyResponse" />
</wsdl:eek:peration>
<wsdl:eek:peration name="invokeThirdParty" parameterOrder="targetUrl
functionName systemName parameter">
<wsdl:input name="invokeThirdPartyRequest"
message="tns:invokeThirdPartyRequest" />
<wsdl:eek:utput name="invokeThirdPartyResponse"
message="tns:invokeThirdPartyResponse" />
</wsdl:eek:peration>
<wsdl:eek:peration name="getCustmapById" parameterOrder="custmapID">
<wsdl:input name="getCustmapByIdRequest" message="tns:getCustmapByIdRequest"
/>
<wsdl:eek:utput name="getCustmapByIdResponse"
message="tns:getCustmapByIdResponse" />
</wsdl:eek:peration>
<wsdl:eek:peration name="getTicketsForCustmap" parameterOrder="custmapID">
<wsdl:input name="getTicketsForCustmapRequest"
message="tns:getTicketsForCustmapRequest" />
<wsdl:eek:utput name="getTicketsForCustmapResponse"
message="tns:getTicketsForCustmapResponse" />
</wsdl:eek:peration>
<wsdl:eek:peration name="getExampleHash">
<wsdl:input name="getExampleHashRequest" message="tns:getExampleHashRequest"
/>
<wsdl:eek:utput name="getExampleHashResponse"
message="tns:getExampleHashResponse" />
</wsdl:eek:peration>
<wsdl:eek:peration name="getExampleArray">
<wsdl:input name="getExampleArrayRequest"
message="tns:getExampleArrayRequest" />
<wsdl:eek:utput name="getExampleArrayResponse"
message="tns:getExampleArrayResponse" />
</wsdl:eek:peration>
</wsdl:portType>
<wsdl:binding name="RemoteServicePortSoapBinding" type="tns:RemoteService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"
/>
<wsdl:eek:peration name="testSoapClient">
<soap:eek:peration soapAction="" />
<wsdl:input name="testSoapClientRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="testSoapClientResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
<wsdl:eek:peration name="testStringArray">
<soap:eek:peration soapAction="" />
<wsdl:input name="testStringArrayRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="testStringArrayResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
<wsdl:eek:peration name="ainvokeThirdParty">
<soap:eek:peration soapAction="" />
<wsdl:input name="ainvokeThirdPartyRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="ainvokeThirdPartyResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
<wsdl:eek:peration name="invokeThirdParty">
<soap:eek:peration soapAction="" />
<wsdl:input name="invokeThirdPartyRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="invokeThirdPartyResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
<wsdl:eek:peration name="getCustmapById">
<soap:eek:peration soapAction="" />
<wsdl:input name="getCustmapByIdRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="getCustmapByIdResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
<wsdl:eek:peration name="getTicketsForCustmap">
<soap:eek:peration soapAction="" />
<wsdl:input name="getTicketsForCustmapRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="getTicketsForCustmapResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
<wsdl:eek:peration name="getExampleHash">
<soap:eek:peration soapAction="" />
<wsdl:input name="getExampleHashRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="getExampleHashResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
<wsdl:eek:peration name="getExampleArray">
<soap:eek:peration soapAction="" />
<wsdl:input name="getExampleArrayRequest">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:eek:utput name="getExampleArrayResponse">
<soap:body use="encoded" namespace="http://beans.middleware.cat.company.de"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:eek:utput>
</wsdl:eek:peration>
</wsdl:binding>
<wsdl:service name="RemoteService">
<wsdl:port name="RemoteServicePort"
binding="tns:RemoteServicePortSoapBinding">
<soap:address location="http://xx-xx-xxx:8080//services/RemoteService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top