Title: RE: Need WSDL for this SOAP message
If you're attempting to deploy a "document/literal" style service via style="document" use="literal" in your wsdd, you'll see that the soap:operation's style attribute will read "document" and the soap:body elements of your operation will have attribute "use" with value = "literal". 
 
This is basically telling the world to send me a straight up document that conforms to the types that are defined in the wsdl's "types" section. 
 
If you're attempting to deploy a "document/literal" style service via style="wrapped" and use="literal" in your wsdd, you'll again see that the soap:operation's style attribute will read "document" and the soap:body elements of your operation will have attribute "use" with value = "literal" -- just like the above.  The thing with wrapped services is the way in which the types (in the <types> section of your WSDL) are constructed as well as the message elements and their respective names.  From discussions on this board over the past few days, I think it's safe to say that "wrapped" services are basically a way to afford you the convenience of Axis marshaling/unmarshaling your data into actual object represenation (ie, giving you RPC like functionality) via some assumptions it makes and publishes in your service description. 
 
I may have strayed from the path here in answering your question.  Using "document" in the wsdd is just telling Axis that when it generates the WSDL for this thing, it should tell the world (via soap:operation style="document") that the the message's that are sent to you should NOT be fashioned as RPC style messages but instead, sent exactly as defined in your *types* section.  If you dig into the SOAP specification you'll see how RPC style messages are fashioned according to certain rules set for th in that spec.  If you're deploying with with "wrapped" in your wsdd....Axis will generate different WSDL for you that will create your types (and messages I believe) in such a way so as to still afford you rpc-like functionality.
 
Hope this helps and didn't just serve to confuse you...
 
Cory
 
-----Original Message-----
From: Wendy Smoak [mailto:[EMAIL PROTECTED]
Sent: Friday, August 01, 2003 1:17 PM
To: '[EMAIL PROTECTED]'
Subject: RE: Need WSDL for this SOAP message


Anne, thanks once again for your patience.  I am having a terrible time figuring out where the following belong:  RPC, Wrapped, Document, Literal, Message.

Here's the WSDD I'm using:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
   <service name="MySubscriptionService" provider="java:MSG" style="wrapped" use="literal">
      <parameter name="className" value="edu.asu.vpia.webauth.MySubscriptionService"/>
      <parameter name="allowedMethods" value="*"/>
      <wsdlFile>/webauth.wsdl</wsdlFile>
   </service>
</deployment>

I think the confusion is over the "document" part of document/literal.  On one hand, it's "document" as opposed to RPC, a style, as you discussed. 

On the other hand, it's the companion to 'wrapped' indicating that Axis will pass all the parameters on the command line rather than wrapping them as a Java object.

So am I imagining things, or are there two definitions of "document", one used by the wider world, and one used within Axis WSDD?

I'm trying to work from the Axis Users Guide.  Under "Individual Service Configuration" it says:
  Style - whether to use RPC:enc or doc/lit encoding
But it doesn't say what to put in the style attribute for each one.

And right now I'm uncertain which one I need to use, even if I knew what to put.  Is there a page with a table that lists all the parameters to <service> and all the possible values?  I can find documentation on WSDL, but not on WSDD as that appears to be Axis specific.

--
Wendy Smoak
Applications Systems Analyst, Sr.
Arizona State University, PA, IRM

Reply via email to