Hello Mathias,

The good news for you is that:
IT IS POSSIBLE. I suceed to exchange arrays between a java service and a
.net client (dotnet 2.0)

I used the wsdl first approach, then I genarated the stubs [1].

I suggest you to take a look at this pages:

http://wiki.apache.org/ws/DotNetInteropArrays

Also in order to interoperate with dotnet you should use the "wrapped"
convention in your wsdl because dotnet uses it by default.

This is a good article by Anne Thomas Manes about this topic with an WSDL
file example.


[1] http://www.mindreef.com/newsletter/newsletter-v6.html

Regards,

Jose FERREIRO

PS: Try to implement those changes in your wsdl to see if you may
interoperate (I assume you are using Axis 1.4):


   <wsdl:part element="impl:getProcessedOrders" name="parameters"/>
   <wsdl:part element="impl:getProcessedOrdersResponse" name="parameters"/>

to
   <wsdl:part element="impl:getProcessedOrders" name="getProcessedOrders"/>
   <wsdl:part element="impl:getProcessedOrdersResponse"
name="getProcessedOrdersResponse"/>


Change this to:

<element name="getProcessedOrdersResponse">
   <complexType>
    <sequence>
     <element maxOccurs="unbounded" name="getProcessedOrdersReturn"
type="tns1:OrderHead"/>
    </sequence>
</element>


to

<element name="getProcessedOrdersResponse">
   <complexType>
    <sequence>
       <element name="firstName" nillable="true" type="xsd:string"/>
       <element name="orderId" nillable="true" type="xsd:string"/>
    </sequence>
</element>


On 6/11/08, Mathias P.W Nilsson <[EMAIL PROTECTED]> wrote:
>
>
> Hi!
>
> I have developed a simple Axis webservice and it works fine when invoking
> it
> from a java client. When trying to invoke it in .net client I get an array
> but all the values in the array is empty or nothing.
>
> I have read some posts here about this but I can't resolve this. Has anyone
> consumed Axis webservice from .net with success?
>
> Here is the wsdl genereted from a pojo using eclipse plugin
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="http://ws.hairless.edgesoft.se";
> xmlns:apachesoap="http://xml.apache.org/xml-soap";
> xmlns:impl="http://ws.hairless.edgesoft.se";
> xmlns:intf="http://ws.hairless.edgesoft.se";
> xmlns:tns1="http://model.ws.hairless.edgesoft.se";
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> <!--WSDL created by Apache Axis version: 1.4
> Built on Apr 22, 2006 (06:55:48 PDT)-->
> <wsdl:types>
> <schema elementFormDefault="qualified"
> targetNamespace="http://ws.hairless.edgesoft.se";
> xmlns="http://www.w3.org/2001/XMLSchema";>
>   <import namespace="http://model.ws.hairless.edgesoft.se"/>
>   <element name="getProcessedOrders">
>    <complexType/>
>   </element>
>   <element name="getProcessedOrdersResponse">
>    <complexType>
>     <sequence>
>      <element maxOccurs="unbounded" name="getProcessedOrdersReturn"
> type="tns1:OrderHead"/>
>     </sequence>
>    </complexType>
>   </element>
> </schema>
> <schema elementFormDefault="qualified"
> targetNamespace="http://model.ws.hairless.edgesoft.se";
> xmlns="http://www.w3.org/2001/XMLSchema";>
>   <complexType name="OrderHead">
>    <sequence>
>     <element name="firstName" nillable="true" type="xsd:string"/>
>     <element name="orderId" nillable="true" type="xsd:string"/>
>    </sequence>
>   </complexType>
> </schema>
> </wsdl:types>
>
>   <wsdl:message name="getProcessedOrdersRequest">
>
>      <wsdl:part element="impl:getProcessedOrders" name="parameters"/>
>
>   </wsdl:message>
>
>   <wsdl:message name="getProcessedOrdersResponse">
>
>      <wsdl:part element="impl:getProcessedOrdersResponse"
> name="parameters"/>
>
>   </wsdl:message>
>
>   <wsdl:portType name="OrderService">
>
>      <wsdl:operation name="getProcessedOrders">
>
>         <wsdl:input message="impl:getProcessedOrdersRequest"
> name="getProcessedOrdersRequest"/>
>
>         <wsdl:output message="impl:getProcessedOrdersResponse"
> name="getProcessedOrdersResponse"/>
>
>      </wsdl:operation>
>
>   </wsdl:portType>
>
>   <wsdl:binding name="OrderServiceSoapBinding" type="impl:OrderService">
>
>      <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>
>      <wsdl:operation name="getProcessedOrders">
>
>         <wsdlsoap:operation soapAction=""/>
>
>         <wsdl:input name="getProcessedOrdersRequest">
>
>            <wsdlsoap:body use="literal"/>
>
>         </wsdl:input>
>
>         <wsdl:output name="getProcessedOrdersResponse">
>
>            <wsdlsoap:body use="literal"/>
>
>         </wsdl:output>
>
>      </wsdl:operation>
>
>   </wsdl:binding>
>
>   <wsdl:service name="OrderServiceService">
>
>      <wsdl:port binding="impl:OrderServiceSoapBinding" name="OrderService">
>
>         <wsdlsoap:address
> location="http://192.168.1.2/hairless-web/services/OrderService"/>
>
>      </wsdl:port>
>
>   </wsdl:service>
>
> </wsdl:definitions>
>
> --
> View this message in context:
> http://www.nabble.com/Consume-Axis-web-service-in-.net-client-tp17784604p17784604.html
> Sent from the Axis - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
José Ferreiro
EPFL Communication Systems engineer
ing.sys.com.dipl.EPFL

"Think little goals and expect little achievements. Think big goals and win
big success."  David Joseph Schwartz

Reply via email to