cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin" <sergey.beryoz...@iona.com>
Subject Re: What is wrong with this WSDL?
Date Thu, 04 Jan 2007 16:10:32 GMT
Hi

Not sure but most likely it's to do with the way you've defined the binding for CreateSequence.

>    <wsdl:binding name="SequenceSoapBinding" type="tns:SequenceAbsractPortType">
>        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>        <wsdl:operation name="CreateSequence">
>            <soap:operation soapAction="" style="document"/>
>            <wsdl:input name="CreateSequence">
>                <soap:body use="literal"/>
>            </wsdl:input>
>            <wsdl:output name="CreateSequenceResponse">
>                <soap:body use="literal"/>
>            </wsdl:output>
>        </wsdl:operation>

specifically,

>       <wsdl:input name="CreateSequence">
>       <wsdl:output name="CreateSequenceResponse">

name attribute here should match an optional 'name' attribute on the corresponding input/output
definition in the portType operation 
and there're no 'name' attributes are set there. The easiest option is just drop 'name' attribute
in when defining input/output for 
CreateSequence and TerminateSequence. 'name' attributes are used only for overloading operations
in rpc-encoded styles...

Cheers, Sergey



----- Original Message ----- 
From: "Andrea Smyth" <andrea.smyth@iona.com>
To: <cxf-dev@incubator.apache.org>
Sent: Thursday, January 04, 2007 3:40 PM
Subject: What is wrong with this WSDL?


> code-generating from the wsdl below (which is the original wsrm.wsdl to which I added
the binding and service elements),  fails 
> with:
>
> [INFO] [cxf-codegen:wsdl2java {execution: generate-sources}]
> 04-Jan-2007 15:26:19 org.apache.cxf.tools.wsdl2java.processor.internal.PortTypeProcessor
process
> WARNING: SKIP_OVERLOADED_OPERATION
> 04-Jan-2007 15:26:19 org.apache.cxf.tools.wsdl2java.processor.internal.OperationProcessor
processMethod
> WARNING: Problem outputting method for CreateSequence as no input message was found
> Error : Invalid WSDL,wsdl:operation: "CreateSequence" is not request-response or one-way
>
> If I replace the name of the input for the CreateSequenceOperation in the binding with
CreateSequenceRequest it compiles fine.
> What is wrong with the wsdl:binding and wsdl:service definition, or is this a bug?
>
> Andrea.
>
> ---
>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

> xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"

> xmlns:rm="http://schemas.xmlsoap.org/ws/2005/02/rm" xmlns:tns="http://schemas.xmlsoap.org/ws/2005/02/rm/wsdl"

> targetNamespace="http://schemas.xmlsoap.org/ws/2005/02/rm/wsdl">
>  <wsdl:types>
>    <xs:schema>
>      <xs:import namespace="http://schemas.xmlsoap.org/ws/2005/02/rm" schemaLocation="wsrm.xsd"/>
>      <xs:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" schemaLocation="addressing.xsd"/>
>    </xs:schema>
>  </wsdl:types>
>  <wsdl:message name="CreateSequence">
>    <wsdl:part name="create" element="rm:CreateSequence"/>
>  </wsdl:message>
>  <wsdl:message name="CreateSequenceResponse">
>    <wsdl:part name="createResponse" element="rm:CreateSequenceResponse"/>
>  </wsdl:message>
>  <wsdl:message name="TerminateSequence">
>    <wsdl:part name="terminate" element="rm:TerminateSequence"/>
>  </wsdl:message>
>  <wsdl:portType name="SequenceAbsractPortType">
>    <wsdl:operation name="CreateSequence">
>      <wsdl:input message="tns:CreateSequence" wsa:Action="http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"/>
>      <wsdl:output message="tns:CreateSequenceResponse" 
> wsa:Action="http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse"/>
>    </wsdl:operation>
>    <wsdl:operation name="TerminateSequence">
>      <wsdl:input message="tns:TerminateSequence" wsa:Action="http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse"/>
>    </wsdl:operation>
>  </wsdl:portType>
>
>    <wsdl:binding name="SequenceSoapBinding" type="tns:SequenceAbsractPortType">
>        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>        <wsdl:operation name="CreateSequence">
>            <soap:operation soapAction="" style="document"/>
>            <wsdl:input name="CreateSequence">
>                <soap:body use="literal"/>
>            </wsdl:input>
>            <wsdl:output name="CreateSequenceResponse">
>                <soap:body use="literal"/>
>            </wsdl:output>
>        </wsdl:operation>
>        <wsdl:operation name="TerminateSequence">
>            <soap:operation soapAction="" style="document"/>
>            <wsdl:input name="TerminateSequence">
>                <soap:body use="literal"/>
>            </wsdl:input>
>        </wsdl:operation>
>    </wsdl:binding>
>   <wsdl:service name="SequenceService">
>        <wsdl:port binding="tns:SequenceSoapBinding" name="SequencePort">
>            <soap:address location="http://localhost:9001/SoapContext/SequencePort"/>
>        </wsdl:port>
>    </wsdl:service>
>
> </wsdl:definitions> 


Mime
View raw message