axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anne Thomas Manes" <atma...@gmail.com>
Subject Re: Newbie Help with deploy.wsdd
Date Mon, 01 Oct 2007 22:05:07 GMT
"Document" style means that Axis expects you to use a wrapper object
as your parameter. "Wrapped" style means that Axis will automagically
wrap your parameters in a wrapper object for you. See
http://atmanes.blogspot.com/2005/03/wrapped-documentliteral-convention.html
for a description of wrapped style.

Anne

On 10/1/07, New AxisU <newaxisu@gmail.com> wrote:
> SUCCESS!
>
> Following Anne's advice I went back to the wsdl above & discovered that it
> was missing some definitions.  But that wasn't enough.  I went back to the
> old version & cut it down similarly & of course it worked.  So then I
> started trying to see what was different between them.  Trying to make the
> new wsdl look like the old one I was able to get a good deploy.wsdd & good
> message.
>
> If you are reading this, let me say that I am still unclear about all of
> this.  Here's the deploy.wsdd that didn't work.  Notice that
> style="document"  in the <services> tag.
>
>
>
> <deployment
>     xmlns="http://xml.apache.org/axis/wsdd/"
>
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java
> ">
>
>   <!-- Services from DiscoveryService WSDL service -->
>
>   <service name="discovery" provider="java:RPC" style="document"
> use="literal">
>     <!-- place this block below <service ...> and above <parameter ...>
-->
>       <parameter name="wsdlTargetNamespace"
> value="urn:discovery.services.netcentric.sec"/>
>       <parameter name="wsdlServiceElement" value="DiscoveryService"/>
>        <parameter name="schemaQualified" value="
> http://dws.sec,urn:us:gov:ic:ism:v2,urn:discovery.services.netcentric.sec,http://www.opengis.net/gml"/>
>       <parameter name="wsdlServicePort" value="discovery"/>
>       <parameter name="className" value="
> sec.netcentric.services.discovery.DiscoverySoapBindingImpl"/>
>       <parameter name="wsdlPortType" value="Discovery"/>
>       <parameter name="typeMappingVersion" value=" 1.2"/>
>       <operation name="getVersion" qname="getVersion"
> returnQName="getVersionReturn" returnType="rtns:string" xmlns:rtns="
> http://www.w3.org/2001/XMLSchema" >
>       </operation>
>       <parameter name="allowedMethods" value="getVersion"/>
>
> </service>
> </deployment>
>
> The corresponding wsdl is
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
> xmlns:impl="urn:discovery.services.netcentric.sec"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/ "
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema "
> xmlns="urn:discovery.services.netcentric.sec"
> targetNamespace="urn:discovery.services.netcentric.sec">
>  <wsdl:types>
>   <xsd:schema elementFormDefault="qualified" targetNamespace="urn:
> discovery.services.netcentric.sec"
> xmlns="http://www.w3.org/2001/XMLSchema">
>    <element name="getVersion">
>     <complexType/>
>     </element>
>    <element name="getVersionResponse">
>     <complexType>
>      <sequence>
>       <element name="getVersionReturn" type="xsd:string"/>
>       </sequence>
>     </complexType>
>    </element>
>   </xsd:schema>
>
>  </wsdl:types>
>  <wsdl:message name="getVersionRequest">
>    </wsdl:message>
>  <wsdl:message name="getVersionResponse">
>   <wsdl:part name="getVersionReturn" type="xsd:string"/>
>  </wsdl:message>
>  <wsdl:portType name="Discovery">
>   <wsdl:operation name="getVersion">
>    <wsdl:input name="getVersionRequest"
> message="impl:getVersionRequest"/>
>    <wsdl:output name="getVersionResponse"
> message="impl:getVersionResponse"/>
>   </wsdl:operation>
>  </wsdl:portType>
>  <wsdl:binding name="discoverySoapBinding" type="impl:Discovery">
>   <wsdlsoap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http"/>
>   <wsdl:operation name="getVersion">
>    <wsdlsoap:operation/>
>    <wsdl:input name="getVersionRequest">
>     <wsdlsoap:body use="literal"/>
>    </wsdl:input>
>    <wsdl:output name="getVersionResponse">
>     <wsdlsoap:body use="literal"/>
>    </wsdl:output>
>   </wsdl:operation>
>  </wsdl:binding>
>  <wsdl:service name="DiscoveryService">
>   <wsdl:port name="discovery"
> binding="impl:discoverySoapBinding">
>    <wsdlsoap:address location="
> http://localhost:8015/dF-1.4.1/services/discovery"/>
>   </wsdl:port>
>  </wsdl:service>
> </wsdl:definitions>
>
> The magic fix was to change
>
>
>
>  <wsdl:message name="getVersionRequest">
>    </wsdl:message>
>  <wsdl:message name="getVersionResponse">
>   <wsdl:part name="getVersionReturn" type="xsd:string"/>
>  </wsdl:message>
>
> to
>
>  <wsdl:message name="getVersionRequest">
>     <wsdl:part name="parameters" element="impl:getVersion"/>
>   </wsdl:message>
>   <wsdl:message name="getVersionResponse">
>     <wsdl:part name="parameters"
> element="impl:getVersionResponse"/>
>   </wsdl:message>
>
> Now the deploy.wsdd looks like
>
> <deployment
>     xmlns="http://xml.apache.org/axis/wsdd/"
>
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java
> ">
>
>   <!-- Services from DiscoveryService WSDL service -->
>
>   <service name="discovery" provider="java:RPC" style="wrapped"
> use="literal">
>
>       <parameter name="wsdlTargetNamespace"
> value="urn:discovery.services.netcentric.sec"/>
>       <parameter name="wsdlServiceElement" value="DiscoveryService"/>
>
>  <parameter name="schemaQualified" value="
> http://dws.sec,urn:us:gov:ic:ism:v2,urn:discovery.services.netcentric.sec,http://www.opengis.net/gml"/>
>       <parameter name="wsdlServicePort" value="discovery"/>
>       <parameter name="className" value="
> sec.netcentric.services.discovery.DiscoverySoapBindingImpl"/>
>       <parameter name="wsdlPortType" value="Discovery"/>
>       <parameter name="typeMappingVersion" value=" 1.2"/>
>       <operation name="getVersion" qname="operNS:getVersion"
> xmlns:operNS="urn:discovery.services.netcentric.sec"
> returnQName="retNS:getVersionReturn" xmlns:retNS="urn:
> discovery.services.netcentric.sec" returnType="rtns:string"
> xmlns:rtns="http://www.w3.org/2001/XMLSchema" >
>       </operation>
>       <parameter name="allowedMethods" value="getVersion"/>
>
>   </service>
> </deployment>
>
> Notice that the style is now "wrapped" and the namespaces inside <operation
> name="getVersion" are all different & for my purposes correct.
>
> I'm happy that my wsdl is working, but I still wish I understood why this is
> so?  What controls the style="" setting?  Is there some website I could
> refer to to explain why the
>
>     <wsdl:part name="parameters"
> element="impl:getVersionResponse"/>
>
> is more correct?
>
>
> On 10/1/07, Anne Thomas Manes <atmanes@gmail.com> wrote:
>
> >
> > I suggest that you edit the WSDL, then run WSDL2Java to generate your new
> WSDD.
> >
> > Anne
> >
> > On 9/28/07, New AxisU < newaxisu@gmail.com> wrote:
> > >
> > >
> > > Hi, I need help with deploy.wsdd & ...?
> > >
> > > I have an existing wsdl that returns this soap message:
> > >
> > > <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>
> > >     <getVersionResponse
> > > xmlns="urn:discovery.services.netcentric.sec ">
> > >       <getVersionReturn>Version 1.0 from discovery in
> > > tomcat</getVersionReturn>
> > >     </getVersionResponse>
> > >   </soapenv:Body>
> > > </soapenv:Envelope>
> > >
> > > The schemas inside this wsdl were updated & so I need to make a new
> version
> > > of the web service.
> > >
> > > After I generate java code using axis 1.4 and edit the deploy.wsdd by
> hand,
> > > the best I've been able to come up with is
> > >
> > > <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>
> > >     <getVersionReturn
> > > xmlns="urn:discovery.services.netcentric.sec
> > > ">darsFederation discovery 1.4.1</getVersionReturn>
> > >   </soapenv:Body>
> > > </soapenv:Envelope>
> > >
> > > There are two things wrong:
> > >
> > > 1) What happened to the <getVersionResponse ...> tags?
> > > 2) xmlns="urn:discovery.services.netcentric.sed" should
> be
> > > on the missing
> > > tag & not on the <getVersionReturn>
> > >
> > > I'm using document/literal/wrapped (wsdl is at the bottom).
> > >
> > > Here are some entries from edited deploy.wsdd:
> > >
> > > <service name="discovery" provider="java:RPC" style="document"
> > > use="literal">
> > >   <operation name="getVersion"
> > >     qname="ns:getVersion"
> > >     xmlns:ns="urn: discovery.services.netcentric.sec"
> > >     returnQName="rtns:getVersionReturn"
> > >     returnType="tns:getVersionResponse"
> > >     xmlns:rtns="urn: discovery.services.netcentric.sec"
> >
> > >   </operation>
> > >    ...
> > >
> > > I'm really confused by the missing tags because it seems clear from the
> wsdl
> > > (below) that they should be there.
> > > Thanks for any & all help! I know that I'm just doing something wrong.
> > >
> > >
> > >
> > > -----------------WSDL -----------------------
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <wsdl:definitions
> > >  xmlns:impl="urn:discovery.services.netcentric.sec"
> > >  xmlns:wsdl=" http://schemas.xmlsoap.org/wsdl/"
> > >  xmlns:wsdlsoap="
> http://schemas.xmlsoap.org/wsdl/soap/"
> > >  xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
> > >  targetNamespace="urn:
> discovery.services.netcentric.sec"
> > >  xmlns="http://schemas.xmlsoap.org/wsdl/">
> > >   <wsdl:types>
> > >  ...
> > >  </wsdl:types>
> > >  <wsdl:message name="getVersionRequest">
> > >  </wsdl:message>
> > >  <wsdl:message name="getVersionResponse">
> > >   <wsdl:part name="getVersionReturn" type="xsd:string"/>
> > >  </wsdl:message>
> > >  <wsdl:portType name="Discovery">
> > >   <wsdl:operation name="getVersion">
> > >    <wsdl:input name="getVersionRequest"
> > > message="impl:getVersionRequest"/>
> > >    <wsdl:output name="getVersionResponse"
> > > message="impl:getVersionResponse"/>
> > >   </wsdl:operation>
> > >  </wsdl:portType>
> > >  <wsdl:binding name="discoverySoapBinding" type="impl:Discovery">
> > >   <wsdlsoap:binding style="document"
> > > transport="http://schemas.xmlsoap.org/soap/http"/>
> > >   <wsdl:operation name="getVersion">
> > >    <wsdlsoap:operation/>
> > >    <wsdl:input name="getVersionRequest">
> > >     <wsdlsoap:body use="literal" />
> > >    </wsdl:input>
> > >    <wsdl:output name="getVersionResponse">
> > >     <wsdlsoap:body use="literal" />
> > >    </wsdl:output>
> > >   </wsdl:operation>
> > >  </wsdl:binding>
> > >  <wsdl:service name="DiscoveryService">
> > >   <wsdl:port name="discovery"
> > > binding="impl:discoverySoapBinding">
> > >    <wsdlsoap:address
> > > location="
> http://localhost:8015/df-1.4.1/services/discovery"/>
> > >   </wsdl:port>
> > >  </wsdl:service>
> > > </wsdl:definitions>
> >
> >
> ---------------------------------------------------------------------
> > 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


Mime
View raw message