DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8578>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8578

Wsdl2Java does not reject invalid types in 1999 Schema

           Summary: Wsdl2Java does not reject invalid types in 1999 Schema
           Product: Axis
           Version: beta-1
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Serialization/Deserialization
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [EMAIL PROTECTED]


The WSDL listed below uses the 1999 version of the schema (see 
xmlns:xsd="http://www.w3.org/1999/XMLSchema";) and creates a part with the 
type "xsd:dateTime". However, the dateTime type is not defined in part-2 of the 
1999 version of the schema. Hence this WSDL should be rejected.

Additionally, the WSDL spec itself is based on the 2000/10 version of the 
schema. It seems any prior version should be rejected as well. Additionally the 
2000/10 version of the schema also does not define the dateTime type, which is 
present only the 2001 Schema recommendation. Hence it seems Axis is using 2001 
version of the schema while imply passing through the 
xmlns:xsd="http://www.w3.org/1999/XMLSchema"; entry..

WSDL follows.. Thanks, Prasad


<?xml version="1.0" ?>

<definitions name="EPOD" 
             targetNamespace="http://webservices.toyota.com.au/EPOD/epod.wsdl";
                xmlns:tns="http://webservices.toyota.com.au/EPOD/epod.wsdl";
             xmlns:xsd="http://www.w3.org/1999/XMLSchema";
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
             xmlns:epod="http://webservices.toyota.com.au/EPOD/epod.wsdl";
             xmlns="http://schemas.xmlsoap.org/wsdl/";>


  <!-- message declarations -->
  <message name="NotifyDelivery">
    <documentation>
      This is the request structure for the EPOD request.
      Note that the damageCodes part is a space-separated list of strings.
    </documentation>
    <part name="companyLogon" type="xsd:string"/>
    <part name="driverID" type="xsd:int"/>
    <part name="deliveryTime" type="xsd:dateTime"/>
    <part name="vehicleID" type="xsd:int"/>
    <part name="damageCodes" type="xsd:string"/>
    <part name="comment" type="xsd:string"/>
    <part name="dealerPIN" type="xsd:int"/>
  </message>

  <message name="NotifyDeliveryResponse">
    <documentation>
      This is the response structure for the EPOD request.
      As a SOAP-RPC style call, there is only one return element, named return.
      This should be used by the server to send back a unique message identifier
      for later tracking.
    </documentation>
    <part name="return" type="xsd:int"/>
  </message>


  <!-- port type declarations -->
  <portType name="EPOD">
    <operation name="NotifyDelivery">
      <input message="tns:NotifyDelivery"/>
      <output message="tns:NotifyDeliveryResponse"/>
    </operation>
  </portType>


  <!-- binding declarations -->
  <binding name="EPODSOAPBinding" type="tns:EPOD">
    <documentation>The NotifyDelivery operation is bound as a SOAP-RPC 
method.</documentation>
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="NotifyDelivery">
      <documentation>Note that no SOAPAction is required.</documentation>
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded" 
                   namespace="http://webservices.xyz.com.au/EPOD/epod.wsdl"; 
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" 
                   namespace="http://webservices.xyz.com.au/EPOD/epod.wsdl";
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
  </binding>

  <!-- service declaration -->
  <service name="EPODService">
    <port name="EPOD" binding="tns:EPODSOAPBinding">
      <documentation>Note that the following is just a test implementation!
</documentation>
      <soap:address location="http://www.xyz.org:8080/soap/servlet/rpcrouter"/>
    </port>
  </service>

</definitions>

Reply via email to