The generated wsdl doesn't validate & the generated wsdl chokes ....
--------------------------------------------------------------------

                 Key: AXIS2-3082
                 URL: https://issues.apache.org/jira/browse/AXIS2-3082
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: codegen, wsdl
         Environment: WinXP
            Reporter: M Bissonnette
             Fix For: nightly


I'm trying something very simple.  I'm using the latest axis2 1.3 RC3 nightly.  
I'm using this class as input to Java2WSDL
package quote.intfc;

public interface Quotable {
 public String getQuote();
}


So there is 1 method & it takes no input parameters and it returns a string.

The relevant part of the build.xml is

        <java2wsdl outputfilename="${service.wsdl}"
                   className="${interface.class}"
                   outputLocation="${build.dir}\wsdl"
                   targetNamespace="${ service.namespace}"
                   servicename="${service.name}"
                   schemaTargetNamespace="${service.data.namespace}">
        </java2wsdl> 

The generated wsdl (included at the end) doesn't validate with XMLSpy.  I think 
it should or am I mistaken?  I get complaints about 

attribute 'part' in extensibility element '<mime:content>' refers to part 
'getQuote' which could not be found in message 'getQuoteRequest'  which seems 
to be from this fragment

<http:operation location="RandomQuoteWS/getQuote"/>
 <wsdl:input>
  <mime:content part="getQuote" type="text/xml"/>
 </wsdl:input>
 <wsdl:output> 
  <mime:content part="getQuote" type="text/xml"/>
 </wsdl:output>
</wsdl:operation>

Also, I'm seeing this kind of message:
extensibility element '<soap12:binding>' might be part of an unsupported WSDL 
extension because it is not in namespace ' 
http://schemas.xmlsoap.org/wsdl/soap' or 
'http://schemas.xmlsoap.org/wsdl/http/' and therefore will not be validated


Are you all using XMLSpy?  Is there something I need to do to make it happily 
validate this wsdl?

Thinking that maybe XMLSpy is just complaining erroneously, I moved along and 
tried to use the wsdl to generate code.  The part from ant is

       <java classname="org.apache.axis2.wsdl.WSDL2Java"
            fork="true" classpathref="${axis2.classpath}">
            <arg value="-uri"/>
            <arg file="${ build.dir}/wsdl/${service.wsdl}"/>
            <arg value="-o"/>
            <arg file="${build.dir}"/>
            <arg value="-p"/>
            <arg value="${ service.java.packageName}"/>
            <arg value="-ss"/>
            <arg value="-g"/>
            <arg value="-sd"/>
            <arg value="-t"/> 
            <arg value="-d"/>
            <arg value="-s"/>
            <arg value="adb"/>
 </java>

(yes, I'm trying adb and after I post this, I will go back to xmlbeans)

and I get

Exception in thread "main" 
org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL
        at 
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:153)
 
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: java.lang.NullPointerException
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine 
.<init>(CodeGenerationEngine.java:129)
        ... 2 more
Java Result: 1

So, is this reasonable?  Is there something wrong with my input interface?  Or 
are there options/settings I should be using?

Thanks for any & all help.


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:axis2=" 
http://service.quote"; xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/ " 
xmlns:ns0="http://data.quote"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:mime=" http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:soap12=" 
http://schemas.xmlsoap.org/wsdl/soap12/"; targetNamespace="http://service.quote";>
    <wsdl:types>
        <xs:schema xmlns:ns=" http://data.quote"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://data.quote";>
            <xs:element name="getQuoteResponse"> 
                <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="getQuoteRequest"/> 
    <wsdl:message name="getQuoteResponse">
        <wsdl:part name="parameters" element="ns0:getQuoteResponse"/>
    </wsdl:message>
    <wsdl:portType name="RandomQuoteWSPortType"> 
        <wsdl:operation name="getQuote">
            <wsdl:input xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
message="axis2:getQuoteRequest" wsaw:Action="urn:getQuote"/> 
            <wsdl:output xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
message="axis2:getQuoteResponse" wsaw:Action="urn:getQuoteResponse"/> 
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="RandomQuoteWSSOAP11Binding" 
type="axis2:RandomQuoteWSPortType">
        <soap:binding transport=" http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="getQuote">
            <soap:operation soapAction="urn:getQuote" style="document"/> 
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/> 
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="RandomQuoteWSSOAP12Binding" 
type="axis2:RandomQuoteWSPortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="getQuote"> 
            <soap12:operation soapAction="urn:getQuote" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input> 
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="RandomQuoteWSHttpBinding" 
type="axis2:RandomQuoteWSPortType"> 
        <http:binding verb="POST"/>
        <wsdl:operation name="getQuote">
            <http:operation location="RandomQuoteWS/getQuote"/>
            <wsdl:input> 
                <mime:content type="text/xml" part="getQuote"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="getQuote"/> 
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="RandomQuoteWS">
        <wsdl:port name="RandomQuoteWSSOAP11port_http" 
binding="axis2:RandomQuoteWSSOAP11Binding"> 
            <soap:address 
location="http://localhost:8080/axis2/services/RandomQuoteWS"/>
        </wsdl:port>
        <wsdl:port name="RandomQuoteWSSOAP12port_http" 
binding="axis2:RandomQuoteWSSOAP12Binding"> 
            <soap12:address 
location="http://localhost:8080/axis2/services/RandomQuoteWS"/>
        </wsdl:port>
        <wsdl:port name="RandomQuoteWSHttpport" 
binding="axis2:RandomQuoteWSHttpBinding"> 
            <http:address 
location="http://localhost:8080/axis2/services/RandomQuoteWS"/>
        </wsdl:port>
    </wsdl:service> 
</wsdl:definitions>
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:axis2=" 
http://service.quote"; xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/ " 
xmlns:ns0="http://data.quote"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:mime=" http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:soap12=" 
http://schemas.xmlsoap.org/wsdl/soap12/"; targetNamespace="http://service.quote";>
    <wsdl:types>
        <xs:schema xmlns:ns=" http://data.quote"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://data.quote";>
            <xs:element name="getQuoteResponse"> 
                <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="getQuoteRequest"/> 
    <wsdl:message name="getQuoteResponse">
        <wsdl:part name="parameters" element="ns0:getQuoteResponse"/>
    </wsdl:message>
    <wsdl:portType name="RandomQuoteWSPortType"> 
        <wsdl:operation name="getQuote">
            <wsdl:input xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
message="axis2:getQuoteRequest" wsaw:Action="urn:getQuote"/> 
            <wsdl:output xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
message="axis2:getQuoteResponse" wsaw:Action="urn:getQuoteResponse"/> 
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="RandomQuoteWSSOAP11Binding" 
type="axis2:RandomQuoteWSPortType">
        <soap:binding transport=" http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="getQuote">
            <soap:operation soapAction="urn:getQuote" style="document"/> 
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/> 
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="RandomQuoteWSSOAP12Binding" 
type="axis2:RandomQuoteWSPortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="getQuote"> 
            <soap12:operation soapAction="urn:getQuote" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input> 
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="RandomQuoteWSHttpBinding" 
type="axis2:RandomQuoteWSPortType"> 
        <http:binding verb="POST"/>
        <wsdl:operation name="getQuote">
            <http:operation location="RandomQuoteWS/getQuote"/>
            <wsdl:input> 
                <mime:content type="text/xml" part="getQuote"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="getQuote"/> 
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="RandomQuoteWS">
        <wsdl:port name="RandomQuoteWSSOAP11port_http" 
binding="axis2:RandomQuoteWSSOAP11Binding"> 
            <soap:address 
location="http://localhost:8080/axis2/services/RandomQuoteWS"/>
        </wsdl:port>
        <wsdl:port name="RandomQuoteWSSOAP12port_http" 
binding="axis2:RandomQuoteWSSOAP12Binding"> 
            <soap12:address 
location="http://localhost:8080/axis2/services/RandomQuoteWS"/>
        </wsdl:port>
        <wsdl:port name="RandomQuoteWSHttpport" 
binding="axis2:RandomQuoteWSHttpBinding"> 
            <http:address 
location="http://localhost:8080/axis2/services/RandomQuoteWS"/>
        </wsdl:port>
    </wsdl:service> 
</wsdl:definitions>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to