Hi,

I just tried to provider CXF sample/hello_world Service to other WSDL consumer, and found there are some targetNameSpace errors in <wsdl:types> </wsdl:types>.
Here is the part of the wsdl file
<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http";>
   <wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://apache.org/hello_world_soap_http/types";>
       <simpleType name="MyStringType">
           <restriction base="string">
               <maxLength value="30"/>
           </restriction>
       </simpleType>

       <element name="sayHi">
            <complexType/>
               </element>
                   <element name="sayHiResponse">
               <complexType>
               <sequence>
                   <element name="responseType" type="string"/>
               </sequence>
               </complexType>
       </element>
         .......
</wsdl:types>

  .......
   <wsdl:message name="sayHiResponse">
           <wsdl:part element="x1:sayHiResponse" name="out">
                                     ~~~~~~
           </wsdl:part>
   </wsdl:message>
   <wsdl:portType name="Greeter">
   <wsdl:operation name="sayHi">
       <wsdl:input message="tns:sayHiRequest" name="sayHiRequest">
   </wsdl:input>
   <wsdl:output message="tns:sayHiResponse" name="sayHiResponse">
   </wsdl:output>
   </wsdl:operation>
  .......
</wsdl:portType>
....

If the schema's targetNamespace is not same with the wsdl tragetNamespace, the message part will get invalided QName. I know ?wsdl will generate a wsdl from the service model, it must be a bug of service model to wsdl .

I had filled a JIRA[1] for it.

[1] http://issues.apache.org/jira/browse/CXF-657

Willem.


Reply via email to