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