cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From XiLai Dai <xl...@talend.com>
Subject RE: wsdl2java - Encountered illegal extension attribute 'message'
Date Wed, 21 May 2014 02:13:37 GMT
Hi,

For soap binding, the definition should look like:
    <wsdl:binding name="localhostBinding" type="tns:MyService">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="serviceRequest">
          <wsdl:input>
             <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
             <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

You can easily check your WSDL using bin/wsdlvalidator tool before compile it. 

Regards.
Xilai Dai
-----Original Message-----
From: Frizz [mailto:frizzthecat@googlemail.com] 
Sent: Wednesday, May 21, 2014 4:49 AM
To: users@cxf.apache.org
Subject: wsdl2java - Encountered illegal extension attribute 'message'

Hi there,

I am using CXF 2.7.7. I have a WSDL that is correct and valid (imho).

But when running wsdl2java it doesn't seem to like the 'message' attribute in my binding/operation
definition.

Here is the error message from wsdl2java:

WSDLToJava Error: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition
from : file:/C:/ws/example/MyService.wsdl
Caused by : WSDLException (at
/wsdl:definitions/wsdl:binding/wsdl:operation/wsdl:input):
faultCode=INVALID_WSDL: Encountered illegal extension attribute 'message'.
Extension attributes must be in a namespace other than WSDL's.


Here is the WSDL file:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
  targetNamespace="http://example.com/MyService.wsdl"
  xmlns="http://schemas.xmlsoap.org/wsdl/"
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  xmlns:tns="http://example.com/MyService.wsdl"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <wsdl:types>
        <xsd:schema targetNamespace="http://example.com/MyService.wsdl"
xmlns="http://www.w3.org/2001/XMLSchema">
            <xsd:element name="serviceRequest">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element maxOccurs="1" minOccurs="0"
name="serviceDescription" type="xsd:string"></xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="serviceResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element maxOccurs="1" minOccurs="1"
name="result" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="serviceRequestRequest">
        <wsdl:part element="tns:serviceRequest"
name="parameters"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="serviceResponse">
        <wsdl:part element="tns:serviceResponse"
name="parameters"></wsdl:part>
    </wsdl:message>

    <wsdl:portType name="MyService" >
        <wsdl:operation name="serviceRequest">
            <wsdl:input message="tns:serviceRequestRequest"></wsdl:input>
            <wsdl:output message="tns:serviceResponse"></wsdl:output>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="localhostBinding" type="tns:MyService">
        <soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="serviceRequest">
            <wsdl:input message="tns:serviceRequestRequest"></wsdl:input>
            <wsdl:output message="tns:serviceResponse"></wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="MyServiceProvider">
        <wsdl:port binding="tns:localhostBinding" name="localhost">
            <soap:address location="
http://localhost:8080/services/MyServiceProvider/"/>
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>
Mime
View raw message