Thank you for the suggestions, Anne... But my most recent tests failed again:

I modified the WSDL like you suggested (see xml comments):

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/";
xmlns:ota="http://www.opentravel.org/OTA/2003/05";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
targetNamespace="http://www.opentravel.org/OTA/2003/05";>
<!-- Import Interface Definition WSDL-->
<import namespace="http://www.opentravel.org/OTA/2003/05"; 
location="OTA_VehResInterface.wsdl"/>
<!-- Define SOAP binding-->
<binding name="VehicleReservationBinding" type="ota:VehicleReservationPortType">
<!-- Use document style and not rpc-->
<soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="OTA_VehResRQ">
<!-- Use 'literal' to include OTA XML as-is-->
<soap:operation soapAction="CreateReservation" style="document"/>
<input>
<soap:body use="literal" />   <!-- removed the namespace -->
</input>
<output>
<soap:body use="literal" />   <!-- removed the namespace -->
</output>
</operation>
</binding>
<!-- Define SOAP interface with previously declared binding-->
<service name="OTAVehicleReservationService">
<port name="VehicleReservationPort" binding="ota:VehicleReservationBinding">
<!-- Replace "http://mydomain/myservicename"; with actual service endpoint-->
<soap:address location="http://mydomain/myservicename"/>
</port>
</service>
</definitions>

And the other WSDL (types):

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ota="http://www.opentravel.org/OTA/2003/05"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://www.opentravel.org/OTA/2003/05"; 
name="VehReservationService">
        <!-- Define data types (import OTA schemas) -->

        <wsdl:types>

 <!-- added targetNamespace, replaced import by include -->

                <xs:schema 
targetNamespace="http://www.opentravel.org/OTA/2003/05";>
                        <xs:include schemaLocation="OTA_VehResRQ.xsd"/>
                        <xs:include schemaLocation="OTA_VehResRS.xsd"/>
                </xs:schema>
        </wsdl:types>

        <!-- Define request and response messages-->
        <wsdl:message name="VehicleReservationRequest">
                <wsdl:part name="OTA_VehResRQ" element="ota:OTA_VehResRQ"/>
        </wsdl:message>
        <wsdl:message name="VehicleReservationResponse">
                <wsdl:part name="OTA_VehResRS" element="ota:OTA_VehResRS"/>
        </wsdl:message>
        <!-- Define operation and reference messages-->
        <wsdl:portType name="VehicleReservationPortType">
                <wsdl:operation name="OTA_VehResRQ">
                        <wsdl:input message="ota:VehicleReservationRequest"/>
                        <wsdl:output message="ota:VehicleReservationResponse"/>
                </wsdl:operation>
        </wsdl:portType>
</wsdl:definitions>


Same result:

Axis2 1.0: wsdl2java -uri vehicule.wsdl

Using AXIS2_HOME:   c:\JavaLib\axis2-std-1.0_bin
Using JAVA_HOME:    c:\Program Files\Java\jdk1.5.0_06
Retrieving document at 'OTA_VehResInterface.wsdl', relative to 
'file:/C:/workspace/TestOTA/wsdl/'.
Retrieving schema at 'OTA_VehResRQ.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResInterface.wsdl'.
Retrieving schema at 'OTA_VehicleCommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRQ.xsd'.
Retrieving schema at 'OTA_SimpleTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehicleCommonTypes.xsd'.
Retrieving schema at 'OTA_CommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehicleCommonTypes.xsd'.
Retrieving schema at 'OTA_SimpleTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_CommonTypes.xsd'.
Retrieving schema at 'OTA_AirCommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehicleCommonTypes.xsd'.
Retrieving schema at 'OTA_SimpleTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_AirCommonTypes.xsd'.
Retrieving schema at 'OTA_CommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_AirCommonTypes.xsd'.
Retrieving schema at 'OTA_CommonPrefs.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehicleCommonTypes.xsd'.
Retrieving schema at 'OTA_SimpleTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_CommonPrefs.xsd'.
Retrieving schema at 'OTA_CommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_CommonPrefs.xsd'.
Retrieving schema at 'OTA_SimpleTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRQ.xsd'.
Retrieving schema at 'OTA_CommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRQ.xsd'.
Retrieving schema at 'OTA_AirCommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRQ.xsd'.
Retrieving schema at 'OTA_CommonPrefs.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRQ.xsd'.
Retrieving schema at 'OTA_VehResRS.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResInterface.wsdl'.
Retrieving schema at 'OTA_VehicleCommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRS.xsd'.
Retrieving schema at 'OTA_SimpleTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRS.xsd'.
Retrieving schema at 'OTA_CommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRS.xsd'.
Retrieving schema at 'OTA_AirCommonTypes.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRS.xsd'.
Retrieving schema at 'OTA_CommonPrefs.xsd', relative to 
'file:/C:/workspace/TestOTA/wsdl/OTA_VehResRS.xsd'.
log4j:WARN No appenders could be found for logger 
(org.apache.axis2.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" 
org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL
        at 
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:94)
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
Caused by: org.apache.axis2.AxisFault: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.NullPointerException; nested exception 
is: 
        java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.NullPointerException
        at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.populateService(WSDL2AxisServiceBuilder.java:243)
        at 
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:87)
        ... 2 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.NullPointerException
        at 
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1916)
        at 
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1929)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleInclude(SchemaBuilder.java:1752)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:121)
        at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:250)
        at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.getXMLSchema(WSDL2AxisServiceBuilder.java:959)
        at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.copyExtensibleElements(WSDL2AxisServiceBuilder.java:1067)
        at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.populateService(WSDL2AxisServiceBuilder.java:221)
        ... 3 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.NullPointerException
        at 
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1916)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleInclude(SchemaBuilder.java:1746)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:121)
        at 
org.apache.ws.commons.schema.SchemaBuilder.build(SchemaBuilder.java:53)
        at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:255)
        at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:217)
        at 
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1911)
        ... 10 more
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at 
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1916)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleInclude(SchemaBuilder.java:1746)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:121)
        at 
org.apache.ws.commons.schema.SchemaBuilder.build(SchemaBuilder.java:53)
        at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:255)
        at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:217)
        at 
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1911)
        ... 16 more
Caused by: java.lang.NullPointerException
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleSimpleType(SchemaBuilder.java:343)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleSimpleType(SchemaBuilder.java:477)
        at 
org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:104)
        at 
org.apache.ws.commons.schema.SchemaBuilder.build(SchemaBuilder.java:53)
        at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:255)
        at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:217)
        at 
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1911)
        ... 22 more

I do not understand why you suggested to use xsd include instead of import:
a) That suggest the original wsdl was wrong, however it comes directly from OTA 
and the imports where right.
b) The include directive was used correctly

As for the soap:body modification, I agree. I searched in the W3C 
recommendations and found the following:
---- citation from Web Services Description Language (WSDL) 1.1
W3C Note 15 March 2001 ---
3.5 soap:body
...
    * If the operation style is rpc each part is a parameter or a return value 
and appears inside a wrapper element within the body (following Section 7.1 of 
the SOAP specification). The wrapper element is named identically to the 
operation name and its namespace is the value of the namespace attribute. Each 
message part (parameter) appears under the wrapper, represented by an accessor 
named identically to the corresponding parameter of the call. Parts are 
arranged in the same order as the parameters of the call.
    * If the operation style is document there are no additional wrappers, and 
the message parts appear directly under the SOAP Body element. 
...
---

The mention saying that for operation style rpc the namespace is a parameter 
and the fact that there no other documented usage for namespace in the case of 
style document convince me that namespace is not appropriate for usage document.


I will retry with the most recent source from svn...

Any other suggestion?





_____________________________________________________________
Obtenez aussi votre adresse electronique gratuite de
Quebecemail.com http://www.quebecemail.com, un service gratuit et permanent.

Reply via email to