You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Marcello Marangio <m....@tno.it> on 2005/03/16 15:05:43 UTC

Soap and axis interoperability

Hi all.
Is it possible to have the same client code to call an axis service or an
apache soap service?
In other words, are soap and axis interoperable?
As far as I understand there is a difference in the endpoints format, so a
client that builds an axis endpoint like
http://hostname/axis/services/Service123 cannot invoke the serviced named
Service123 deployed on a apache soap server.

Is it correct?

Cheers
Marcello Marangio


Re: R: Soap and axis interoperability

Posted by Anne Thomas Manes <at...@gmail.com>.
You should not hard code the URI in the client. You should obtain the
URI at runtime from an input parameter or from a configuration file or
something.


On Wed, 16 Mar 2005 16:45:23 +0100, Marcello Marangio <m....@tno.it> wrote:
> Hi Anne
> Thanks for your answer.
> My soap client actually doesn't know whether the service is axis or apache;
> it only knows that the server is soap compliant, i.e. a server that
> communicates via soap envelopes.
> In our case, SOAP is the interface of a more complex clent-server
> infrastructure laying behind.
> Furthermore, my client proxy interface should reside in an API we want to
> provide our customer to build their own clients and services, so the format
> of the endpoint is transparent to **their** clients and those clients
> actually ignore that the communication to the server is implemented using
> soap.
> The REAL soap client resides in the API, and so does the endpoint.
> 
> So, to clarify my question, I am not sure in which case I am, and I hope
> there is a way to build generic soap clients, not bound to a specific
> endpoint format.
> 
> Thanks
> Marcello Marangio
> 
> -----Messaggio originale-----
> Da: Anne Thomas Manes [mailto:atmanes@gmail.com]
> Inviato: mercoledì 16 marzo 2005 16.11
> A: axis-user@ws.apache.org
> Oggetto: Re: Soap and axis interoperability
> 
> Please clarify your question. Is it:
> Can a single client application call two different web services, one
> implemented using Apache Axis and the other implemented using Apache SOAP?
> > Yes. And, in fact, you should be able to use any SOAP toolkit to implement
> the client proxy (although interoperability can be tricky unless you design
> the interfaces properly). In any case, the format of the endpoint makes no
> difference -- it's just a URL, which is opaque to the client proxy.
> 
> or is it:
> Can a client application call two different web services that implement that
> same WSDL interface, one implemented using Apache Axis and the other
> implemented using Apache SOAP, using the same client proxy interface?
> > Possibly, depending on the client toolkit you use to implement the client
> proxy and whether or not you are using a compiled stub, a dynamic proxy, or
> a dynamic invocation interface (DII). If you are using compiled stubs, then
> you must generate a different stub for each service you access. (Apache SOAP
> and Microsoft .NET only support compiled stubs.) When using a dynamic proxy
> or a DII, you should be able to dynamically select between service
> implementations at runtime.
> 
> or is it:
> Can a single client application use both Apache Axis and Apache SOAP to
> invoke a remote web service?
> > I don't know why you would want to do this. Pick one client-side toolkit.
> 
> Anne
> On Wed, 16 Mar 2005 15:05:43 +0100, Marcello Marangio <m....@tno.it>
> wrote:
> > Hi all.
> > Is it possible to have the same client code to call an axis service or
> > an apache soap service?
> > In other words, are soap and axis interoperable?
> > As far as I understand there is a difference in the endpoints format,
> > so a client that builds an axis endpoint like
> > http://hostname/axis/services/Service123 cannot invoke the serviced
> > named
> > Service123 deployed on a apache soap server.
> >
> > Is it correct?
> >
> > Cheers
> > Marcello Marangio
> >
> >
> 
>

R: Soap and axis interoperability

Posted by Marcello Marangio <m....@tno.it>.
Hi Anne
Thanks for your answer.
My soap client actually doesn't know whether the service is axis or apache;
it only knows that the server is soap compliant, i.e. a server that
communicates via soap envelopes. 
In our case, SOAP is the interface of a more complex clent-server
infrastructure laying behind.
Furthermore, my client proxy interface should reside in an API we want to
provide our customer to build their own clients and services, so the format
of the endpoint is transparent to **their** clients and those clients
actually ignore that the communication to the server is implemented using
soap.
The REAL soap client resides in the API, and so does the endpoint.

So, to clarify my question, I am not sure in which case I am, and I hope
there is a way to build generic soap clients, not bound to a specific
endpoint format.

Thanks 
Marcello Marangio



-----Messaggio originale-----
Da: Anne Thomas Manes [mailto:atmanes@gmail.com] 
Inviato: mercoledì 16 marzo 2005 16.11
A: axis-user@ws.apache.org
Oggetto: Re: Soap and axis interoperability

Please clarify your question. Is it:
Can a single client application call two different web services, one
implemented using Apache Axis and the other implemented using Apache SOAP?
> Yes. And, in fact, you should be able to use any SOAP toolkit to implement
the client proxy (although interoperability can be tricky unless you design
the interfaces properly). In any case, the format of the endpoint makes no
difference -- it's just a URL, which is opaque to the client proxy. 

or is it:
Can a client application call two different web services that implement that
same WSDL interface, one implemented using Apache Axis and the other
implemented using Apache SOAP, using the same client proxy interface?
> Possibly, depending on the client toolkit you use to implement the client
proxy and whether or not you are using a compiled stub, a dynamic proxy, or
a dynamic invocation interface (DII). If you are using compiled stubs, then
you must generate a different stub for each service you access. (Apache SOAP
and Microsoft .NET only support compiled stubs.) When using a dynamic proxy
or a DII, you should be able to dynamically select between service
implementations at runtime.   

or is it:
Can a single client application use both Apache Axis and Apache SOAP to
invoke a remote web service?
> I don't know why you would want to do this. Pick one client-side toolkit. 

Anne
On Wed, 16 Mar 2005 15:05:43 +0100, Marcello Marangio <m....@tno.it>
wrote:
> Hi all.
> Is it possible to have the same client code to call an axis service or 
> an apache soap service?
> In other words, are soap and axis interoperable?
> As far as I understand there is a difference in the endpoints format, 
> so a client that builds an axis endpoint like
> http://hostname/axis/services/Service123 cannot invoke the serviced 
> named
> Service123 deployed on a apache soap server.
> 
> Is it correct?
> 
> Cheers
> Marcello Marangio
> 
>


Re: Soap and axis interoperability

Posted by Anne Thomas Manes <at...@gmail.com>.
Please clarify your question. Is it:
Can a single client application call two different web services, one
implemented using Apache Axis and the other implemented using Apache
SOAP?
> Yes. And, in fact, you should be able to use any SOAP toolkit to implement the client proxy (although interoperability can be tricky unless you design the interfaces properly). In any case, the format of the endpoint makes no difference -- it's just a URL, which is opaque to the client proxy. 

or is it:
Can a client application call two different web services that
implement that same WSDL interface, one implemented using Apache Axis
and the other implemented using Apache SOAP, using the same client
proxy interface?
> Possibly, depending on the client toolkit you use to implement the client proxy and whether or not you are using a compiled stub, a dynamic proxy, or a dynamic invocation interface (DII). If you are using compiled stubs, then you must generate a different stub for each service you access. (Apache SOAP and Microsoft .NET only support compiled stubs.) When using a dynamic proxy or a DII, you should be able to dynamically select between service implementations at runtime.   

or is it:
Can a single client application use both Apache Axis and Apache SOAP
to invoke a remote web service?
> I don't know why you would want to do this. Pick one client-side toolkit. 

Anne
On Wed, 16 Mar 2005 15:05:43 +0100, Marcello Marangio <m....@tno.it> wrote:
> Hi all.
> Is it possible to have the same client code to call an axis service or an
> apache soap service?
> In other words, are soap and axis interoperable?
> As far as I understand there is a difference in the endpoints format, so a
> client that builds an axis endpoint like
> http://hostname/axis/services/Service123 cannot invoke the serviced named
> Service123 deployed on a apache soap server.
> 
> Is it correct?
> 
> Cheers
> Marcello Marangio
> 
>