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]