On 9/10/07, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
>
> I believe that Axis2 Java2WSDL generates doc/literal/unwrapped by
> default. The documentation doesn't indicate a switch that permits you
> to change that option.
>
> I suggest you use the Axis 1.4 Java2WSDL tool instead, and specify
> style="wrapped".
>
> Anne
>
> On 9/10/07, Simon Laws <[EMAIL PROTECTED]> wrote:
> > Hi
> >
> > In the Apache Tuscany Incubator we are using the Axis2 Java2WSDL
> tooling. We
> > generate document/literal/wrapped wsdl (the default I believe for
> java2WSDL)
> > and in Tuscany we are using the JAX-WS V2 specification as a guide to
> what
> > constitutes wrapped WSDL. We are coming up to our 1.0 release (in a few
> > weeks time) and have run into a couple of issues where we need to decide
> > quickly whether we are using the Axis2 tools incorrectly or whether we
> need
> > to implement a work around.
> >
> > Note. We are running with Axis2 1.2 in Tuscany currently but I did the
> > generation below with Axis2 1.3 just to see if anything had changed in
> the
> > latest version.
> >
> > For the interface:
> >
> > public interface TestServiceParam {
> >
> >     public String foo();
> >
> > }
> >
> > Axis1.3 Java2WSDL produces
> >
> >     ...
> >     <wsdl:types>
> >         <xs:schema xmlns:ns=" http://test";
> > attributeFormDefault="qualified"
> > elementFormDefault="qualified" targetNamespace=" http://test";>
> >             <xs:element name="fooResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> >                         <xs:element minOccurs="0" name="return"
> > nillable="true" type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >         </xs:schema>
> >     </wsdl:types>
> >     <wsdl:message name="fooRequest"/>
> >     <wsdl:message name="fooResponse">
> >         <wsdl:part name="parameters" element="ns0:fooResponse"/>
> >     </wsdl:message>
> >     <wsdl:portType name="TestServiceParamPortType">
> >         <wsdl:operation name="foo">
> >             <wsdl:input message="ns0:fooRequest" wsaw:Action="urn:foo"/>
> >             <wsdl:output message="ns0:fooResponse"
> > wsaw:Action="urn:fooResponse"/>
> >         </wsdl:operation>
> >     </wsdl:portType>
> >     ...
> >
> > I was expecting the following. I've added + to the lines that have been
> > added.
> >
> >     ...
> >     <wsdl:types>
> >         <xs:schema xmlns:ns=" http://test";
> > attributeFormDefault="qualified"
> > elementFormDefault="qualified" targetNamespace=" http://test";>
> > +            <xs:element name="foo">
> > +               <xs:complexType/>
> > +           </xs:element>
> >             <xs:element name="fooResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> >                         <xs:element minOccurs="0" name="return"
> > nillable="true" type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >         </xs:schema>
> >     </wsdl:types>
> >     <wsdl:message name="fooRequest">
> > +        <wsdl:part name="parameters" element="ns0:foo"/>
> >     </wsdl:message>
> >     <wsdl:message name="fooResponse">
> >         <wsdl:part name="parameters" element="ns0:fooResponse"/>
> >     </wsdl:message>
> >     <wsdl:portType name="TestServiceParamPortType">
> >         <wsdl:operation name="foo">
> >             <wsdl:input message="ns0:fooRequest" wsaw:Action="urn:foo"/>
> >             <wsdl:output message="ns0:fooResponse"
> > wsaw:Action="urn:fooResponse"/>
> >         </wsdl:operation>
> >     </wsdl:portType>
> >     ...
> >
> > Is the current output produced by design and if so why is it this way?
> > Are there options I can use to make java2WSDL generate the form I would
> > like?
> >
> > For the interface
> >
> > public interface TestServiceReturn {
> >
> >     public void foo(String param);
> >
> > }
> >
> > Axis1.3 Java2WSDL produces
> >
> >     <wsdl:types>
> >         <xs:schema xmlns:ns=" http://test";
> > attributeFormDefault="qualified"
> > elementFormDefault="qualified" targetNamespace=" http://test";>
> >             <xs:element name="foo">
> >                 <xs:complexType>
> >                     <xs:sequence>
> >                         <xs:element minOccurs="0" name="param0"
> > nillable="true" type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >         </xs:schema>
> >     </wsdl:types>
> >     <wsdl:message name="fooRequest">
> >         <wsdl:part name="parameters" element="ns0:foo"/>
> >     </wsdl:message>
> >     <wsdl:portType name="TestServiceReturnPortType">
> >         <wsdl:operation name="foo">
> >             <wsdl:input message="ns0:fooRequest" wsaw:Action="urn:foo"/>
> >         </wsdl:operation>
> >     </wsdl:portType>
> >
> > How did Axis2 decide to produce a one way message here?
> > Is there a way I can ask java2WSDL to produce a 2 way message in this
> > situation?
> >
> > I've looked in the mail lists and in JIRA and I don't see mention of
> this
> > but I'm fairly new to the resources that Axis2 has to offer so there's a
> > good chance I'm not looking in the right place or with the right search
> > term. Apologies if it's staring me in the face.
> >
> > Thanks
> >
> > Simon Laws
> > Apache Tuscany Incubator
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> Hi Anne

Looking at the output produced by java2WSDL is does seem to generated
wrapped style messages. There is also a flag

  -dlb                                    generate schemas conforming to
doc/lit/bare style

Which indicates that you can turn it off. In my case it just doesn't
generated a wrapped element in the null parameter case.

Regards

Simon

Reply via email to