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 Adam Retter <ad...@devon.gov.uk> on 2007/06/05 17:51:45 UTC

How does Axis Server determine style and encoding?

Hi,

I have written a small SOAP Server for a very specific purpose, it was
designed to support Document/literal style requests initially and this
works well certainly with Apache SOAP and .NET.

However, it does not seem to work nicely with Apache Axis clients and in
the interests of interoperability I would like to now extend it to also
support other styles and encodings. If I understand correctly there are
2 request styles - Document and RPC and 2 main encoding styles SOAP and
literal.

I would like to support 3 (I think) of these 4 types of requests -
Document/literal (done), RPC/SOAP and RPC/literal, I think I am correct
in saying that Document/SOAP is not really used?

Anyways, I have glanced over the W3C specs and have done some Googling,
but I am having a hard time finding concise rules on how to detect the
request type of the incoming SOAP document - i.e. the style and
encoding.

I was hoping that someone could point me to where in the Axis Server
code the style and encoding of the SOAP Request is determined or perhaps
provide me with a concise set of rules on determining the SOAP request
type?

Thanks

-- 
Adam Retter

Principal Developer
Devon Portal Project
Room 310
County Hall
Topsham Road
Exeter
EX2 4QD

t: 01392 38 3683
f: 01392 38 2966
e: adam.retter@devon.gov.uk
w: www.devonline.gov.uk

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


RE: How does Axis Server determine style and encoding?

Posted by Adam Retter <ad...@devon.gov.uk>.
If you cannot determine, then how does Axis cope with this?


-----Original Message-----
From: Ognjen Blagojevic [mailto:ognjen@etf.bg.ac.yu]
Sent: Wed 06/06/2007 11:17
To: axis-user@ws.apache.org
Subject: Re: How does Axis Server determine style and encoding?
 
Adam Retter wrote:
> Anyways, I have glanced over the W3C specs and have done some Googling,
> but I am having a hard time finding concise rules on how to detect the
> request type of the incoming SOAP document - i.e. the style and
> encoding.

Maybe this link can help you:

http://www-128.ibm.com/developerworks/webservices/library/ws-whichwsdl/

It gives examples of messages in different styles/encodings. However, it 
seems to me, that there are situations in which you can't determine 
message style/encoding - for example the RPC/literal and 
document/literal messages in the example are the same.

Regards,
Ognjen

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org



Re: How does Axis Server determine style and encoding?

Posted by Ognjen Blagojevic <og...@etf.bg.ac.yu>.
Adam Retter wrote:
> Anyways, I have glanced over the W3C specs and have done some Googling,
> but I am having a hard time finding concise rules on how to detect the
> request type of the incoming SOAP document - i.e. the style and
> encoding.

Maybe this link can help you:

http://www-128.ibm.com/developerworks/webservices/library/ws-whichwsdl/

It gives examples of messages in different styles/encodings. However, it 
seems to me, that there are situations in which you can't determine 
message style/encoding - for example the RPC/literal and 
document/literal messages in the example are the same.

Regards,
Ognjen

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: How does Axis Server determine style and encoding?

Posted by Paul Fremantle <pz...@gmail.com>.
Typically SOAP servers use the following approaches to identify the
service to call. This has nothing to do with the style/encoding issue.
Its completely orthogonal.

Basically you match on these things:
1) HTTP URL
2) SOAPAction Header in HTTP
3) If there is WS-Addressing headers, then look at the wsa:To and
wsa:Action headers
4) The namespace of the first child element of the body tag.

In Axis2 this is a process called dispatchers. I'm afraid I don't
remember how it works in Axis1.

Paul


On 6/6/07, Adam Retter <ad...@devon.gov.uk> wrote:
>
> SoapUI looks very interesting and not a tool I had seen before, Thanks I will take a look at that.
>
> Basically my SOAP Server needs to know how to interrogate the incoming SOAP request to determine what function to execute. This is similar to Axis Server's JWS idea I guess. Does Axis Server just support document/literal or does it try and interogate the SOAP Request in some way to determine which JWS function to call?
>
>
>
>
> -----Original Message-----
> From: Paul Fremantle [mailto:pzfreo@gmail.com]
> Sent: Wed 06/06/2007 11:33
> To: axis-user@ws.apache.org
> Subject: Re: How does Axis Server determine style and encoding?
>
> Adam
>
> Firstly, you've done the right thing to work with doc/literal. This is
> the predominant style.
>
> If you use Apache Axis2 it should support interop well as it was
> designed around doc/lit as the main approach.
>
> The reason you are having trouble is that the style/encoding is
> *mainly* an aspect of WSDL not an aspect of the actual message. The
> fact is that SOAP is actually a very simple protocol. WSDL
> unfortunately adds a lot of complexity that isn't always useful.
>
> Basically the style and encoding are really talking about how do you
> map the abstract interface in WSDL (the porttype) into actual
> messages. So its actually possible to write say a RPC/Encoded WSDL and
> a doc/lit WSDL where the SOAP messages on the wire are *exactly the
> same*. If this doesn't seem logical don't worry. Basically what
> happened was that IBM and MS merged two different approaches and
> didn't take long enough to really sort it out, so instead we got both
> approaches plus subcombinations!
>
> There are some on-the-wire differences which are that sometimes
> encoded messages have extra typing information in the SOAP message
> (xsi:type attributes) and also, in some situations you can have
> "graph" structures in encoded message.
>
> My suggestion is to use a tool like SOAPUI to play around: try some
> different WSDLs and look at the resulting SOAP messages. It may be
> that simply by offering your Axis1 clients a different WSDL you can
> accomodate them without changing your server.
>
> Paul
>
>
>
>
>
> On 6/5/07, Adam Retter <ad...@devon.gov.uk> wrote:
> > Hi,
> >
> > I have written a small SOAP Server for a very specific purpose, it was
> > designed to support Document/literal style requests initially and this
> > works well certainly with Apache SOAP and .NET.
> >
> > However, it does not seem to work nicely with Apache Axis clients and in
> > the interests of interoperability I would like to now extend it to also
> > support other styles and encodings. If I understand correctly there are
> > 2 request styles - Document and RPC and 2 main encoding styles SOAP and
> > literal.
> >
> > I would like to support 3 (I think) of these 4 types of requests -
> > Document/literal (done), RPC/SOAP and RPC/literal, I think I am correct
> > in saying that Document/SOAP is not really used?
> >
> > Anyways, I have glanced over the W3C specs and have done some Googling,
> > but I am having a hard time finding concise rules on how to detect the
> > request type of the incoming SOAP document - i.e. the style and
> > encoding.
> >
> > I was hoping that someone could point me to where in the Axis Server
> > code the style and encoding of the SOAP Request is determined or perhaps
> > provide me with a concise set of rules on determining the SOAP request
> > type?
> >
> > Thanks
> >
> > --
> > Adam Retter
> >
> > Principal Developer
> > Devon Portal Project
> > Room 310
> > County Hall
> > Topsham Road
> > Exeter
> > EX2 4QD
> >
> > t: 01392 38 3683
> > f: 01392 38 2966
> > e: adam.retter@devon.gov.uk
> > w: www.devonline.gov.uk
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> >
> >
>
>
> --
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


RE: How does Axis Server determine style and encoding?

Posted by Adam Retter <ad...@devon.gov.uk>.
SoapUI looks very interesting and not a tool I had seen before, Thanks I will take a look at that.

Basically my SOAP Server needs to know how to interrogate the incoming SOAP request to determine what function to execute. This is similar to Axis Server's JWS idea I guess. Does Axis Server just support document/literal or does it try and interogate the SOAP Request in some way to determine which JWS function to call?




-----Original Message-----
From: Paul Fremantle [mailto:pzfreo@gmail.com]
Sent: Wed 06/06/2007 11:33
To: axis-user@ws.apache.org
Subject: Re: How does Axis Server determine style and encoding?
 
Adam

Firstly, you've done the right thing to work with doc/literal. This is
the predominant style.

If you use Apache Axis2 it should support interop well as it was
designed around doc/lit as the main approach.

The reason you are having trouble is that the style/encoding is
*mainly* an aspect of WSDL not an aspect of the actual message. The
fact is that SOAP is actually a very simple protocol. WSDL
unfortunately adds a lot of complexity that isn't always useful.

Basically the style and encoding are really talking about how do you
map the abstract interface in WSDL (the porttype) into actual
messages. So its actually possible to write say a RPC/Encoded WSDL and
a doc/lit WSDL where the SOAP messages on the wire are *exactly the
same*. If this doesn't seem logical don't worry. Basically what
happened was that IBM and MS merged two different approaches and
didn't take long enough to really sort it out, so instead we got both
approaches plus subcombinations!

There are some on-the-wire differences which are that sometimes
encoded messages have extra typing information in the SOAP message
(xsi:type attributes) and also, in some situations you can have
"graph" structures in encoded message.

My suggestion is to use a tool like SOAPUI to play around: try some
different WSDLs and look at the resulting SOAP messages. It may be
that simply by offering your Axis1 clients a different WSDL you can
accomodate them without changing your server.

Paul





On 6/5/07, Adam Retter <ad...@devon.gov.uk> wrote:
> Hi,
>
> I have written a small SOAP Server for a very specific purpose, it was
> designed to support Document/literal style requests initially and this
> works well certainly with Apache SOAP and .NET.
>
> However, it does not seem to work nicely with Apache Axis clients and in
> the interests of interoperability I would like to now extend it to also
> support other styles and encodings. If I understand correctly there are
> 2 request styles - Document and RPC and 2 main encoding styles SOAP and
> literal.
>
> I would like to support 3 (I think) of these 4 types of requests -
> Document/literal (done), RPC/SOAP and RPC/literal, I think I am correct
> in saying that Document/SOAP is not really used?
>
> Anyways, I have glanced over the W3C specs and have done some Googling,
> but I am having a hard time finding concise rules on how to detect the
> request type of the incoming SOAP document - i.e. the style and
> encoding.
>
> I was hoping that someone could point me to where in the Axis Server
> code the style and encoding of the SOAP Request is determined or perhaps
> provide me with a concise set of rules on determining the SOAP request
> type?
>
> Thanks
>
> --
> Adam Retter
>
> Principal Developer
> Devon Portal Project
> Room 310
> County Hall
> Topsham Road
> Exeter
> EX2 4QD
>
> t: 01392 38 3683
> f: 01392 38 2966
> e: adam.retter@devon.gov.uk
> w: www.devonline.gov.uk
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org



Re: How does Axis Server determine style and encoding?

Posted by Paul Fremantle <pz...@gmail.com>.
Adam

Firstly, you've done the right thing to work with doc/literal. This is
the predominant style.

If you use Apache Axis2 it should support interop well as it was
designed around doc/lit as the main approach.

The reason you are having trouble is that the style/encoding is
*mainly* an aspect of WSDL not an aspect of the actual message. The
fact is that SOAP is actually a very simple protocol. WSDL
unfortunately adds a lot of complexity that isn't always useful.

Basically the style and encoding are really talking about how do you
map the abstract interface in WSDL (the porttype) into actual
messages. So its actually possible to write say a RPC/Encoded WSDL and
a doc/lit WSDL where the SOAP messages on the wire are *exactly the
same*. If this doesn't seem logical don't worry. Basically what
happened was that IBM and MS merged two different approaches and
didn't take long enough to really sort it out, so instead we got both
approaches plus subcombinations!

There are some on-the-wire differences which are that sometimes
encoded messages have extra typing information in the SOAP message
(xsi:type attributes) and also, in some situations you can have
"graph" structures in encoded message.

My suggestion is to use a tool like SOAPUI to play around: try some
different WSDLs and look at the resulting SOAP messages. It may be
that simply by offering your Axis1 clients a different WSDL you can
accomodate them without changing your server.

Paul





On 6/5/07, Adam Retter <ad...@devon.gov.uk> wrote:
> Hi,
>
> I have written a small SOAP Server for a very specific purpose, it was
> designed to support Document/literal style requests initially and this
> works well certainly with Apache SOAP and .NET.
>
> However, it does not seem to work nicely with Apache Axis clients and in
> the interests of interoperability I would like to now extend it to also
> support other styles and encodings. If I understand correctly there are
> 2 request styles - Document and RPC and 2 main encoding styles SOAP and
> literal.
>
> I would like to support 3 (I think) of these 4 types of requests -
> Document/literal (done), RPC/SOAP and RPC/literal, I think I am correct
> in saying that Document/SOAP is not really used?
>
> Anyways, I have glanced over the W3C specs and have done some Googling,
> but I am having a hard time finding concise rules on how to detect the
> request type of the incoming SOAP document - i.e. the style and
> encoding.
>
> I was hoping that someone could point me to where in the Axis Server
> code the style and encoding of the SOAP Request is determined or perhaps
> provide me with a concise set of rules on determining the SOAP request
> type?
>
> Thanks
>
> --
> Adam Retter
>
> Principal Developer
> Devon Portal Project
> Room 310
> County Hall
> Topsham Road
> Exeter
> EX2 4QD
>
> t: 01392 38 3683
> f: 01392 38 2966
> e: adam.retter@devon.gov.uk
> w: www.devonline.gov.uk
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org