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 Ivan Venuti <i_...@yahoo.it> on 2005/04/19 20:21:32 UTC

Bug in axis or wrong WSDL file?

Hi,

I have simplified my WSDL and I have obtained the
simplest WSDL that SHOULD describe a wrapped/literal
service (only 1 operation and no own complexTypes!).
Unfortunatly Axis doesn't recorgnise it as wrapped
WSDL (infact I obtain a deploy.wsdd with document
style).

I have looked at it again and again. If someone can
give a look at it and give me some direction to find a
solution I would be really glad.

Maybe this is a little bug in Axis??

Thanks!

-- Ivan

Here is my WSDL:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
    name="ProductsExampleWS"
   
targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.wsdl"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
   
xmlns:tns="http://ivenuti.altervista.org/ProductsExampleWS.wsdl"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   
xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1">
    <wsdl:types>
        <xsd:schema
           
targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.xsd1"
           
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
           
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           
xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1">
            <xsd:element name="confirmationOrder"
type="xsd:string"/>
            <xsd:element
name="confirmationOrderResponse" type="xsd:boolean"/>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="confirmationOrder">
        <wsdl:part element="xsd1:confirmationOrder"
name="paramIn"/>
    </wsdl:message>
    <wsdl:message name="confirmationOrderResponse">
        <wsdl:part
element="xsd1:confirmationOrderResponse"
name="paramOut"/>
    </wsdl:message>
    <wsdl:portType name="ProductsExampleWSPortType">
        <wsdl:operation name="confirmationOrder">
            <wsdl:input
message="tns:confirmationOrder"
name="messageConfirmationOrder"/>
            <wsdl:output
message="tns:confirmationOrderResponse"
name="messageConfirmationOrderResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding
        name="ProductsExampleWSBinding"
        type="tns:ProductsExampleWSPortType">
        <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="confirmationOrder">
            <soap:operation
               
soapAction="capeconnect:ProductsExampleWS:ProductsExampleWSPortType#confirmationOrder"/>
            <wsdl:input>
                <soap:body parts="confirmationOrder"
use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body
parts="confirmationOrderResponse" use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="ProductsExampleWS">
        <wsdl:port
binding="tns:ProductsExampleWSBinding"
name="ProductsExampleWSPort">
            <soap:address
location="http://localhost:8080/axis/ProductsExampleWS"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>


		
___________________________________ 
Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar, Webcam, Giochi, Rubrica… Scaricalo ora! 
http://it.messenger.yahoo.it

Re: Bug in axis or wrong WSDL file?

Posted by Anne Thomas Manes <at...@gmail.com>.
For wrapped/literal, your input element must be defined as a complex
type which is a sequence of your input parameters. You did not create
the proper wrapper element.

Here's what it is supposed to look like (I created names for your
input and output parameters [order and status], but you can use
whatever names you like).

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
   name="ProductsExampleWS"
   targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.wsdl"
   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:tns="http://ivenuti.altervista.org/ProductsExampleWS.wsdl"
   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1">
   <wsdl:types>
      <xsd:schema
         targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.xsd1"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1">
         <xsd:element name="confirmationOrder">
           <xsd:complexType>
             <xsd:sequence>
               <xsd:element name="order" type="xsd:string"/>
             </xsd:sequence>
           </xsd:complexType>
         </xsd:element>
         <xsd:element name="confirmationOrderResponse" 
           <xsd:complexType>
             <xsd:sequence>
                <xsd:element name="status" type="xsd:boolean"/>
             </xsd:sequence>
           </xsd:complexType>
         </xsd:element>
       </xsd:schema>
   </wsdl:types>
   <wsdl:message name="confirmationOrder">
       <wsdl:part element="xsd1:confirmationOrder" name="paramIn"/>
   </wsdl:message>
   <wsdl:message name="confirmationOrderResponse">
       <wsdl:part element="xsd1:confirmationOrderResponse" name="paramOut"/>
   </wsdl:message>
   <wsdl:portType name="ProductsExampleWSPortType">
       <wsdl:operation name="confirmationOrder">
           <wsdl:input message="tns:confirmationOrder"
name="messageConfirmationOrder"/>
           <wsdl:output message="tns:confirmationOrderResponse"
name="messageConfirmationOrderResponse"/>
       </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding
       name="ProductsExampleWSBinding"
       type="tns:ProductsExampleWSPortType">
       <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
       <wsdl:operation name="confirmationOrder">
           <soap:operation
soapAction="capeconnect:ProductsExampleWS:ProductsExampleWSPortType#confirmationOrder"/>
           <wsdl:input>
               <soap:body parts="confirmationOrder" use="literal"/>
           </wsdl:input>
           <wsdl:output>
               <soap:body parts="confirmationOrderResponse" use="literal"/>
           </wsdl:output>
       </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="ProductsExampleWS">
       <wsdl:port binding="tns:ProductsExampleWSBinding"
name="ProductsExampleWSPort">
           <soap:address
location="http://localhost:8080/axis/ProductsExampleWS"/>
       </wsdl:port>
   </wsdl:service>
</wsdl:definitions>

On 4/19/05, Ivan Venuti <i_...@yahoo.it> wrote:
> Hi,
> 
> I have simplified my WSDL and I have obtained the
> simplest WSDL that SHOULD describe a wrapped/literal
> service (only 1 operation and no own complexTypes!).
> Unfortunatly Axis doesn't recorgnise it as wrapped
> WSDL (infact I obtain a deploy.wsdd with document
> style).
> 
> I have looked at it again and again. If someone can
> give a look at it and give me some direction to find a
> solution I would be really glad.
> 
> Maybe this is a little bug in Axis??
> 
> Thanks!
> 
> -- Ivan
> 
> Here is my WSDL:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
>     name="ProductsExampleWS"
> 
> targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.wsdl"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> 
> xmlns:tns="http://ivenuti.altervista.org/ProductsExampleWS.wsdl"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 
> xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1">
>     <wsdl:types>
>         <xsd:schema
> 
> targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.xsd1"
> 
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
> 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 
> xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1">
>             <xsd:element name="confirmationOrder"
> type="xsd:string"/>
>             <xsd:element
> name="confirmationOrderResponse" type="xsd:boolean"/>
>         </xsd:schema>
>     </wsdl:types>
>     <wsdl:message name="confirmationOrder">
>         <wsdl:part element="xsd1:confirmationOrder"
> name="paramIn"/>
>     </wsdl:message>
>     <wsdl:message name="confirmationOrderResponse">
>         <wsdl:part
> element="xsd1:confirmationOrderResponse"
> name="paramOut"/>
>     </wsdl:message>
>     <wsdl:portType name="ProductsExampleWSPortType">
>         <wsdl:operation name="confirmationOrder">
>             <wsdl:input
> message="tns:confirmationOrder"
> name="messageConfirmationOrder"/>
>             <wsdl:output
> message="tns:confirmationOrderResponse"
> name="messageConfirmationOrderResponse"/>
>         </wsdl:operation>
>     </wsdl:portType>
>     <wsdl:binding
>         name="ProductsExampleWSBinding"
>         type="tns:ProductsExampleWSPortType">
>         <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>         <wsdl:operation name="confirmationOrder">
>             <soap:operation
> 
> soapAction="capeconnect:ProductsExampleWS:ProductsExampleWSPortType#confirmationOrder"/>
>             <wsdl:input>
>                 <soap:body parts="confirmationOrder"
> use="literal"/>
>             </wsdl:input>
>             <wsdl:output>
>                 <soap:body
> parts="confirmationOrderResponse" use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>     </wsdl:binding>
>     <wsdl:service name="ProductsExampleWS">
>         <wsdl:port
> binding="tns:ProductsExampleWSBinding"
> name="ProductsExampleWSPort">
>             <soap:address
> location="http://localhost:8080/axis/ProductsExampleWS"/>
>         </wsdl:port>
>     </wsdl:service>
> </wsdl:definitions>
> 
> 
> ___________________________________
> Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar, Webcam, Giochi, Rubrica… Scaricalo ora!
> http://it.messenger.yahoo.it
>