.NET can consume an unwrapped doc/literal service, but it's less
convenient for the .NET developer. As a general rule, I recommend that
you always follow the wrapped convention.

I'm having trouble understanding where the BP 1.1 validator is
failing. Could you show us the WSDL (or a similar representation)
that's failing?

When using doc/literal, your messages may contain at most one body
part (which becomes a child of the <soap:body> in the SOAP message). A
"part accessor element" refers to the child of the <soap:body>. (In
RPC style, the "part accessor elements" refer to children of the
auto-generated wrapper element that has the same local name as the
operation.) I believe the error is referring to the SOAP message, not
to the WSDL.

Anne

On 4/1/07, Rishi krish <[EMAIL PROTECTED]> wrote:
Hi Anne
Thanks again for your clarification on .Net requirements. You said doc-Lit
wrapped is the default format generated by .Net. Do you imply that if my
axis service is not conforming to doc-lit wrapped format .Net cannot
communicate to it? OR .Net can be configured to communicate with a service
which is just doc-lit and not wrapped?
I had downloaded the c# based BP 1.1 validator from WS-I site [I am hoping
that this is representative of .Net platform] and have been trying tests
with it. It fails me on BP1212 which implements R2212 which requires:

An ENVELOPE MUST contain exactly one part accessor element for each of the
wsdl:part elements bound to the envelope's corresponding soapbind:body
element.

My wsdl soapbind:body  does not have any part attribute defined - and thats
perfectly valid [as per R2210] as I have only one part defined in the
wsdl:message definition. The java BP 1.1 tool says "notApplicable". Is this
a bug with the c# BP 1.1 tool or this is a .Net requirement that the wsdl
soapbind:body  element has to have the part attribute defined.

thanks
Rishi



On 4/1/07, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
> If you have an empty message, then you aren't following the wrapped
> convention. The wrapped convention requires that the input message
> contain an element whose local name is the same as the operation, and
> the output message contain an element whose local name is the
> operation appended with "Response". (Essentially it literally follows
> the RPC convention so that programming frameworks can support an
> RPC-style programming model, yet still implement a doc/literal
> message.)
>
> For your example, to use wrapped doc/literal, you should define the
> response message as:
>
> <message name="wsns:testResponseMessage">
>    <part name="parameters" element="myns:testResponse/>
> </message>
>
> (.NET further requires that the part name = "parameters")
>
> The wrapped convention was established by .NET. It is the default
> format generated by .NET. The Java community responded in order to
> interoperate more effectively with .NET. The JAX-RPC spec is the only
> formal specification that defines the wrapped convention.
>
> You are under no obligation to support the wrapped convention, but if
> you want to enable interoperability with .NET, you'll find things go
> much more easily if you follow it.
>
> Note that WS-I BP does require that all input messages have a unique
> signature. If you have more than one operations that accept no input,
> you must disambiguate the request messages some way. I always
> recommend following the wrapped convention just because it makes
> things easier.
>
> Anne
>
> On 4/1/07, Rishi krish <[EMAIL PROTECTED]> wrote:
> > Hi Anne
> > thanks for the clarification. I am wondering if what you said for RPC
type
> > is also valid for the wrapped doc-lit type too [which kind of similar to
rpc
> > literal type and which is followed by .Net]. I mean if a pojo service
method
> > signature reads --
> >
> > public void test(String s)
> >
> > The response wsdl message will have a part element like ---
> >
> > <message name="wsns:testResponseMessage">
> > <part name="output" element="myns:testResponse/>
> > </message>
> >
> > -right? as opposed to having no part defined like ----
> >
> >
> > <message name="wsns:testTesponseMessage">
> > </message>
> >
> > I am generating the service wsdl on my own and am integrating to .Net
> > paltform [.Net is the client]. Since .Net seems to be following the
wrapped
> > doc-lit style do you think I should generate the wsdl response message
with
> > a non-empty part as shown above [even though the pojo method has void
return
> > type]
> >
> > This will imply that for a request response kind of web service we
allways
> > need to have a response message with one part element to be compliant
with
> > .Net? That seems little to harsh for me as I didnt find any such
requirement
> > in BP 1.1 OR this is something that is introduced just because of .Net?
> >
> > thanks
> > Rishi
> > On 3/31/07, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
> > >
> > > It depends on the style.
> > >
> > > If you are using document style, an empty message declaration with no
> > > parts (either input or output) will generate an empty SOAP body.
> > >
> > > If you are using rpc style, an empty input message declaration will
> > > generate a SOAP body containing an element that has a local name equal
> > > to the operation name in the namespace specified in the <soap:body>
> > > declaration in the binding. An empty output message declaration will
> > > generate a SOAP body containing an element representing the response
> > > value (in this case, void). The name of the response element is not
> > > significant, but by convention it has a local name constructed from
> > > the operation name appended with "Response" and it is in the namespace
> > > specified in the <soap:body> declaration.
> > >
> > > Anne
> > >
> > > On 3/30/07, Rishi krish < [EMAIL PROTECTED]> wrote:
> > > > Also just wanted to show what the TCP monitor is howing for the
response
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <soapenv:Envelope
> > > >
> > xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";
> > > > xmlns:xsd=" http://www.w3.org/2001/XMLSchema "
> > > > xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";>
> > > >  <soapenv:Body/>
> > > > </soapenv:Envelope>
> > > >
> > > >
> > > > So the body elemet is empty and the wsdl snippet is below:
> > > >
> > > >
> > > >   <message name="AddrMessage">
> > > >     <part name="input" element="inx:Address" />
> > > >   </message>
> > > >   <message name="AddrMessageResponse" />
> > > >   <portType name="AddrPortType">
> > > >     <operation name="processAddr">
> > > >       <input message="inws:AddrMessage" />
> > > >       <output message="inws:AddrMessageResponse" />
> > > >     </operation>
> > > >   </portType>
> > > >
> > > > Note the AddrMessageResponse definition - thats empty too. So can I
> > conclude
> > > > that an empty wsdl"message definition would imply a empty soap body
> > element
> > > > in wire?
> > > >
> > > > thanks
> > > > Rishi
> > > >
> > > > On 3/30/07, Amila Suriarachchi < [EMAIL PROTECTED]> wrote:
> > > > >
> > > > >
> > > > >
> > > > > On 3/29/07, Rishi krish <[EMAIL PROTECTED] > wrote:
> > > > > >
> > > > > > Hi All
> > > > > > This is probably a generic wsdl question - I will be using a the
> > Axis2
> > > > serviceclient api to call a web service which has a wsdl operation
[with
> > > > http binding] the outpout of which refers to a wsdl:message which
has no
> > > > parts defined. I am wondering what that means for the service
response?
> > > > >
> > > > >
> > > > > http binding has not clearly defined in wsdl 1.1. so if you deal
with
> > http
> > > > bindings better to use WSDL 2.0
> > > > >
> > > > >
> > > > > >
> > > > > > A>the response would be an empty soap body
> > > > >
> > > > >
> > > > > if you use http binding you would not get any soap messages. So we
can
> > > > throw this option.
> > > > > Actually this is the case if you have above serario with a
> > > > document/literal binding.
> > > > >
> > > > >
> > > > > >
> > > > > > B>The response would be just an http response with no trace of
soap.
> > [no
> > > > soap envelope]
> > > > >
> > > > >
> > > > > I think this should be the case.  the problem here is that wsdl
1.1
> > spec
> > > > does not clearly specify whether we have to use the rpc type message
> > > > construction or document type message construction with http
binding.
> > > > >
> > > > >
> > > > > >
> > > > > > Can anyone pls confirm what should be the response if the
> > service/soap
> > > > engine is behaving correctly?
> > > > > >
> > > > > > --
> > > > > > thanks
> > > > > > Rishi
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Amila Suriarachchi,
> > > > > WSO2 Inc.
> > > >
> > > >
> > > >
> > > > --
> > > > thanks
> > > > Rishi
> > >
> > >
> >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> >
> > --
> > thanks
> > Rishi
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



--
thanks
Rishi

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to