Our requirement is to use raw XML. Its not like calling a method with arguments. We get SOAP request in a specific schema that cannot be mapped to wrapped style. For example, we get list of elements in the body where each element has some attributes. So I thought its easy to deal with raw xml. Moreover, there are quite a bit of interoperability problems with wrapped style (especially with arrays of complex types). Not sure when this will be fixed in Axis (and probably .NET). I am still struggling to make my app work with "wrapped" style webservices. I could not make de-serialization of array of complex bean work on .NET side. There were lot of threads and some people have suggested Eric Chijoke's fix but I can't use patches. It would be great if this problem is fixed in Axis.

Praveen
----- Original Message ----- From: "Anne Thomas Manes" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, February 10, 2005 4:03 PM
Subject: Re: calling MessageService sample with .NET client



For easiest interoperability with .NET, I suggest you use the "wrapped" style.
.NET does allow you to send raw XML, but to do so you have to use a
low-level API. In other words, you can't invoke the service using a
WebReference. To do that you should use "wrapped" style.


-Anne


On Thu, 10 Feb 2005 13:12:43 -0500, Praveen Peddi <[EMAIL PROTECTED]> wrote:
I just deployed the sample MessageService that came with Axis and tried to
access it from .NET client.


My service name is GoogleAccessConnector. But for now I only have the method
that was provided by message sample of Axis. Here is the WSDL anyway. It is
generated by Axis. I am new Message style services. So you can assume I am
dumb and the approach may be wrong :)
<?xml version="1.0" encoding="UTF-8"?>


<wsdl:definitions
targetNamespace="http://localhost:7001/axis/services/GoogleAccessConnector";
xmlns:apachesoap="http://xml.apache.org/xml-soap";
xmlns:impl="http://localhost:7001/axis/services/GoogleAccessConnector";
xmlns:intf="http://localhost:7001/axis/services/GoogleAccessConnector";
xmlns:tns1="http://soap.session.ip.contextmedia.com";
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.2RC2

Built on Feb 08, 2005 (12:11:21 PST)-->

<wsdl:types>

<schema targetNamespace="http://soap.session.ip.contextmedia.com";
xmlns="http://www.w3.org/2001/XMLSchema";>

<element name="echoElements" type="xsd:anyType"/>

</schema>

<schema
targetNamespace="http://localhost:7001/axis/services/GoogleAccessConnector";
xmlns="http://www.w3.org/2001/XMLSchema";>

<element name="echoElementsReturn" type="xsd:anyType"/>

</schema>

</wsdl:types>

<wsdl:message name="echoElementsResponse">

<wsdl:part element="impl:echoElementsReturn" name="echoElementsReturn"/>

</wsdl:message>

<wsdl:message name="echoElementsRequest">

<wsdl:part element="tns1:echoElements" name="part"/>

</wsdl:message>

<wsdl:portType name="GoogleAccessConnector">

<wsdl:operation name="echoElements">

<wsdl:input message="impl:echoElementsRequest" name="echoElementsRequest"/>

<wsdl:output message="impl:echoElementsResponse"
name="echoElementsResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="GoogleAccessConnectorSoapBinding"
type="impl:GoogleAccessConnector">

<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="echoElements">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="echoElementsRequest">

<wsdlsoap:body use="literal"/>

</wsdl:input>

<wsdl:output name="echoElementsResponse">

<wsdlsoap:body use="literal"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="GoogleAccessConnectorService">

<wsdl:port binding="impl:GoogleAccessConnectorSoapBinding"
name="GoogleAccessConnector">

<wsdlsoap:address
location="http://localhost:7001/axis/services/GoogleAccessConnector"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>


----- Original Message ----- From: "Paul Callahan" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, February 10, 2005 12:16 PM Subject: Re: calling MessageService sample with .NET client

> Praveen,
>
> This really depends on how you have structured your wsdl for the
> service. If you are using message style services, then in most cases,
> you are providing your own XML Schema to define the types that are
> passed via the method you expose as a "message-based" service.
>
> Whether you use JAXB, Castor, or some manual dom/sax code on your end
> of the Java web service, you must publish the manner in which .NET can
> (de)serialize your objects.
>
> Whats your wsdl look like?
>
> -pc
>
>
> On Thu, 10 Feb 2005 11:58:05 -0500, Praveen Peddi
> <[EMAIL PROTECTED]> wrote:
>>
>> I have looked at the MessageService sample (both server and the >> client).
>> It
>> passes Element[] as the argument and also returns the same. This is >> fine
>> for
>> java based clients. But if I want to invoke it using non java clients
>> like
>> .NET, how does it work? Are Axis's "message-style" services >> interoperable
>> with .NET?
>>
>> In short, I want to send raw xml in soap-body and be able to call the
>> method
>> by java and non java clients. How do I do that? I thought >> "message-style"
>> web service is the way to go but I tried with .NET and it didn't work.
>> .NET
>> is able to import the MessageService WSDL but I could not succeed >> calling
>> that method yet.
>>
>> Thanks
>> Praveen
>>
>> **************************************************************
>> Praveen Peddi
>> Sr Software Engg, Context Media, Inc.
>> email:[EMAIL PROTECTED]
>> Tel: 401.854.3475
>> Fax: 401.861.3596
>> web: http://www.contextmedia.com
>> **************************************************************
>> Context Media- "The Leader in Enterprise Content Integration"
>>
>






Reply via email to