You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Chathura Herath (JIRA)" <ji...@apache.org> on 2005/06/09 11:57:27 UTC

[jira] Created: (AXIS2-25) WSDL parsing issue.

WSDL parsing issue.
-------------------

         Key: AXIS2-25
         URL: http://issues.apache.org/jira/browse/AXIS2-25
     Project: Axis2
        Type: Bug
  Components: wsdl  
 Environment: NA
    Reporter: Chathura Herath
 Assigned to: Davanum Srinivas 


The issue  arrives when the optional WSDL Binding Operation message references(which are optional)  does not match with the Operations message references. Example.. WSDL
......................................................................................
<?xml version="1.0" encoding="UTF-8"?>
<!-- 
This is the main description file for the web service.
It is used to generate some code, which is used by client and server.
The data types are based on the XML Schema for license files, namely licenses.xsd. This file
is imported directly into the types definition of this web server description language file.
@author mhaller
-->
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
  xmlns:impl="http://www.innovations.de/2005/v1/XMLLicenseSchema#Intf"
  xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
  xmlns:intf="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl">
  
  <!-- Declare the custom datatypes used in the license server web service -->
  <wsdl:types>
    <xsd:schema targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema">
      <!-- Import the license datatypes schema file -->
      <xsd:import schemaLocation="E:\licenses.xsd" namespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"/>

    </xsd:schema>
  </wsdl:types>
  
  
  
  <!-- The declarations of the messages. There are two types of messages:
  Request-Messages which are sent from the client to the server.
  And Response-Messages which are sent from the server to the client.
  The message have "parts" - something like wrappers for parameters.
  The parts are declared below. -->
  <!-- The QueryLicense pair
  IN: A string with a list of features
  OUT: An object of type Licenses, which is a container for LicenseType objects -->
  <wsdl:message name="QueryLicensesRequest">
    <wsdl:part name="Features" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="QueryLicensesResponse">
    <wsdl:part name="QueryLicensesReturn" type="inno:Licenses"/>
  </wsdl:message>
  <!-- Request a single license -->
  <wsdl:message name="RequestLicenseResponse">
    <wsdl:part name="RequestLicenseReturn" type="inno:License"/>
  </wsdl:message>
  <wsdl:message name="RequestLicenseRequest">
    <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
  </wsdl:message>
  <!-- Free or unlock a license which was in use -->
  <wsdl:message name="FreeLicenseRequest">
    <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="FreeLicenseResponse">
    <wsdl:part name="FreeLicenseReturn" type="xsd:boolean"/>
  </wsdl:message>
  <!-- Admin Messages -->
  <wsdl:message name="InstallLicenseRequest">
    <wsdl:part name="License" type="inno:License"/>
  </wsdl:message>
  <wsdl:message name="InstallLicenseResponse">
    <wsdl:part name="InstallLicenseReturn" type="xsd:boolean"/>
  </wsdl:message>
  <wsdl:message name="GetServerStatusRequest">
  </wsdl:message>
  <wsdl:message name="GetServerStatusResponse">
    <wsdl:part name="GetServerStatusReturn" type="inno:ServerStatus"/>
  </wsdl:message>
  <wsdl:message name="ReloadRequest">
  </wsdl:message>
  <wsdl:message name="ReloadResponse">
  </wsdl:message>
  <!-- The portType definition declares all the methods of the webserver
  and which messages it takes in from the client, and which messages it send out to the client. -->
  <wsdl:portType name="ILicenseServer">
    <wsdl:operation name="QueryLicenses" parameterOrder="Features">
      <wsdl:input message="intf:QueryLicensesRequest" name="QueryLicensesRequest"/>
      <wsdl:output message="intf:QueryLicensesResponse" name="QueryLicensesResponse"/>
    </wsdl:operation>
    <wsdl:operation name="RequestLicense" parameterOrder="UniqueIdentifier">
      <wsdl:input message="intf:RequestLicenseRequest" name="RequestLicenseRequest"/>
      <wsdl:output message="intf:RequestLicenseResponse" name="RequestLicenseResponse"/>
    </wsdl:operation>
    <wsdl:operation name="FreeLicense" parameterOrder="UniqueIdentifier">
      <wsdl:input message="intf:FreeLicenseRequest" name="FreeLicenseRequest"/>
      <wsdl:output message="intf:FreeLicenseResponse" name="FreeLicenseResponse"/>
    </wsdl:operation>
    <wsdl:operation name="InstallLicense" parameterOrder="License">
      <wsdl:input message="intf:InstallLicenseRequest" name="InstallLicenseRequest"/>
      <wsdl:output message="intf:InstallLicenseResponse" name="InstallLicenseResponse"/>
    </wsdl:operation>
    <wsdl:operation name="GetServerStatus">
      <wsdl:input message="intf:GetServerStatusRequest" name="GetServerStatusRequest"/>
      <wsdl:output message="intf:GetServerStatusResponse" name="GetServerStatusResponse"/>
    </wsdl:operation>
    <wsdl:operation name="Reload">
      <wsdl:input message="intf:ReloadRequest" name="ReloadRequest"/>
      <wsdl:output message="intf:ReloadResponse" name="ReloadResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <!-- The binding part of the WSDL file describes the transport implementation.
  Here, it's defined that the webservice can be accessed via HTTP protocol (or, to be more
  specific: via SOAP HTTP) 
  The "document" style is used for interop, the "literal" use is the way how
  the parameters get wrapped (or not wrapped, in this case)
  Valid values for style are: "document" and "rpc", although there should also
  be "wrapped", which is a subtype of document. -->
  <wsdl:binding name="LicenseServerSoapBinding" type="intf:ILicenseServer">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="QueryLicenses">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="QueryLicensesRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="QueryLicensesResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RequestLicense">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="RequestLicenseRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="RequestLicenseResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FreeLicense">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="FreeLicenseRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="FreeLicenseResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="InstallLicense">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="InstallLicenseRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="InstallLicenseResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetServerStatus">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:output name="GetServerStatusResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Reload">
      <wsdlsoap:operation soapAction=""/>
    </wsdl:operation>
  </wsdl:binding>
  <!-- The service definition just tells us the name of the service,
  and where (address) we can find it. As this is no public web service,
  we are not defining a full qualified domain name here, but a short hostname.
  Later, in the client, the endpoint hostname will be made changeable. -->
  <wsdl:service name="ILicenseServerService">
    <wsdl:port binding="intf:LicenseServerSoapBinding" name="LicenseServer">
      <wsdlsoap:address location="http://licenseserver:8080/licenseserver/services/LicenseServer"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
..............................................................................................................


XSD

<?xml version="1.0"?>
<!--
This schema defines all the custom datatypes for use in the license server communication.
It represents the model for licenses, license containers, and the values a license can have.
It is used by the WSDL file to generate code.
It is used by the Castor codegenerator to generate model code.
It is used by the license files to validate themselves.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"
    xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
    xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
     elementFormDefault="qualified">
    <!--
    Documentation
    -->
    <xsd:annotation>
        <xsd:documentation xml:lang="en">A XML Schema for License Key Information as replacement for
            legacy file-based software license keys. Copyright (c) 2005 Innovations
            Softwaretechnologie GmbH. </xsd:documentation>
        <xsd:documentation xml:lang="de">Ein XML Schema für Lizenzschlüssel, als Ersatz für das
            bestehende dateibasierte Lizenzformat. Copyright (c) 2005 Innovations
            Softwaretechnologie GmbH. </xsd:documentation>
    </xsd:annotation>
    <!-- Importing the XML Security Schema -->

 
    
    <!-- 
    This is the root element of all license files.
     <Licenses>
          <License>
          </License>
          <License>
          </License>
          <LogEntry>
          </LogEntry>
     </Licenses>
    -->
    <!-- The container type for license keys -->
    <xsd:element name="Licenses" type="inno:LicenseContainer"/>
    <xsd:complexType name="LicenseContainer">
        <xsd:sequence>
            <xsd:element name="License" minOccurs="0" maxOccurs="unbounded" type="inno:LicenseType"/>
            <xsd:element name="LogEntry" minOccurs="0" maxOccurs="unbounded" type="inno:LogEntryType"/>
        </xsd:sequence>
    </xsd:complexType>
    <!-- A named license key binds a license to a specific person -->
    <xsd:element name="NamedLicenseModel">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Person" type="inno:Identity"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!-- A Node Locked License model locks a license to a specific machine -->
    <xsd:element name="NodeLockedLicenseModel">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Node" type="inno:Identity"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!-- A Floating License can be used concurrently by an amount of users -->
    <xsd:element name="FloatingLicenseModel">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="ConcurrentDevices" type="xsd:int" minOccurs="1" maxOccurs="1"
                    nillable="false"/>
                <xsd:element name="AllowMultipleInstances" type="xsd:boolean" minOccurs="0"
                    maxOccurs="1" nillable="false"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!-- A Site license is only restricted to be used by employees by a single company -->
    <xsd:element name="SiteLicenseModel">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Company" minOccurs="1" maxOccurs="1" type="inno:Identity"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!-- Time restricted license model -->
    <xsd:element name="TimeRestrictedLicenseModel">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" name="ValidAfter" type="xsd:date"/>
                <xsd:element minOccurs="0" name="ValidBefore" type="xsd:date"/>
                <xsd:element minOccurs="0" name="ReleaseDateBefore" type="xsd:date"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!-- The main License type includes signed information about the license key itself,
    meta information and optionally runtime-information -->
    <xsd:complexType name="LicenseType">
        <xsd:sequence>
            <!-- Very Important License Information -->
            <xsd:element name="SignedLicenseInfo" minOccurs="1">
                <xsd:complexType>
                    <!-- This Id is used by XML Security to reference the signed element -->
                    <xsd:sequence>
                        <xsd:element name="Vendor" type="xsd:string"/>
                        <xsd:element name="Application" type="xsd:string"/>
                        <xsd:choice>
                            <xsd:element ref="inno:NamedLicenseModel"/>
                            <xsd:element ref="inno:NodeLockedLicenseModel"/>
                            <xsd:element ref="inno:FloatingLicenseModel"/>
                            <xsd:element ref="inno:SiteLicenseModel"/>
                            <xsd:element ref="inno:TimeRestrictedLicenseModel"/>
                        </xsd:choice>
                        <!-- Extendable License Information -->
                        <xsd:element name="Feature" maxOccurs="unbounded" minOccurs="0"
                            type="inno:FeatureType"/>
                    </xsd:sequence>
                    <xsd:attribute name="Id" use="required" type="xsd:string"/>
                </xsd:complexType>
            </xsd:element>
            <!-- The position of the Digital Signature for this License -->
            <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
            <!-- Additional License Information -->
            <xsd:element name="MetaInfo" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <!-- Vendor/Application Information -->
                        <xsd:element minOccurs="0" name="Description" type="xsd:string"/>
                        <xsd:element minOccurs="0" name="Creation" type="xsd:date"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <!-- Additional Runtime License Information -->
            <xsd:element name="RuntimeInfo" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <!-- Server-related Runtime Information -->
                        <xsd:element minOccurs="0" maxOccurs="1" name="Locked" type="xsd:boolean"/>
                        <xsd:element minOccurs="0" maxOccurs="1" name="LockedByUser"
                            type="xsd:string"/>
                        <xsd:element minOccurs="0" maxOccurs="1" name="LockedSince" type="xsd:date"/>
                        <xsd:element minOccurs="0" maxOccurs="1" name="LockedUntil" type="xsd:date"
                        />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <!-- Error Codes -->
    <xsd:simpleType name="StatusCode">
        <xsd:annotation>
            <xsd:documentation>Status codes being used in logfile</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:int">
            <xsd:enumeration value="200" id="STATUS_OK"/>
            <xsd:enumeration value="403" id="STATUS_ERR_NO_AUTH"/>
            <xsd:enumeration value="404" id="STATUS_ERR_NOT_FOUND"/>
            <xsd:enumeration value="500" id="STATUS_ERR_INTERNAL"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- Represents an identity, namely a person, a company or a machine -->
    <xsd:complexType name="Identity">
        <xsd:sequence>
            <xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="Address" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="EMail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="Hostname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="IPAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="MACAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!-- This is a complex type, which represents a map (key and value pairs) for
    defining features of a license. -->
    <xsd:complexType name="FeatureType">
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="value" type="xsd:string" use="required"/>
        <!-- This can be used to differentiate content types, e.g.
        to use some basic scripting language like:
            <Feature name="majorVersion" type="script" value="&gt;=3 &amp;&amp; &lt;= 4"/>
         -->
        <xsd:attribute name="type" type="xsd:string" default="plain" use="optional"/>
    </xsd:complexType>
    <!--
    Admin-Level: Server Management
    -->
    <xsd:complexType name="ServerStatus">
        <xsd:sequence>
            <xsd:element name="VersionString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
            <xsd:element name="NumberLicenses" maxOccurs="1" minOccurs="0" type="xsd:int"/>
            <xsd:element name="NumberQueries" maxOccurs="1" minOccurs="0" type="xsd:long"/>
            <xsd:element name="NumberRequests" maxOccurs="1" minOccurs="0" type="xsd:long"/>
            <xsd:element name="RegistreeString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
            <xsd:element name="UptimeSince" maxOccurs="1" minOccurs="0" type="xsd:duration"/>
        </xsd:sequence>
    </xsd:complexType>
    <!-- Server Stuff -->
    <xsd:complexType name="LogEntryType">
        <xsd:sequence>
            <xsd:element name="TimeStamp" type="xsd:date"/>
            <xsd:element name="RemoteUser" type="xsd:string"/>
            <xsd:element name="RemoteHost" type="xsd:string"/>
            <xsd:element name="StatusCode" type="inno:StatusCode"/>
            <xsd:element name="LicenseID" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    
</xsd:schema>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (AXIS2-25) WSDL parsing issue.

Posted by "Chathura Herath (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-25?page=all ]

Chathura Herath updated AXIS2-25:
---------------------------------

    Attachment: BookQuote.wsdl
                BindingOperationTest.java

Testcase that produces the error

> WSDL parsing issue.
> -------------------
>
>          Key: AXIS2-25
>          URL: http://issues.apache.org/jira/browse/AXIS2-25
>      Project: Axis2
>         Type: Bug
>   Components: wsdl
>  Environment: NA
>     Reporter: Chathura Herath
>     Assignee: Davanum Srinivas
>  Attachments: BindingOperationTest.java, BookQuote.wsdl, patch.txt
>
> The issue  arrives when the optional WSDL Binding Operation message references(which are optional)  does not match with the Operations message references. Example.. WSDL
> ......................................................................................
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- 
> This is the main description file for the web service.
> It is used to generate some code, which is used by client and server.
> The data types are based on the XML Schema for license files, namely licenses.xsd. This file
> is imported directly into the types definition of this web server description language file.
> @author mhaller
> -->
> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
>   xmlns:impl="http://www.innovations.de/2005/v1/XMLLicenseSchema#Intf"
>   xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>   xmlns:intf="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl"
>   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>   xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>   targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl">
>   
>   <!-- Declare the custom datatypes used in the license server web service -->
>   <wsdl:types>
>     <xsd:schema targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema">
>       <!-- Import the license datatypes schema file -->
>       <xsd:import schemaLocation="E:\licenses.xsd" namespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"/>
>     </xsd:schema>
>   </wsdl:types>
>   
>   
>   
>   <!-- The declarations of the messages. There are two types of messages:
>   Request-Messages which are sent from the client to the server.
>   And Response-Messages which are sent from the server to the client.
>   The message have "parts" - something like wrappers for parameters.
>   The parts are declared below. -->
>   <!-- The QueryLicense pair
>   IN: A string with a list of features
>   OUT: An object of type Licenses, which is a container for LicenseType objects -->
>   <wsdl:message name="QueryLicensesRequest">
>     <wsdl:part name="Features" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="QueryLicensesResponse">
>     <wsdl:part name="QueryLicensesReturn" type="inno:Licenses"/>
>   </wsdl:message>
>   <!-- Request a single license -->
>   <wsdl:message name="RequestLicenseResponse">
>     <wsdl:part name="RequestLicenseReturn" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="RequestLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <!-- Free or unlock a license which was in use -->
>   <wsdl:message name="FreeLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="FreeLicenseResponse">
>     <wsdl:part name="FreeLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <!-- Admin Messages -->
>   <wsdl:message name="InstallLicenseRequest">
>     <wsdl:part name="License" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="InstallLicenseResponse">
>     <wsdl:part name="InstallLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusRequest">
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusResponse">
>     <wsdl:part name="GetServerStatusReturn" type="inno:ServerStatus"/>
>   </wsdl:message>
>   <wsdl:message name="ReloadRequest">
>   </wsdl:message>
>   <wsdl:message name="ReloadResponse">
>   </wsdl:message>
>   <!-- The portType definition declares all the methods of the webserver
>   and which messages it takes in from the client, and which messages it send out to the client. -->
>   <wsdl:portType name="ILicenseServer">
>     <wsdl:operation name="QueryLicenses" parameterOrder="Features">
>       <wsdl:input message="intf:QueryLicensesRequest" name="QueryLicensesRequest"/>
>       <wsdl:output message="intf:QueryLicensesResponse" name="QueryLicensesResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:RequestLicenseRequest" name="RequestLicenseRequest"/>
>       <wsdl:output message="intf:RequestLicenseResponse" name="RequestLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:FreeLicenseRequest" name="FreeLicenseRequest"/>
>       <wsdl:output message="intf:FreeLicenseResponse" name="FreeLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense" parameterOrder="License">
>       <wsdl:input message="intf:InstallLicenseRequest" name="InstallLicenseRequest"/>
>       <wsdl:output message="intf:InstallLicenseResponse" name="InstallLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdl:input message="intf:GetServerStatusRequest" name="GetServerStatusRequest"/>
>       <wsdl:output message="intf:GetServerStatusResponse" name="GetServerStatusResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdl:input message="intf:ReloadRequest" name="ReloadRequest"/>
>       <wsdl:output message="intf:ReloadResponse" name="ReloadResponse"/>
>     </wsdl:operation>
>   </wsdl:portType>
>   <!-- The binding part of the WSDL file describes the transport implementation.
>   Here, it's defined that the webservice can be accessed via HTTP protocol (or, to be more
>   specific: via SOAP HTTP) 
>   The "document" style is used for interop, the "literal" use is the way how
>   the parameters get wrapped (or not wrapped, in this case)
>   Valid values for style are: "document" and "rpc", although there should also
>   be "wrapped", which is a subtype of document. -->
>   <wsdl:binding name="LicenseServerSoapBinding" type="intf:ILicenseServer">
>     <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="QueryLicenses">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="QueryLicensesRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="QueryLicensesResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="RequestLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="RequestLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="FreeLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="FreeLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="InstallLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="InstallLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:output name="GetServerStatusResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdlsoap:operation soapAction=""/>
>     </wsdl:operation>
>   </wsdl:binding>
>   <!-- The service definition just tells us the name of the service,
>   and where (address) we can find it. As this is no public web service,
>   we are not defining a full qualified domain name here, but a short hostname.
>   Later, in the client, the endpoint hostname will be made changeable. -->
>   <wsdl:service name="ILicenseServerService">
>     <wsdl:port binding="intf:LicenseServerSoapBinding" name="LicenseServer">
>       <wsdlsoap:address location="http://licenseserver:8080/licenseserver/services/LicenseServer"/>
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> ..............................................................................................................
> XSD
> <?xml version="1.0"?>
> <!--
> This schema defines all the custom datatypes for use in the license server communication.
> It represents the model for licenses, license containers, and the values a license can have.
> It is used by the WSDL file to generate code.
> It is used by the Castor codegenerator to generate model code.
> It is used by the license files to validate themselves.
> -->
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>      elementFormDefault="qualified">
>     <!--
>     Documentation
>     -->
>     <xsd:annotation>
>         <xsd:documentation xml:lang="en">A XML Schema for License Key Information as replacement for
>             legacy file-based software license keys. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>         <xsd:documentation xml:lang="de">Ein XML Schema für Lizenzschlüssel, als Ersatz für das
>             bestehende dateibasierte Lizenzformat. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>     </xsd:annotation>
>     <!-- Importing the XML Security Schema -->
>  
>     
>     <!-- 
>     This is the root element of all license files.
>      <Licenses>
>           <License>
>           </License>
>           <License>
>           </License>
>           <LogEntry>
>           </LogEntry>
>      </Licenses>
>     -->
>     <!-- The container type for license keys -->
>     <xsd:element name="Licenses" type="inno:LicenseContainer"/>
>     <xsd:complexType name="LicenseContainer">
>         <xsd:sequence>
>             <xsd:element name="License" minOccurs="0" maxOccurs="unbounded" type="inno:LicenseType"/>
>             <xsd:element name="LogEntry" minOccurs="0" maxOccurs="unbounded" type="inno:LogEntryType"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- A named license key binds a license to a specific person -->
>     <xsd:element name="NamedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Person" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Node Locked License model locks a license to a specific machine -->
>     <xsd:element name="NodeLockedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Node" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Floating License can be used concurrently by an amount of users -->
>     <xsd:element name="FloatingLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="ConcurrentDevices" type="xsd:int" minOccurs="1" maxOccurs="1"
>                     nillable="false"/>
>                 <xsd:element name="AllowMultipleInstances" type="xsd:boolean" minOccurs="0"
>                     maxOccurs="1" nillable="false"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Site license is only restricted to be used by employees by a single company -->
>     <xsd:element name="SiteLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Company" minOccurs="1" maxOccurs="1" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- Time restricted license model -->
>     <xsd:element name="TimeRestrictedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element minOccurs="0" name="ValidAfter" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ValidBefore" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ReleaseDateBefore" type="xsd:date"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- The main License type includes signed information about the license key itself,
>     meta information and optionally runtime-information -->
>     <xsd:complexType name="LicenseType">
>         <xsd:sequence>
>             <!-- Very Important License Information -->
>             <xsd:element name="SignedLicenseInfo" minOccurs="1">
>                 <xsd:complexType>
>                     <!-- This Id is used by XML Security to reference the signed element -->
>                     <xsd:sequence>
>                         <xsd:element name="Vendor" type="xsd:string"/>
>                         <xsd:element name="Application" type="xsd:string"/>
>                         <xsd:choice>
>                             <xsd:element ref="inno:NamedLicenseModel"/>
>                             <xsd:element ref="inno:NodeLockedLicenseModel"/>
>                             <xsd:element ref="inno:FloatingLicenseModel"/>
>                             <xsd:element ref="inno:SiteLicenseModel"/>
>                             <xsd:element ref="inno:TimeRestrictedLicenseModel"/>
>                         </xsd:choice>
>                         <!-- Extendable License Information -->
>                         <xsd:element name="Feature" maxOccurs="unbounded" minOccurs="0"
>                             type="inno:FeatureType"/>
>                     </xsd:sequence>
>                     <xsd:attribute name="Id" use="required" type="xsd:string"/>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- The position of the Digital Signature for this License -->
>             <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
>             <!-- Additional License Information -->
>             <xsd:element name="MetaInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Vendor/Application Information -->
>                         <xsd:element minOccurs="0" name="Description" type="xsd:string"/>
>                         <xsd:element minOccurs="0" name="Creation" type="xsd:date"/>
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- Additional Runtime License Information -->
>             <xsd:element name="RuntimeInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Server-related Runtime Information -->
>                         <xsd:element minOccurs="0" maxOccurs="1" name="Locked" type="xsd:boolean"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedByUser"
>                             type="xsd:string"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedSince" type="xsd:date"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedUntil" type="xsd:date"
>                         />
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Error Codes -->
>     <xsd:simpleType name="StatusCode">
>         <xsd:annotation>
>             <xsd:documentation>Status codes being used in logfile</xsd:documentation>
>         </xsd:annotation>
>         <xsd:restriction base="xsd:int">
>             <xsd:enumeration value="200" id="STATUS_OK"/>
>             <xsd:enumeration value="403" id="STATUS_ERR_NO_AUTH"/>
>             <xsd:enumeration value="404" id="STATUS_ERR_NOT_FOUND"/>
>             <xsd:enumeration value="500" id="STATUS_ERR_INTERNAL"/>
>         </xsd:restriction>
>     </xsd:simpleType>
>     <!-- Represents an identity, namely a person, a company or a machine -->
>     <xsd:complexType name="Identity">
>         <xsd:sequence>
>             <xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Address" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="EMail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Hostname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="IPAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="MACAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- This is a complex type, which represents a map (key and value pairs) for
>     defining features of a license. -->
>     <xsd:complexType name="FeatureType">
>         <xsd:attribute name="name" type="xsd:string" use="required"/>
>         <xsd:attribute name="value" type="xsd:string" use="required"/>
>         <!-- This can be used to differentiate content types, e.g.
>         to use some basic scripting language like:
>             <Feature name="majorVersion" type="script" value="&gt;=3 &amp;&amp; &lt;= 4"/>
>          -->
>         <xsd:attribute name="type" type="xsd:string" default="plain" use="optional"/>
>     </xsd:complexType>
>     <!--
>     Admin-Level: Server Management
>     -->
>     <xsd:complexType name="ServerStatus">
>         <xsd:sequence>
>             <xsd:element name="VersionString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="NumberLicenses" maxOccurs="1" minOccurs="0" type="xsd:int"/>
>             <xsd:element name="NumberQueries" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="NumberRequests" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="RegistreeString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="UptimeSince" maxOccurs="1" minOccurs="0" type="xsd:duration"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Server Stuff -->
>     <xsd:complexType name="LogEntryType">
>         <xsd:sequence>
>             <xsd:element name="TimeStamp" type="xsd:date"/>
>             <xsd:element name="RemoteUser" type="xsd:string"/>
>             <xsd:element name="RemoteHost" type="xsd:string"/>
>             <xsd:element name="StatusCode" type="inno:StatusCode"/>
>             <xsd:element name="LicenseID" type="xsd:string"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     
> </xsd:schema>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (AXIS2-25) WSDL parsing issue.

Posted by "Srinath Perera (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-25?page=all ]
     
Srinath Perera resolved AXIS2-25:
---------------------------------

    Resolution: Fixed

the patch has applied

> WSDL parsing issue.
> -------------------
>
>          Key: AXIS2-25
>          URL: http://issues.apache.org/jira/browse/AXIS2-25
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug
>   Components: wsdl
>  Environment: NA
>     Reporter: Chathura Herath
>     Assignee: Chathura Herath
>  Attachments: BindingOperationTest.java, BookQuote.wsdl, patch.txt
>
> The issue  arrives when the optional WSDL Binding Operation message references(which are optional)  does not match with the Operations message references. Example.. WSDL
> ......................................................................................
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- 
> This is the main description file for the web service.
> It is used to generate some code, which is used by client and server.
> The data types are based on the XML Schema for license files, namely licenses.xsd. This file
> is imported directly into the types definition of this web server description language file.
> @author mhaller
> -->
> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
>   xmlns:impl="http://www.innovations.de/2005/v1/XMLLicenseSchema#Intf"
>   xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>   xmlns:intf="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl"
>   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>   xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>   targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl">
>   
>   <!-- Declare the custom datatypes used in the license server web service -->
>   <wsdl:types>
>     <xsd:schema targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema">
>       <!-- Import the license datatypes schema file -->
>       <xsd:import schemaLocation="E:\licenses.xsd" namespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"/>
>     </xsd:schema>
>   </wsdl:types>
>   
>   
>   
>   <!-- The declarations of the messages. There are two types of messages:
>   Request-Messages which are sent from the client to the server.
>   And Response-Messages which are sent from the server to the client.
>   The message have "parts" - something like wrappers for parameters.
>   The parts are declared below. -->
>   <!-- The QueryLicense pair
>   IN: A string with a list of features
>   OUT: An object of type Licenses, which is a container for LicenseType objects -->
>   <wsdl:message name="QueryLicensesRequest">
>     <wsdl:part name="Features" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="QueryLicensesResponse">
>     <wsdl:part name="QueryLicensesReturn" type="inno:Licenses"/>
>   </wsdl:message>
>   <!-- Request a single license -->
>   <wsdl:message name="RequestLicenseResponse">
>     <wsdl:part name="RequestLicenseReturn" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="RequestLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <!-- Free or unlock a license which was in use -->
>   <wsdl:message name="FreeLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="FreeLicenseResponse">
>     <wsdl:part name="FreeLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <!-- Admin Messages -->
>   <wsdl:message name="InstallLicenseRequest">
>     <wsdl:part name="License" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="InstallLicenseResponse">
>     <wsdl:part name="InstallLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusRequest">
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusResponse">
>     <wsdl:part name="GetServerStatusReturn" type="inno:ServerStatus"/>
>   </wsdl:message>
>   <wsdl:message name="ReloadRequest">
>   </wsdl:message>
>   <wsdl:message name="ReloadResponse">
>   </wsdl:message>
>   <!-- The portType definition declares all the methods of the webserver
>   and which messages it takes in from the client, and which messages it send out to the client. -->
>   <wsdl:portType name="ILicenseServer">
>     <wsdl:operation name="QueryLicenses" parameterOrder="Features">
>       <wsdl:input message="intf:QueryLicensesRequest" name="QueryLicensesRequest"/>
>       <wsdl:output message="intf:QueryLicensesResponse" name="QueryLicensesResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:RequestLicenseRequest" name="RequestLicenseRequest"/>
>       <wsdl:output message="intf:RequestLicenseResponse" name="RequestLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:FreeLicenseRequest" name="FreeLicenseRequest"/>
>       <wsdl:output message="intf:FreeLicenseResponse" name="FreeLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense" parameterOrder="License">
>       <wsdl:input message="intf:InstallLicenseRequest" name="InstallLicenseRequest"/>
>       <wsdl:output message="intf:InstallLicenseResponse" name="InstallLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdl:input message="intf:GetServerStatusRequest" name="GetServerStatusRequest"/>
>       <wsdl:output message="intf:GetServerStatusResponse" name="GetServerStatusResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdl:input message="intf:ReloadRequest" name="ReloadRequest"/>
>       <wsdl:output message="intf:ReloadResponse" name="ReloadResponse"/>
>     </wsdl:operation>
>   </wsdl:portType>
>   <!-- The binding part of the WSDL file describes the transport implementation.
>   Here, it's defined that the webservice can be accessed via HTTP protocol (or, to be more
>   specific: via SOAP HTTP) 
>   The "document" style is used for interop, the "literal" use is the way how
>   the parameters get wrapped (or not wrapped, in this case)
>   Valid values for style are: "document" and "rpc", although there should also
>   be "wrapped", which is a subtype of document. -->
>   <wsdl:binding name="LicenseServerSoapBinding" type="intf:ILicenseServer">
>     <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="QueryLicenses">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="QueryLicensesRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="QueryLicensesResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="RequestLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="RequestLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="FreeLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="FreeLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="InstallLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="InstallLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:output name="GetServerStatusResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdlsoap:operation soapAction=""/>
>     </wsdl:operation>
>   </wsdl:binding>
>   <!-- The service definition just tells us the name of the service,
>   and where (address) we can find it. As this is no public web service,
>   we are not defining a full qualified domain name here, but a short hostname.
>   Later, in the client, the endpoint hostname will be made changeable. -->
>   <wsdl:service name="ILicenseServerService">
>     <wsdl:port binding="intf:LicenseServerSoapBinding" name="LicenseServer">
>       <wsdlsoap:address location="http://licenseserver:8080/licenseserver/services/LicenseServer"/>
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> ..............................................................................................................
> XSD
> <?xml version="1.0"?>
> <!--
> This schema defines all the custom datatypes for use in the license server communication.
> It represents the model for licenses, license containers, and the values a license can have.
> It is used by the WSDL file to generate code.
> It is used by the Castor codegenerator to generate model code.
> It is used by the license files to validate themselves.
> -->
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>      elementFormDefault="qualified">
>     <!--
>     Documentation
>     -->
>     <xsd:annotation>
>         <xsd:documentation xml:lang="en">A XML Schema for License Key Information as replacement for
>             legacy file-based software license keys. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>         <xsd:documentation xml:lang="de">Ein XML Schema für Lizenzschlüssel, als Ersatz für das
>             bestehende dateibasierte Lizenzformat. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>     </xsd:annotation>
>     <!-- Importing the XML Security Schema -->
>  
>     
>     <!-- 
>     This is the root element of all license files.
>      <Licenses>
>           <License>
>           </License>
>           <License>
>           </License>
>           <LogEntry>
>           </LogEntry>
>      </Licenses>
>     -->
>     <!-- The container type for license keys -->
>     <xsd:element name="Licenses" type="inno:LicenseContainer"/>
>     <xsd:complexType name="LicenseContainer">
>         <xsd:sequence>
>             <xsd:element name="License" minOccurs="0" maxOccurs="unbounded" type="inno:LicenseType"/>
>             <xsd:element name="LogEntry" minOccurs="0" maxOccurs="unbounded" type="inno:LogEntryType"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- A named license key binds a license to a specific person -->
>     <xsd:element name="NamedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Person" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Node Locked License model locks a license to a specific machine -->
>     <xsd:element name="NodeLockedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Node" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Floating License can be used concurrently by an amount of users -->
>     <xsd:element name="FloatingLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="ConcurrentDevices" type="xsd:int" minOccurs="1" maxOccurs="1"
>                     nillable="false"/>
>                 <xsd:element name="AllowMultipleInstances" type="xsd:boolean" minOccurs="0"
>                     maxOccurs="1" nillable="false"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Site license is only restricted to be used by employees by a single company -->
>     <xsd:element name="SiteLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Company" minOccurs="1" maxOccurs="1" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- Time restricted license model -->
>     <xsd:element name="TimeRestrictedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element minOccurs="0" name="ValidAfter" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ValidBefore" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ReleaseDateBefore" type="xsd:date"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- The main License type includes signed information about the license key itself,
>     meta information and optionally runtime-information -->
>     <xsd:complexType name="LicenseType">
>         <xsd:sequence>
>             <!-- Very Important License Information -->
>             <xsd:element name="SignedLicenseInfo" minOccurs="1">
>                 <xsd:complexType>
>                     <!-- This Id is used by XML Security to reference the signed element -->
>                     <xsd:sequence>
>                         <xsd:element name="Vendor" type="xsd:string"/>
>                         <xsd:element name="Application" type="xsd:string"/>
>                         <xsd:choice>
>                             <xsd:element ref="inno:NamedLicenseModel"/>
>                             <xsd:element ref="inno:NodeLockedLicenseModel"/>
>                             <xsd:element ref="inno:FloatingLicenseModel"/>
>                             <xsd:element ref="inno:SiteLicenseModel"/>
>                             <xsd:element ref="inno:TimeRestrictedLicenseModel"/>
>                         </xsd:choice>
>                         <!-- Extendable License Information -->
>                         <xsd:element name="Feature" maxOccurs="unbounded" minOccurs="0"
>                             type="inno:FeatureType"/>
>                     </xsd:sequence>
>                     <xsd:attribute name="Id" use="required" type="xsd:string"/>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- The position of the Digital Signature for this License -->
>             <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
>             <!-- Additional License Information -->
>             <xsd:element name="MetaInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Vendor/Application Information -->
>                         <xsd:element minOccurs="0" name="Description" type="xsd:string"/>
>                         <xsd:element minOccurs="0" name="Creation" type="xsd:date"/>
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- Additional Runtime License Information -->
>             <xsd:element name="RuntimeInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Server-related Runtime Information -->
>                         <xsd:element minOccurs="0" maxOccurs="1" name="Locked" type="xsd:boolean"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedByUser"
>                             type="xsd:string"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedSince" type="xsd:date"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedUntil" type="xsd:date"
>                         />
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Error Codes -->
>     <xsd:simpleType name="StatusCode">
>         <xsd:annotation>
>             <xsd:documentation>Status codes being used in logfile</xsd:documentation>
>         </xsd:annotation>
>         <xsd:restriction base="xsd:int">
>             <xsd:enumeration value="200" id="STATUS_OK"/>
>             <xsd:enumeration value="403" id="STATUS_ERR_NO_AUTH"/>
>             <xsd:enumeration value="404" id="STATUS_ERR_NOT_FOUND"/>
>             <xsd:enumeration value="500" id="STATUS_ERR_INTERNAL"/>
>         </xsd:restriction>
>     </xsd:simpleType>
>     <!-- Represents an identity, namely a person, a company or a machine -->
>     <xsd:complexType name="Identity">
>         <xsd:sequence>
>             <xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Address" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="EMail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Hostname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="IPAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="MACAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- This is a complex type, which represents a map (key and value pairs) for
>     defining features of a license. -->
>     <xsd:complexType name="FeatureType">
>         <xsd:attribute name="name" type="xsd:string" use="required"/>
>         <xsd:attribute name="value" type="xsd:string" use="required"/>
>         <!-- This can be used to differentiate content types, e.g.
>         to use some basic scripting language like:
>             <Feature name="majorVersion" type="script" value="&gt;=3 &amp;&amp; &lt;= 4"/>
>          -->
>         <xsd:attribute name="type" type="xsd:string" default="plain" use="optional"/>
>     </xsd:complexType>
>     <!--
>     Admin-Level: Server Management
>     -->
>     <xsd:complexType name="ServerStatus">
>         <xsd:sequence>
>             <xsd:element name="VersionString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="NumberLicenses" maxOccurs="1" minOccurs="0" type="xsd:int"/>
>             <xsd:element name="NumberQueries" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="NumberRequests" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="RegistreeString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="UptimeSince" maxOccurs="1" minOccurs="0" type="xsd:duration"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Server Stuff -->
>     <xsd:complexType name="LogEntryType">
>         <xsd:sequence>
>             <xsd:element name="TimeStamp" type="xsd:date"/>
>             <xsd:element name="RemoteUser" type="xsd:string"/>
>             <xsd:element name="RemoteHost" type="xsd:string"/>
>             <xsd:element name="StatusCode" type="inno:StatusCode"/>
>             <xsd:element name="LicenseID" type="xsd:string"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     
> </xsd:schema>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (AXIS2-25) WSDL parsing issue.

Posted by "Chathura Herath (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-25?page=all ]

Chathura Herath updated AXIS2-25:
---------------------------------

    Attachment: patch.txt

Patch for the Issue.  Commited to SVN (Revision: 189736)

> WSDL parsing issue.
> -------------------
>
>          Key: AXIS2-25
>          URL: http://issues.apache.org/jira/browse/AXIS2-25
>      Project: Axis2
>         Type: Bug
>   Components: wsdl
>  Environment: NA
>     Reporter: Chathura Herath
>     Assignee: Davanum Srinivas
>  Attachments: patch.txt
>
> The issue  arrives when the optional WSDL Binding Operation message references(which are optional)  does not match with the Operations message references. Example.. WSDL
> ......................................................................................
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- 
> This is the main description file for the web service.
> It is used to generate some code, which is used by client and server.
> The data types are based on the XML Schema for license files, namely licenses.xsd. This file
> is imported directly into the types definition of this web server description language file.
> @author mhaller
> -->
> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
>   xmlns:impl="http://www.innovations.de/2005/v1/XMLLicenseSchema#Intf"
>   xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>   xmlns:intf="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl"
>   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>   xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>   targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl">
>   
>   <!-- Declare the custom datatypes used in the license server web service -->
>   <wsdl:types>
>     <xsd:schema targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema">
>       <!-- Import the license datatypes schema file -->
>       <xsd:import schemaLocation="E:\licenses.xsd" namespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"/>
>     </xsd:schema>
>   </wsdl:types>
>   
>   
>   
>   <!-- The declarations of the messages. There are two types of messages:
>   Request-Messages which are sent from the client to the server.
>   And Response-Messages which are sent from the server to the client.
>   The message have "parts" - something like wrappers for parameters.
>   The parts are declared below. -->
>   <!-- The QueryLicense pair
>   IN: A string with a list of features
>   OUT: An object of type Licenses, which is a container for LicenseType objects -->
>   <wsdl:message name="QueryLicensesRequest">
>     <wsdl:part name="Features" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="QueryLicensesResponse">
>     <wsdl:part name="QueryLicensesReturn" type="inno:Licenses"/>
>   </wsdl:message>
>   <!-- Request a single license -->
>   <wsdl:message name="RequestLicenseResponse">
>     <wsdl:part name="RequestLicenseReturn" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="RequestLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <!-- Free or unlock a license which was in use -->
>   <wsdl:message name="FreeLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="FreeLicenseResponse">
>     <wsdl:part name="FreeLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <!-- Admin Messages -->
>   <wsdl:message name="InstallLicenseRequest">
>     <wsdl:part name="License" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="InstallLicenseResponse">
>     <wsdl:part name="InstallLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusRequest">
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusResponse">
>     <wsdl:part name="GetServerStatusReturn" type="inno:ServerStatus"/>
>   </wsdl:message>
>   <wsdl:message name="ReloadRequest">
>   </wsdl:message>
>   <wsdl:message name="ReloadResponse">
>   </wsdl:message>
>   <!-- The portType definition declares all the methods of the webserver
>   and which messages it takes in from the client, and which messages it send out to the client. -->
>   <wsdl:portType name="ILicenseServer">
>     <wsdl:operation name="QueryLicenses" parameterOrder="Features">
>       <wsdl:input message="intf:QueryLicensesRequest" name="QueryLicensesRequest"/>
>       <wsdl:output message="intf:QueryLicensesResponse" name="QueryLicensesResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:RequestLicenseRequest" name="RequestLicenseRequest"/>
>       <wsdl:output message="intf:RequestLicenseResponse" name="RequestLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:FreeLicenseRequest" name="FreeLicenseRequest"/>
>       <wsdl:output message="intf:FreeLicenseResponse" name="FreeLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense" parameterOrder="License">
>       <wsdl:input message="intf:InstallLicenseRequest" name="InstallLicenseRequest"/>
>       <wsdl:output message="intf:InstallLicenseResponse" name="InstallLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdl:input message="intf:GetServerStatusRequest" name="GetServerStatusRequest"/>
>       <wsdl:output message="intf:GetServerStatusResponse" name="GetServerStatusResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdl:input message="intf:ReloadRequest" name="ReloadRequest"/>
>       <wsdl:output message="intf:ReloadResponse" name="ReloadResponse"/>
>     </wsdl:operation>
>   </wsdl:portType>
>   <!-- The binding part of the WSDL file describes the transport implementation.
>   Here, it's defined that the webservice can be accessed via HTTP protocol (or, to be more
>   specific: via SOAP HTTP) 
>   The "document" style is used for interop, the "literal" use is the way how
>   the parameters get wrapped (or not wrapped, in this case)
>   Valid values for style are: "document" and "rpc", although there should also
>   be "wrapped", which is a subtype of document. -->
>   <wsdl:binding name="LicenseServerSoapBinding" type="intf:ILicenseServer">
>     <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="QueryLicenses">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="QueryLicensesRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="QueryLicensesResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="RequestLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="RequestLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="FreeLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="FreeLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="InstallLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="InstallLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:output name="GetServerStatusResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdlsoap:operation soapAction=""/>
>     </wsdl:operation>
>   </wsdl:binding>
>   <!-- The service definition just tells us the name of the service,
>   and where (address) we can find it. As this is no public web service,
>   we are not defining a full qualified domain name here, but a short hostname.
>   Later, in the client, the endpoint hostname will be made changeable. -->
>   <wsdl:service name="ILicenseServerService">
>     <wsdl:port binding="intf:LicenseServerSoapBinding" name="LicenseServer">
>       <wsdlsoap:address location="http://licenseserver:8080/licenseserver/services/LicenseServer"/>
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> ..............................................................................................................
> XSD
> <?xml version="1.0"?>
> <!--
> This schema defines all the custom datatypes for use in the license server communication.
> It represents the model for licenses, license containers, and the values a license can have.
> It is used by the WSDL file to generate code.
> It is used by the Castor codegenerator to generate model code.
> It is used by the license files to validate themselves.
> -->
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>      elementFormDefault="qualified">
>     <!--
>     Documentation
>     -->
>     <xsd:annotation>
>         <xsd:documentation xml:lang="en">A XML Schema for License Key Information as replacement for
>             legacy file-based software license keys. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>         <xsd:documentation xml:lang="de">Ein XML Schema für Lizenzschlüssel, als Ersatz für das
>             bestehende dateibasierte Lizenzformat. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>     </xsd:annotation>
>     <!-- Importing the XML Security Schema -->
>  
>     
>     <!-- 
>     This is the root element of all license files.
>      <Licenses>
>           <License>
>           </License>
>           <License>
>           </License>
>           <LogEntry>
>           </LogEntry>
>      </Licenses>
>     -->
>     <!-- The container type for license keys -->
>     <xsd:element name="Licenses" type="inno:LicenseContainer"/>
>     <xsd:complexType name="LicenseContainer">
>         <xsd:sequence>
>             <xsd:element name="License" minOccurs="0" maxOccurs="unbounded" type="inno:LicenseType"/>
>             <xsd:element name="LogEntry" minOccurs="0" maxOccurs="unbounded" type="inno:LogEntryType"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- A named license key binds a license to a specific person -->
>     <xsd:element name="NamedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Person" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Node Locked License model locks a license to a specific machine -->
>     <xsd:element name="NodeLockedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Node" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Floating License can be used concurrently by an amount of users -->
>     <xsd:element name="FloatingLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="ConcurrentDevices" type="xsd:int" minOccurs="1" maxOccurs="1"
>                     nillable="false"/>
>                 <xsd:element name="AllowMultipleInstances" type="xsd:boolean" minOccurs="0"
>                     maxOccurs="1" nillable="false"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Site license is only restricted to be used by employees by a single company -->
>     <xsd:element name="SiteLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Company" minOccurs="1" maxOccurs="1" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- Time restricted license model -->
>     <xsd:element name="TimeRestrictedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element minOccurs="0" name="ValidAfter" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ValidBefore" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ReleaseDateBefore" type="xsd:date"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- The main License type includes signed information about the license key itself,
>     meta information and optionally runtime-information -->
>     <xsd:complexType name="LicenseType">
>         <xsd:sequence>
>             <!-- Very Important License Information -->
>             <xsd:element name="SignedLicenseInfo" minOccurs="1">
>                 <xsd:complexType>
>                     <!-- This Id is used by XML Security to reference the signed element -->
>                     <xsd:sequence>
>                         <xsd:element name="Vendor" type="xsd:string"/>
>                         <xsd:element name="Application" type="xsd:string"/>
>                         <xsd:choice>
>                             <xsd:element ref="inno:NamedLicenseModel"/>
>                             <xsd:element ref="inno:NodeLockedLicenseModel"/>
>                             <xsd:element ref="inno:FloatingLicenseModel"/>
>                             <xsd:element ref="inno:SiteLicenseModel"/>
>                             <xsd:element ref="inno:TimeRestrictedLicenseModel"/>
>                         </xsd:choice>
>                         <!-- Extendable License Information -->
>                         <xsd:element name="Feature" maxOccurs="unbounded" minOccurs="0"
>                             type="inno:FeatureType"/>
>                     </xsd:sequence>
>                     <xsd:attribute name="Id" use="required" type="xsd:string"/>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- The position of the Digital Signature for this License -->
>             <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
>             <!-- Additional License Information -->
>             <xsd:element name="MetaInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Vendor/Application Information -->
>                         <xsd:element minOccurs="0" name="Description" type="xsd:string"/>
>                         <xsd:element minOccurs="0" name="Creation" type="xsd:date"/>
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- Additional Runtime License Information -->
>             <xsd:element name="RuntimeInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Server-related Runtime Information -->
>                         <xsd:element minOccurs="0" maxOccurs="1" name="Locked" type="xsd:boolean"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedByUser"
>                             type="xsd:string"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedSince" type="xsd:date"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedUntil" type="xsd:date"
>                         />
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Error Codes -->
>     <xsd:simpleType name="StatusCode">
>         <xsd:annotation>
>             <xsd:documentation>Status codes being used in logfile</xsd:documentation>
>         </xsd:annotation>
>         <xsd:restriction base="xsd:int">
>             <xsd:enumeration value="200" id="STATUS_OK"/>
>             <xsd:enumeration value="403" id="STATUS_ERR_NO_AUTH"/>
>             <xsd:enumeration value="404" id="STATUS_ERR_NOT_FOUND"/>
>             <xsd:enumeration value="500" id="STATUS_ERR_INTERNAL"/>
>         </xsd:restriction>
>     </xsd:simpleType>
>     <!-- Represents an identity, namely a person, a company or a machine -->
>     <xsd:complexType name="Identity">
>         <xsd:sequence>
>             <xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Address" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="EMail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Hostname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="IPAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="MACAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- This is a complex type, which represents a map (key and value pairs) for
>     defining features of a license. -->
>     <xsd:complexType name="FeatureType">
>         <xsd:attribute name="name" type="xsd:string" use="required"/>
>         <xsd:attribute name="value" type="xsd:string" use="required"/>
>         <!-- This can be used to differentiate content types, e.g.
>         to use some basic scripting language like:
>             <Feature name="majorVersion" type="script" value="&gt;=3 &amp;&amp; &lt;= 4"/>
>          -->
>         <xsd:attribute name="type" type="xsd:string" default="plain" use="optional"/>
>     </xsd:complexType>
>     <!--
>     Admin-Level: Server Management
>     -->
>     <xsd:complexType name="ServerStatus">
>         <xsd:sequence>
>             <xsd:element name="VersionString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="NumberLicenses" maxOccurs="1" minOccurs="0" type="xsd:int"/>
>             <xsd:element name="NumberQueries" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="NumberRequests" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="RegistreeString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="UptimeSince" maxOccurs="1" minOccurs="0" type="xsd:duration"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Server Stuff -->
>     <xsd:complexType name="LogEntryType">
>         <xsd:sequence>
>             <xsd:element name="TimeStamp" type="xsd:date"/>
>             <xsd:element name="RemoteUser" type="xsd:string"/>
>             <xsd:element name="RemoteHost" type="xsd:string"/>
>             <xsd:element name="StatusCode" type="inno:StatusCode"/>
>             <xsd:element name="LicenseID" type="xsd:string"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     
> </xsd:schema>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


RE: [jira] Assigned: (AXIS2-25) WSDL parsing issue.

Posted by Chathura Herath <ch...@opensource.lk>.
Srinath,
Please close this JIRA, it was fixed and the patch and the test case
attached.
Chathura

> -----Original Message-----
> From: Srinath Perera (JIRA) [mailto:jira@apache.org]
> Sent: Thursday, June 23, 2005 9:20 AM
> To: axis-dev@ws.apache.org
> Subject: [jira] Assigned: (AXIS2-25) WSDL parsing issue.
> 
>      [ http://issues.apache.org/jira/browse/AXIS2-25?page=all ]
> 
> Srinath Perera reassigned AXIS2-25:
> -----------------------------------
> 
>     Assign To: Chathura Herath  (was: Davanum Srinivas)
> 
> > WSDL parsing issue.
> > -------------------
> >
> >          Key: AXIS2-25
> >          URL: http://issues.apache.org/jira/browse/AXIS2-25
> >      Project: Apache Axis 2.0 (Axis2)
> >         Type: Bug
> >   Components: wsdl
> >  Environment: NA
> >     Reporter: Chathura Herath
> >     Assignee: Chathura Herath
> >  Attachments: BindingOperationTest.java, BookQuote.wsdl, patch.txt
> >
> > The issue  arrives when the optional WSDL Binding Operation message
> references(which are optional)  does not match with the Operations message
> references. Example.. WSDL
> >
> ..........................................................................
> ............
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!--
> > This is the main description file for the web service.
> > It is used to generate some code, which is used by client and server.
> > The data types are based on the XML Schema for license files, namely
> licenses.xsd. This file
> > is imported directly into the types definition of this web server
> description language file.
> > @author mhaller
> > -->
> > <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
> >   xmlns:impl="http://www.innovations.de/2005/v1/XMLLicenseSchema#Intf"
> >   xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
> >   xmlns:intf="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl"
> >   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >   xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
> >   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> >   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >
> targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl">
> >
> >   <!-- Declare the custom datatypes used in the license server web
> service -->
> >   <wsdl:types>
> >     <xsd:schema
> targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema">
> >       <!-- Import the license datatypes schema file -->
> >       <xsd:import schemaLocation="E:\licenses.xsd"
> namespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"/>
> >     </xsd:schema>
> >   </wsdl:types>
> >
> >
> >
> >   <!-- The declarations of the messages. There are two types of
> messages:
> >   Request-Messages which are sent from the client to the server.
> >   And Response-Messages which are sent from the server to the client.
> >   The message have "parts" - something like wrappers for parameters.
> >   The parts are declared below. -->
> >   <!-- The QueryLicense pair
> >   IN: A string with a list of features
> >   OUT: An object of type Licenses, which is a container for LicenseType
> objects -->
> >   <wsdl:message name="QueryLicensesRequest">
> >     <wsdl:part name="Features" type="xsd:string"/>
> >   </wsdl:message>
> >   <wsdl:message name="QueryLicensesResponse">
> >     <wsdl:part name="QueryLicensesReturn" type="inno:Licenses"/>
> >   </wsdl:message>
> >   <!-- Request a single license -->
> >   <wsdl:message name="RequestLicenseResponse">
> >     <wsdl:part name="RequestLicenseReturn" type="inno:License"/>
> >   </wsdl:message>
> >   <wsdl:message name="RequestLicenseRequest">
> >     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
> >   </wsdl:message>
> >   <!-- Free or unlock a license which was in use -->
> >   <wsdl:message name="FreeLicenseRequest">
> >     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
> >   </wsdl:message>
> >   <wsdl:message name="FreeLicenseResponse">
> >     <wsdl:part name="FreeLicenseReturn" type="xsd:boolean"/>
> >   </wsdl:message>
> >   <!-- Admin Messages -->
> >   <wsdl:message name="InstallLicenseRequest">
> >     <wsdl:part name="License" type="inno:License"/>
> >   </wsdl:message>
> >   <wsdl:message name="InstallLicenseResponse">
> >     <wsdl:part name="InstallLicenseReturn" type="xsd:boolean"/>
> >   </wsdl:message>
> >   <wsdl:message name="GetServerStatusRequest">
> >   </wsdl:message>
> >   <wsdl:message name="GetServerStatusResponse">
> >     <wsdl:part name="GetServerStatusReturn" type="inno:ServerStatus"/>
> >   </wsdl:message>
> >   <wsdl:message name="ReloadRequest">
> >   </wsdl:message>
> >   <wsdl:message name="ReloadResponse">
> >   </wsdl:message>
> >   <!-- The portType definition declares all the methods of the webserver
> >   and which messages it takes in from the client, and which messages it
> send out to the client. -->
> >   <wsdl:portType name="ILicenseServer">
> >     <wsdl:operation name="QueryLicenses" parameterOrder="Features">
> >       <wsdl:input message="intf:QueryLicensesRequest"
> name="QueryLicensesRequest"/>
> >       <wsdl:output message="intf:QueryLicensesResponse"
> name="QueryLicensesResponse"/>
> >     </wsdl:operation>
> >     <wsdl:operation name="RequestLicense"
> parameterOrder="UniqueIdentifier">
> >       <wsdl:input message="intf:RequestLicenseRequest"
> name="RequestLicenseRequest"/>
> >       <wsdl:output message="intf:RequestLicenseResponse"
> name="RequestLicenseResponse"/>
> >     </wsdl:operation>
> >     <wsdl:operation name="FreeLicense"
> parameterOrder="UniqueIdentifier">
> >       <wsdl:input message="intf:FreeLicenseRequest"
> name="FreeLicenseRequest"/>
> >       <wsdl:output message="intf:FreeLicenseResponse"
> name="FreeLicenseResponse"/>
> >     </wsdl:operation>
> >     <wsdl:operation name="InstallLicense" parameterOrder="License">
> >       <wsdl:input message="intf:InstallLicenseRequest"
> name="InstallLicenseRequest"/>
> >       <wsdl:output message="intf:InstallLicenseResponse"
> name="InstallLicenseResponse"/>
> >     </wsdl:operation>
> >     <wsdl:operation name="GetServerStatus">
> >       <wsdl:input message="intf:GetServerStatusRequest"
> name="GetServerStatusRequest"/>
> >       <wsdl:output message="intf:GetServerStatusResponse"
> name="GetServerStatusResponse"/>
> >     </wsdl:operation>
> >     <wsdl:operation name="Reload">
> >       <wsdl:input message="intf:ReloadRequest" name="ReloadRequest"/>
> >       <wsdl:output message="intf:ReloadResponse" name="ReloadResponse"/>
> >     </wsdl:operation>
> >   </wsdl:portType>
> >   <!-- The binding part of the WSDL file describes the transport
> implementation.
> >   Here, it's defined that the webservice can be accessed via HTTP
> protocol (or, to be more
> >   specific: via SOAP HTTP)
> >   The "document" style is used for interop, the "literal" use is the way
> how
> >   the parameters get wrapped (or not wrapped, in this case)
> >   Valid values for style are: "document" and "rpc", although there
> should also
> >   be "wrapped", which is a subtype of document. -->
> >   <wsdl:binding name="LicenseServerSoapBinding"
> type="intf:ILicenseServer">
> >     <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> >     <wsdl:operation name="QueryLicenses">
> >       <wsdlsoap:operation soapAction=""/>
> >       <wsdl:input name="QueryLicensesRequest">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:input>
> >       <wsdl:output name="QueryLicensesResponse">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:output>
> >     </wsdl:operation>
> >     <wsdl:operation name="RequestLicense">
> >       <wsdlsoap:operation soapAction=""/>
> >       <wsdl:input name="RequestLicenseRequest">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:input>
> >       <wsdl:output name="RequestLicenseResponse">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:output>
> >     </wsdl:operation>
> >     <wsdl:operation name="FreeLicense">
> >       <wsdlsoap:operation soapAction=""/>
> >       <wsdl:input name="FreeLicenseRequest">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:input>
> >       <wsdl:output name="FreeLicenseResponse">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:output>
> >     </wsdl:operation>
> >     <wsdl:operation name="InstallLicense">
> >       <wsdlsoap:operation soapAction=""/>
> >       <wsdl:input name="InstallLicenseRequest">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:input>
> >       <wsdl:output name="InstallLicenseResponse">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:output>
> >     </wsdl:operation>
> >     <wsdl:operation name="GetServerStatus">
> >       <wsdlsoap:operation soapAction=""/>
> >       <wsdl:output name="GetServerStatusResponse">
> >         <wsdlsoap:body use="literal"/>
> >       </wsdl:output>
> >     </wsdl:operation>
> >     <wsdl:operation name="Reload">
> >       <wsdlsoap:operation soapAction=""/>
> >     </wsdl:operation>
> >   </wsdl:binding>
> >   <!-- The service definition just tells us the name of the service,
> >   and where (address) we can find it. As this is no public web service,
> >   we are not defining a full qualified domain name here, but a short
> hostname.
> >   Later, in the client, the endpoint hostname will be made changeable. -
> ->
> >   <wsdl:service name="ILicenseServerService">
> >     <wsdl:port binding="intf:LicenseServerSoapBinding"
> name="LicenseServer">
> >       <wsdlsoap:address
> location="http://licenseserver:8080/licenseserver/services/LicenseServer"/
> >
> >     </wsdl:port>
> >   </wsdl:service>
> > </wsdl:definitions>
> >
> ..........................................................................
> ....................................
> > XSD
> > <?xml version="1.0"?>
> > <!--
> > This schema defines all the custom datatypes for use in the license
> server communication.
> > It represents the model for licenses, license containers, and the values
> a license can have.
> > It is used by the WSDL file to generate code.
> > It is used by the Castor codegenerator to generate model code.
> > It is used by the license files to validate themselves.
> > -->
> > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >     targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"
> >     xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
> >     xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
> >      elementFormDefault="qualified">
> >     <!--
> >     Documentation
> >     -->
> >     <xsd:annotation>
> >         <xsd:documentation xml:lang="en">A XML Schema for License Key
> Information as replacement for
> >             legacy file-based software license keys. Copyright (c) 2005
> Innovations
> >             Softwaretechnologie GmbH. </xsd:documentation>
> >         <xsd:documentation xml:lang="de">Ein XML Schema für
> Lizenzschlüssel, als Ersatz für das
> >             bestehende dateibasierte Lizenzformat. Copyright (c) 2005
> Innovations
> >             Softwaretechnologie GmbH. </xsd:documentation>
> >     </xsd:annotation>
> >     <!-- Importing the XML Security Schema -->
> >
> >
> >     <!--
> >     This is the root element of all license files.
> >      <Licenses>
> >           <License>
> >           </License>
> >           <License>
> >           </License>
> >           <LogEntry>
> >           </LogEntry>
> >      </Licenses>
> >     -->
> >     <!-- The container type for license keys -->
> >     <xsd:element name="Licenses" type="inno:LicenseContainer"/>
> >     <xsd:complexType name="LicenseContainer">
> >         <xsd:sequence>
> >             <xsd:element name="License" minOccurs="0"
> maxOccurs="unbounded" type="inno:LicenseType"/>
> >             <xsd:element name="LogEntry" minOccurs="0"
> maxOccurs="unbounded" type="inno:LogEntryType"/>
> >         </xsd:sequence>
> >     </xsd:complexType>
> >     <!-- A named license key binds a license to a specific person -->
> >     <xsd:element name="NamedLicenseModel">
> >         <xsd:complexType>
> >             <xsd:sequence>
> >                 <xsd:element name="Person" type="inno:Identity"/>
> >             </xsd:sequence>
> >         </xsd:complexType>
> >     </xsd:element>
> >     <!-- A Node Locked License model locks a license to a specific
> machine -->
> >     <xsd:element name="NodeLockedLicenseModel">
> >         <xsd:complexType>
> >             <xsd:sequence>
> >                 <xsd:element name="Node" type="inno:Identity"/>
> >             </xsd:sequence>
> >         </xsd:complexType>
> >     </xsd:element>
> >     <!-- A Floating License can be used concurrently by an amount of
> users -->
> >     <xsd:element name="FloatingLicenseModel">
> >         <xsd:complexType>
> >             <xsd:sequence>
> >                 <xsd:element name="ConcurrentDevices" type="xsd:int"
> minOccurs="1" maxOccurs="1"
> >                     nillable="false"/>
> >                 <xsd:element name="AllowMultipleInstances"
> type="xsd:boolean" minOccurs="0"
> >                     maxOccurs="1" nillable="false"/>
> >             </xsd:sequence>
> >         </xsd:complexType>
> >     </xsd:element>
> >     <!-- A Site license is only restricted to be used by employees by a
> single company -->
> >     <xsd:element name="SiteLicenseModel">
> >         <xsd:complexType>
> >             <xsd:sequence>
> >                 <xsd:element name="Company" minOccurs="1" maxOccurs="1"
> type="inno:Identity"/>
> >             </xsd:sequence>
> >         </xsd:complexType>
> >     </xsd:element>
> >     <!-- Time restricted license model -->
> >     <xsd:element name="TimeRestrictedLicenseModel">
> >         <xsd:complexType>
> >             <xsd:sequence>
> >                 <xsd:element minOccurs="0" name="ValidAfter"
> type="xsd:date"/>
> >                 <xsd:element minOccurs="0" name="ValidBefore"
> type="xsd:date"/>
> >                 <xsd:element minOccurs="0" name="ReleaseDateBefore"
> type="xsd:date"/>
> >             </xsd:sequence>
> >         </xsd:complexType>
> >     </xsd:element>
> >     <!-- The main License type includes signed information about the
> license key itself,
> >     meta information and optionally runtime-information -->
> >     <xsd:complexType name="LicenseType">
> >         <xsd:sequence>
> >             <!-- Very Important License Information -->
> >             <xsd:element name="SignedLicenseInfo" minOccurs="1">
> >                 <xsd:complexType>
> >                     <!-- This Id is used by XML Security to reference
> the signed element -->
> >                     <xsd:sequence>
> >                         <xsd:element name="Vendor" type="xsd:string"/>
> >                         <xsd:element name="Application"
> type="xsd:string"/>
> >                         <xsd:choice>
> >                             <xsd:element ref="inno:NamedLicenseModel"/>
> >                             <xsd:element
> ref="inno:NodeLockedLicenseModel"/>
> >                             <xsd:element
> ref="inno:FloatingLicenseModel"/>
> >                             <xsd:element ref="inno:SiteLicenseModel"/>
> >                             <xsd:element
> ref="inno:TimeRestrictedLicenseModel"/>
> >                         </xsd:choice>
> >                         <!-- Extendable License Information -->
> >                         <xsd:element name="Feature"
> maxOccurs="unbounded" minOccurs="0"
> >                             type="inno:FeatureType"/>
> >                     </xsd:sequence>
> >                     <xsd:attribute name="Id" use="required"
> type="xsd:string"/>
> >                 </xsd:complexType>
> >             </xsd:element>
> >             <!-- The position of the Digital Signature for this License
> -->
> >             <xsd:element ref="dsig:Signature" minOccurs="0"
> maxOccurs="unbounded"/>
> >             <!-- Additional License Information -->
> >             <xsd:element name="MetaInfo" minOccurs="0">
> >                 <xsd:complexType>
> >                     <xsd:sequence>
> >                         <!-- Vendor/Application Information -->
> >                         <xsd:element minOccurs="0" name="Description"
> type="xsd:string"/>
> >                         <xsd:element minOccurs="0" name="Creation"
> type="xsd:date"/>
> >                     </xsd:sequence>
> >                 </xsd:complexType>
> >             </xsd:element>
> >             <!-- Additional Runtime License Information -->
> >             <xsd:element name="RuntimeInfo" minOccurs="0">
> >                 <xsd:complexType>
> >                     <xsd:sequence>
> >                         <!-- Server-related Runtime Information -->
> >                         <xsd:element minOccurs="0" maxOccurs="1"
> name="Locked" type="xsd:boolean"/>
> >                         <xsd:element minOccurs="0" maxOccurs="1"
> name="LockedByUser"
> >                             type="xsd:string"/>
> >                         <xsd:element minOccurs="0" maxOccurs="1"
> name="LockedSince" type="xsd:date"/>
> >                         <xsd:element minOccurs="0" maxOccurs="1"
> name="LockedUntil" type="xsd:date"
> >                         />
> >                     </xsd:sequence>
> >                 </xsd:complexType>
> >             </xsd:element>
> >         </xsd:sequence>
> >     </xsd:complexType>
> >     <!-- Error Codes -->
> >     <xsd:simpleType name="StatusCode">
> >         <xsd:annotation>
> >             <xsd:documentation>Status codes being used in
> logfile</xsd:documentation>
> >         </xsd:annotation>
> >         <xsd:restriction base="xsd:int">
> >             <xsd:enumeration value="200" id="STATUS_OK"/>
> >             <xsd:enumeration value="403" id="STATUS_ERR_NO_AUTH"/>
> >             <xsd:enumeration value="404" id="STATUS_ERR_NOT_FOUND"/>
> >             <xsd:enumeration value="500" id="STATUS_ERR_INTERNAL"/>
> >         </xsd:restriction>
> >     </xsd:simpleType>
> >     <!-- Represents an identity, namely a person, a company or a machine
> -->
> >     <xsd:complexType name="Identity">
> >         <xsd:sequence>
> >             <xsd:element name="Name" type="xsd:string" minOccurs="0"
> maxOccurs="1"/>
> >             <xsd:element name="Address" type="xsd:string" minOccurs="0"
> maxOccurs="1"/>
> >             <xsd:element name="EMail" type="xsd:string" minOccurs="0"
> maxOccurs="1"/>
> >             <xsd:element name="Hostname" type="xsd:string" minOccurs="0"
> maxOccurs="1"/>
> >             <xsd:element name="IPAddress" type="xsd:string"
> minOccurs="0" maxOccurs="1"/>
> >             <xsd:element name="MACAddress" type="xsd:string"
> minOccurs="0" maxOccurs="1"/>
> >         </xsd:sequence>
> >     </xsd:complexType>
> >     <!-- This is a complex type, which represents a map (key and value
> pairs) for
> >     defining features of a license. -->
> >     <xsd:complexType name="FeatureType">
> >         <xsd:attribute name="name" type="xsd:string" use="required"/>
> >         <xsd:attribute name="value" type="xsd:string" use="required"/>
> >         <!-- This can be used to differentiate content types, e.g.
> >         to use some basic scripting language like:
> >             <Feature name="majorVersion" type="script" value="&gt;=3
> &amp;&amp; &lt;= 4"/>
> >          -->
> >         <xsd:attribute name="type" type="xsd:string" default="plain"
> use="optional"/>
> >     </xsd:complexType>
> >     <!--
> >     Admin-Level: Server Management
> >     -->
> >     <xsd:complexType name="ServerStatus">
> >         <xsd:sequence>
> >             <xsd:element name="VersionString" maxOccurs="1"
> minOccurs="0" type="xsd:string"/>
> >             <xsd:element name="NumberLicenses" maxOccurs="1"
> minOccurs="0" type="xsd:int"/>
> >             <xsd:element name="NumberQueries" maxOccurs="1"
> minOccurs="0" type="xsd:long"/>
> >             <xsd:element name="NumberRequests" maxOccurs="1"
> minOccurs="0" type="xsd:long"/>
> >             <xsd:element name="RegistreeString" maxOccurs="1"
> minOccurs="0" type="xsd:string"/>
> >             <xsd:element name="UptimeSince" maxOccurs="1" minOccurs="0"
> type="xsd:duration"/>
> >         </xsd:sequence>
> >     </xsd:complexType>
> >     <!-- Server Stuff -->
> >     <xsd:complexType name="LogEntryType">
> >         <xsd:sequence>
> >             <xsd:element name="TimeStamp" type="xsd:date"/>
> >             <xsd:element name="RemoteUser" type="xsd:string"/>
> >             <xsd:element name="RemoteHost" type="xsd:string"/>
> >             <xsd:element name="StatusCode" type="inno:StatusCode"/>
> >             <xsd:element name="LicenseID" type="xsd:string"/>
> >         </xsd:sequence>
> >     </xsd:complexType>
> >
> > </xsd:schema>
> 
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
>    http://www.atlassian.com/software/jira
> 




[jira] Assigned: (AXIS2-25) WSDL parsing issue.

Posted by "Srinath Perera (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-25?page=all ]

Srinath Perera reassigned AXIS2-25:
-----------------------------------

    Assign To: Chathura Herath  (was: Davanum Srinivas)

> WSDL parsing issue.
> -------------------
>
>          Key: AXIS2-25
>          URL: http://issues.apache.org/jira/browse/AXIS2-25
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug
>   Components: wsdl
>  Environment: NA
>     Reporter: Chathura Herath
>     Assignee: Chathura Herath
>  Attachments: BindingOperationTest.java, BookQuote.wsdl, patch.txt
>
> The issue  arrives when the optional WSDL Binding Operation message references(which are optional)  does not match with the Operations message references. Example.. WSDL
> ......................................................................................
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- 
> This is the main description file for the web service.
> It is used to generate some code, which is used by client and server.
> The data types are based on the XML Schema for license files, namely licenses.xsd. This file
> is imported directly into the types definition of this web server description language file.
> @author mhaller
> -->
> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
>   xmlns:impl="http://www.innovations.de/2005/v1/XMLLicenseSchema#Intf"
>   xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>   xmlns:intf="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl"
>   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>   xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>   targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl">
>   
>   <!-- Declare the custom datatypes used in the license server web service -->
>   <wsdl:types>
>     <xsd:schema targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema">
>       <!-- Import the license datatypes schema file -->
>       <xsd:import schemaLocation="E:\licenses.xsd" namespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"/>
>     </xsd:schema>
>   </wsdl:types>
>   
>   
>   
>   <!-- The declarations of the messages. There are two types of messages:
>   Request-Messages which are sent from the client to the server.
>   And Response-Messages which are sent from the server to the client.
>   The message have "parts" - something like wrappers for parameters.
>   The parts are declared below. -->
>   <!-- The QueryLicense pair
>   IN: A string with a list of features
>   OUT: An object of type Licenses, which is a container for LicenseType objects -->
>   <wsdl:message name="QueryLicensesRequest">
>     <wsdl:part name="Features" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="QueryLicensesResponse">
>     <wsdl:part name="QueryLicensesReturn" type="inno:Licenses"/>
>   </wsdl:message>
>   <!-- Request a single license -->
>   <wsdl:message name="RequestLicenseResponse">
>     <wsdl:part name="RequestLicenseReturn" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="RequestLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <!-- Free or unlock a license which was in use -->
>   <wsdl:message name="FreeLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="FreeLicenseResponse">
>     <wsdl:part name="FreeLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <!-- Admin Messages -->
>   <wsdl:message name="InstallLicenseRequest">
>     <wsdl:part name="License" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="InstallLicenseResponse">
>     <wsdl:part name="InstallLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusRequest">
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusResponse">
>     <wsdl:part name="GetServerStatusReturn" type="inno:ServerStatus"/>
>   </wsdl:message>
>   <wsdl:message name="ReloadRequest">
>   </wsdl:message>
>   <wsdl:message name="ReloadResponse">
>   </wsdl:message>
>   <!-- The portType definition declares all the methods of the webserver
>   and which messages it takes in from the client, and which messages it send out to the client. -->
>   <wsdl:portType name="ILicenseServer">
>     <wsdl:operation name="QueryLicenses" parameterOrder="Features">
>       <wsdl:input message="intf:QueryLicensesRequest" name="QueryLicensesRequest"/>
>       <wsdl:output message="intf:QueryLicensesResponse" name="QueryLicensesResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:RequestLicenseRequest" name="RequestLicenseRequest"/>
>       <wsdl:output message="intf:RequestLicenseResponse" name="RequestLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:FreeLicenseRequest" name="FreeLicenseRequest"/>
>       <wsdl:output message="intf:FreeLicenseResponse" name="FreeLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense" parameterOrder="License">
>       <wsdl:input message="intf:InstallLicenseRequest" name="InstallLicenseRequest"/>
>       <wsdl:output message="intf:InstallLicenseResponse" name="InstallLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdl:input message="intf:GetServerStatusRequest" name="GetServerStatusRequest"/>
>       <wsdl:output message="intf:GetServerStatusResponse" name="GetServerStatusResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdl:input message="intf:ReloadRequest" name="ReloadRequest"/>
>       <wsdl:output message="intf:ReloadResponse" name="ReloadResponse"/>
>     </wsdl:operation>
>   </wsdl:portType>
>   <!-- The binding part of the WSDL file describes the transport implementation.
>   Here, it's defined that the webservice can be accessed via HTTP protocol (or, to be more
>   specific: via SOAP HTTP) 
>   The "document" style is used for interop, the "literal" use is the way how
>   the parameters get wrapped (or not wrapped, in this case)
>   Valid values for style are: "document" and "rpc", although there should also
>   be "wrapped", which is a subtype of document. -->
>   <wsdl:binding name="LicenseServerSoapBinding" type="intf:ILicenseServer">
>     <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="QueryLicenses">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="QueryLicensesRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="QueryLicensesResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="RequestLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="RequestLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="FreeLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="FreeLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="InstallLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="InstallLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:output name="GetServerStatusResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdlsoap:operation soapAction=""/>
>     </wsdl:operation>
>   </wsdl:binding>
>   <!-- The service definition just tells us the name of the service,
>   and where (address) we can find it. As this is no public web service,
>   we are not defining a full qualified domain name here, but a short hostname.
>   Later, in the client, the endpoint hostname will be made changeable. -->
>   <wsdl:service name="ILicenseServerService">
>     <wsdl:port binding="intf:LicenseServerSoapBinding" name="LicenseServer">
>       <wsdlsoap:address location="http://licenseserver:8080/licenseserver/services/LicenseServer"/>
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> ..............................................................................................................
> XSD
> <?xml version="1.0"?>
> <!--
> This schema defines all the custom datatypes for use in the license server communication.
> It represents the model for licenses, license containers, and the values a license can have.
> It is used by the WSDL file to generate code.
> It is used by the Castor codegenerator to generate model code.
> It is used by the license files to validate themselves.
> -->
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>      elementFormDefault="qualified">
>     <!--
>     Documentation
>     -->
>     <xsd:annotation>
>         <xsd:documentation xml:lang="en">A XML Schema for License Key Information as replacement for
>             legacy file-based software license keys. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>         <xsd:documentation xml:lang="de">Ein XML Schema für Lizenzschlüssel, als Ersatz für das
>             bestehende dateibasierte Lizenzformat. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>     </xsd:annotation>
>     <!-- Importing the XML Security Schema -->
>  
>     
>     <!-- 
>     This is the root element of all license files.
>      <Licenses>
>           <License>
>           </License>
>           <License>
>           </License>
>           <LogEntry>
>           </LogEntry>
>      </Licenses>
>     -->
>     <!-- The container type for license keys -->
>     <xsd:element name="Licenses" type="inno:LicenseContainer"/>
>     <xsd:complexType name="LicenseContainer">
>         <xsd:sequence>
>             <xsd:element name="License" minOccurs="0" maxOccurs="unbounded" type="inno:LicenseType"/>
>             <xsd:element name="LogEntry" minOccurs="0" maxOccurs="unbounded" type="inno:LogEntryType"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- A named license key binds a license to a specific person -->
>     <xsd:element name="NamedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Person" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Node Locked License model locks a license to a specific machine -->
>     <xsd:element name="NodeLockedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Node" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Floating License can be used concurrently by an amount of users -->
>     <xsd:element name="FloatingLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="ConcurrentDevices" type="xsd:int" minOccurs="1" maxOccurs="1"
>                     nillable="false"/>
>                 <xsd:element name="AllowMultipleInstances" type="xsd:boolean" minOccurs="0"
>                     maxOccurs="1" nillable="false"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Site license is only restricted to be used by employees by a single company -->
>     <xsd:element name="SiteLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Company" minOccurs="1" maxOccurs="1" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- Time restricted license model -->
>     <xsd:element name="TimeRestrictedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element minOccurs="0" name="ValidAfter" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ValidBefore" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ReleaseDateBefore" type="xsd:date"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- The main License type includes signed information about the license key itself,
>     meta information and optionally runtime-information -->
>     <xsd:complexType name="LicenseType">
>         <xsd:sequence>
>             <!-- Very Important License Information -->
>             <xsd:element name="SignedLicenseInfo" minOccurs="1">
>                 <xsd:complexType>
>                     <!-- This Id is used by XML Security to reference the signed element -->
>                     <xsd:sequence>
>                         <xsd:element name="Vendor" type="xsd:string"/>
>                         <xsd:element name="Application" type="xsd:string"/>
>                         <xsd:choice>
>                             <xsd:element ref="inno:NamedLicenseModel"/>
>                             <xsd:element ref="inno:NodeLockedLicenseModel"/>
>                             <xsd:element ref="inno:FloatingLicenseModel"/>
>                             <xsd:element ref="inno:SiteLicenseModel"/>
>                             <xsd:element ref="inno:TimeRestrictedLicenseModel"/>
>                         </xsd:choice>
>                         <!-- Extendable License Information -->
>                         <xsd:element name="Feature" maxOccurs="unbounded" minOccurs="0"
>                             type="inno:FeatureType"/>
>                     </xsd:sequence>
>                     <xsd:attribute name="Id" use="required" type="xsd:string"/>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- The position of the Digital Signature for this License -->
>             <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
>             <!-- Additional License Information -->
>             <xsd:element name="MetaInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Vendor/Application Information -->
>                         <xsd:element minOccurs="0" name="Description" type="xsd:string"/>
>                         <xsd:element minOccurs="0" name="Creation" type="xsd:date"/>
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- Additional Runtime License Information -->
>             <xsd:element name="RuntimeInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Server-related Runtime Information -->
>                         <xsd:element minOccurs="0" maxOccurs="1" name="Locked" type="xsd:boolean"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedByUser"
>                             type="xsd:string"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedSince" type="xsd:date"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedUntil" type="xsd:date"
>                         />
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Error Codes -->
>     <xsd:simpleType name="StatusCode">
>         <xsd:annotation>
>             <xsd:documentation>Status codes being used in logfile</xsd:documentation>
>         </xsd:annotation>
>         <xsd:restriction base="xsd:int">
>             <xsd:enumeration value="200" id="STATUS_OK"/>
>             <xsd:enumeration value="403" id="STATUS_ERR_NO_AUTH"/>
>             <xsd:enumeration value="404" id="STATUS_ERR_NOT_FOUND"/>
>             <xsd:enumeration value="500" id="STATUS_ERR_INTERNAL"/>
>         </xsd:restriction>
>     </xsd:simpleType>
>     <!-- Represents an identity, namely a person, a company or a machine -->
>     <xsd:complexType name="Identity">
>         <xsd:sequence>
>             <xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Address" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="EMail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Hostname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="IPAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="MACAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- This is a complex type, which represents a map (key and value pairs) for
>     defining features of a license. -->
>     <xsd:complexType name="FeatureType">
>         <xsd:attribute name="name" type="xsd:string" use="required"/>
>         <xsd:attribute name="value" type="xsd:string" use="required"/>
>         <!-- This can be used to differentiate content types, e.g.
>         to use some basic scripting language like:
>             <Feature name="majorVersion" type="script" value="&gt;=3 &amp;&amp; &lt;= 4"/>
>          -->
>         <xsd:attribute name="type" type="xsd:string" default="plain" use="optional"/>
>     </xsd:complexType>
>     <!--
>     Admin-Level: Server Management
>     -->
>     <xsd:complexType name="ServerStatus">
>         <xsd:sequence>
>             <xsd:element name="VersionString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="NumberLicenses" maxOccurs="1" minOccurs="0" type="xsd:int"/>
>             <xsd:element name="NumberQueries" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="NumberRequests" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="RegistreeString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="UptimeSince" maxOccurs="1" minOccurs="0" type="xsd:duration"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Server Stuff -->
>     <xsd:complexType name="LogEntryType">
>         <xsd:sequence>
>             <xsd:element name="TimeStamp" type="xsd:date"/>
>             <xsd:element name="RemoteUser" type="xsd:string"/>
>             <xsd:element name="RemoteHost" type="xsd:string"/>
>             <xsd:element name="StatusCode" type="inno:StatusCode"/>
>             <xsd:element name="LicenseID" type="xsd:string"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     
> </xsd:schema>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS2-25) WSDL parsing issue.

Posted by "Chathura Herath (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-25?page=comments#action_12313147 ] 

Chathura Herath commented on AXIS2-25:
--------------------------------------

THe Stack trace submitted by Mike.


'D:\workspaces\lizenzserver\de.innovations.licenseserver.common\src\licenses.xsd'.
> Retrieving schema at 'xmldsig-core-schema.xsd', relative to 
> 'file:/D:/workspaces/lizenzserver/de.innovations.licenseserver.common/src/licenses.xsd'.
> java.lang.RuntimeException: java.lang.NullPointerException
>         at
> org.apache.axis.tool.codegen.eclipse.CodeGenWizard.doFinish(CodeGenWizard.java:104)
>         at
> org.apache.axis.tool.codegen.eclipse.CodeGenWizard.performFinish(CodeGenWizard.java:78)
>         at
> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:609)
>         at
> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:305)
>         at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:506)
>         at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
>         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
>         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
>         at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772)
>         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
>         at org.eclipse.jface.window.Window.runEventLoop(Window.java:668)
>         at org.eclipse.jface.window.Window.open(Window.java:648)
>         at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.java:163)
>         at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
>         at
> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:915)
>         at
> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:866)
>         at
> org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContributionItem.java:785)
>         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
>         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
>         at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772)
>         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
>         at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
>         at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
>         at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
>         at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
>         at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
>         at
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
>         at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
>         at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
>         at org.eclipse.core.launcher.Main.run(Main.java:704)
>         at org.eclipse.core.launcher.Main.main(Main.java:688)
> Caused by: java.lang.NullPointerException
>         at
> org.apache.axis.wsdl.builder.wsdl4j.WSDLPump.populateBindingOperation(WSDLPump.java:439)
>         at
> org.apache.axis.wsdl.builder.wsdl4j.WSDLPump.populateBindings(WSDLPump.java:251)
>         at
> org.apache.axis.wsdl.builder.wsdl4j.WSDLPump.populateDefinition(WSDLPump.java:169)
>         at org.apache.axis.wsdl.builder.wsdl4j.WSDLPump.pump(WSDLPump.java:97)
>         at
> org.apache.axis.wsdl.builder.wsdl4j.WSDL1ToWOMBuilder.build(WSDL1ToWOMBuilder.java:44)
>         at
> org.apache.axis.tool.codegen.eclipse.CodeGenWizard.getWOM(CodeGenWizard.java:201)
>         at
> org.apache.axis.tool.codegen.eclipse.CodeGenWizard.doFinish(CodeGenWizard.java:98)
>         ... 35 more


> WSDL parsing issue.
> -------------------
>
>          Key: AXIS2-25
>          URL: http://issues.apache.org/jira/browse/AXIS2-25
>      Project: Axis2
>         Type: Bug
>   Components: wsdl
>  Environment: NA
>     Reporter: Chathura Herath
>     Assignee: Davanum Srinivas

>
> The issue  arrives when the optional WSDL Binding Operation message references(which are optional)  does not match with the Operations message references. Example.. WSDL
> ......................................................................................
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- 
> This is the main description file for the web service.
> It is used to generate some code, which is used by client and server.
> The data types are based on the XML Schema for license files, namely licenses.xsd. This file
> is imported directly into the types definition of this web server description language file.
> @author mhaller
> -->
> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
>   xmlns:impl="http://www.innovations.de/2005/v1/XMLLicenseSchema#Intf"
>   xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>   xmlns:intf="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl"
>   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>   xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>   targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema#Impl">
>   
>   <!-- Declare the custom datatypes used in the license server web service -->
>   <wsdl:types>
>     <xsd:schema targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema">
>       <!-- Import the license datatypes schema file -->
>       <xsd:import schemaLocation="E:\licenses.xsd" namespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"/>
>     </xsd:schema>
>   </wsdl:types>
>   
>   
>   
>   <!-- The declarations of the messages. There are two types of messages:
>   Request-Messages which are sent from the client to the server.
>   And Response-Messages which are sent from the server to the client.
>   The message have "parts" - something like wrappers for parameters.
>   The parts are declared below. -->
>   <!-- The QueryLicense pair
>   IN: A string with a list of features
>   OUT: An object of type Licenses, which is a container for LicenseType objects -->
>   <wsdl:message name="QueryLicensesRequest">
>     <wsdl:part name="Features" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="QueryLicensesResponse">
>     <wsdl:part name="QueryLicensesReturn" type="inno:Licenses"/>
>   </wsdl:message>
>   <!-- Request a single license -->
>   <wsdl:message name="RequestLicenseResponse">
>     <wsdl:part name="RequestLicenseReturn" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="RequestLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <!-- Free or unlock a license which was in use -->
>   <wsdl:message name="FreeLicenseRequest">
>     <wsdl:part name="UniqueIdentifier" type="xsd:string"/>
>   </wsdl:message>
>   <wsdl:message name="FreeLicenseResponse">
>     <wsdl:part name="FreeLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <!-- Admin Messages -->
>   <wsdl:message name="InstallLicenseRequest">
>     <wsdl:part name="License" type="inno:License"/>
>   </wsdl:message>
>   <wsdl:message name="InstallLicenseResponse">
>     <wsdl:part name="InstallLicenseReturn" type="xsd:boolean"/>
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusRequest">
>   </wsdl:message>
>   <wsdl:message name="GetServerStatusResponse">
>     <wsdl:part name="GetServerStatusReturn" type="inno:ServerStatus"/>
>   </wsdl:message>
>   <wsdl:message name="ReloadRequest">
>   </wsdl:message>
>   <wsdl:message name="ReloadResponse">
>   </wsdl:message>
>   <!-- The portType definition declares all the methods of the webserver
>   and which messages it takes in from the client, and which messages it send out to the client. -->
>   <wsdl:portType name="ILicenseServer">
>     <wsdl:operation name="QueryLicenses" parameterOrder="Features">
>       <wsdl:input message="intf:QueryLicensesRequest" name="QueryLicensesRequest"/>
>       <wsdl:output message="intf:QueryLicensesResponse" name="QueryLicensesResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:RequestLicenseRequest" name="RequestLicenseRequest"/>
>       <wsdl:output message="intf:RequestLicenseResponse" name="RequestLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense" parameterOrder="UniqueIdentifier">
>       <wsdl:input message="intf:FreeLicenseRequest" name="FreeLicenseRequest"/>
>       <wsdl:output message="intf:FreeLicenseResponse" name="FreeLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense" parameterOrder="License">
>       <wsdl:input message="intf:InstallLicenseRequest" name="InstallLicenseRequest"/>
>       <wsdl:output message="intf:InstallLicenseResponse" name="InstallLicenseResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdl:input message="intf:GetServerStatusRequest" name="GetServerStatusRequest"/>
>       <wsdl:output message="intf:GetServerStatusResponse" name="GetServerStatusResponse"/>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdl:input message="intf:ReloadRequest" name="ReloadRequest"/>
>       <wsdl:output message="intf:ReloadResponse" name="ReloadResponse"/>
>     </wsdl:operation>
>   </wsdl:portType>
>   <!-- The binding part of the WSDL file describes the transport implementation.
>   Here, it's defined that the webservice can be accessed via HTTP protocol (or, to be more
>   specific: via SOAP HTTP) 
>   The "document" style is used for interop, the "literal" use is the way how
>   the parameters get wrapped (or not wrapped, in this case)
>   Valid values for style are: "document" and "rpc", although there should also
>   be "wrapped", which is a subtype of document. -->
>   <wsdl:binding name="LicenseServerSoapBinding" type="intf:ILicenseServer">
>     <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="QueryLicenses">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="QueryLicensesRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="QueryLicensesResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="RequestLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="RequestLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="RequestLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="FreeLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="FreeLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="FreeLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="InstallLicense">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:input name="InstallLicenseRequest">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="InstallLicenseResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="GetServerStatus">
>       <wsdlsoap:operation soapAction=""/>
>       <wsdl:output name="GetServerStatusResponse">
>         <wsdlsoap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>     <wsdl:operation name="Reload">
>       <wsdlsoap:operation soapAction=""/>
>     </wsdl:operation>
>   </wsdl:binding>
>   <!-- The service definition just tells us the name of the service,
>   and where (address) we can find it. As this is no public web service,
>   we are not defining a full qualified domain name here, but a short hostname.
>   Later, in the client, the endpoint hostname will be made changeable. -->
>   <wsdl:service name="ILicenseServerService">
>     <wsdl:port binding="intf:LicenseServerSoapBinding" name="LicenseServer">
>       <wsdlsoap:address location="http://licenseserver:8080/licenseserver/services/LicenseServer"/>
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> ..............................................................................................................
> XSD
> <?xml version="1.0"?>
> <!--
> This schema defines all the custom datatypes for use in the license server communication.
> It represents the model for licenses, license containers, and the values a license can have.
> It is used by the WSDL file to generate code.
> It is used by the Castor codegenerator to generate model code.
> It is used by the license files to validate themselves.
> -->
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     targetNamespace="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:inno="http://www.innovations.de/2005/v1/XMLLicenseSchema"
>     xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>      elementFormDefault="qualified">
>     <!--
>     Documentation
>     -->
>     <xsd:annotation>
>         <xsd:documentation xml:lang="en">A XML Schema for License Key Information as replacement for
>             legacy file-based software license keys. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>         <xsd:documentation xml:lang="de">Ein XML Schema für Lizenzschlüssel, als Ersatz für das
>             bestehende dateibasierte Lizenzformat. Copyright (c) 2005 Innovations
>             Softwaretechnologie GmbH. </xsd:documentation>
>     </xsd:annotation>
>     <!-- Importing the XML Security Schema -->
>  
>     
>     <!-- 
>     This is the root element of all license files.
>      <Licenses>
>           <License>
>           </License>
>           <License>
>           </License>
>           <LogEntry>
>           </LogEntry>
>      </Licenses>
>     -->
>     <!-- The container type for license keys -->
>     <xsd:element name="Licenses" type="inno:LicenseContainer"/>
>     <xsd:complexType name="LicenseContainer">
>         <xsd:sequence>
>             <xsd:element name="License" minOccurs="0" maxOccurs="unbounded" type="inno:LicenseType"/>
>             <xsd:element name="LogEntry" minOccurs="0" maxOccurs="unbounded" type="inno:LogEntryType"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- A named license key binds a license to a specific person -->
>     <xsd:element name="NamedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Person" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Node Locked License model locks a license to a specific machine -->
>     <xsd:element name="NodeLockedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Node" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Floating License can be used concurrently by an amount of users -->
>     <xsd:element name="FloatingLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="ConcurrentDevices" type="xsd:int" minOccurs="1" maxOccurs="1"
>                     nillable="false"/>
>                 <xsd:element name="AllowMultipleInstances" type="xsd:boolean" minOccurs="0"
>                     maxOccurs="1" nillable="false"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- A Site license is only restricted to be used by employees by a single company -->
>     <xsd:element name="SiteLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element name="Company" minOccurs="1" maxOccurs="1" type="inno:Identity"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- Time restricted license model -->
>     <xsd:element name="TimeRestrictedLicenseModel">
>         <xsd:complexType>
>             <xsd:sequence>
>                 <xsd:element minOccurs="0" name="ValidAfter" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ValidBefore" type="xsd:date"/>
>                 <xsd:element minOccurs="0" name="ReleaseDateBefore" type="xsd:date"/>
>             </xsd:sequence>
>         </xsd:complexType>
>     </xsd:element>
>     <!-- The main License type includes signed information about the license key itself,
>     meta information and optionally runtime-information -->
>     <xsd:complexType name="LicenseType">
>         <xsd:sequence>
>             <!-- Very Important License Information -->
>             <xsd:element name="SignedLicenseInfo" minOccurs="1">
>                 <xsd:complexType>
>                     <!-- This Id is used by XML Security to reference the signed element -->
>                     <xsd:sequence>
>                         <xsd:element name="Vendor" type="xsd:string"/>
>                         <xsd:element name="Application" type="xsd:string"/>
>                         <xsd:choice>
>                             <xsd:element ref="inno:NamedLicenseModel"/>
>                             <xsd:element ref="inno:NodeLockedLicenseModel"/>
>                             <xsd:element ref="inno:FloatingLicenseModel"/>
>                             <xsd:element ref="inno:SiteLicenseModel"/>
>                             <xsd:element ref="inno:TimeRestrictedLicenseModel"/>
>                         </xsd:choice>
>                         <!-- Extendable License Information -->
>                         <xsd:element name="Feature" maxOccurs="unbounded" minOccurs="0"
>                             type="inno:FeatureType"/>
>                     </xsd:sequence>
>                     <xsd:attribute name="Id" use="required" type="xsd:string"/>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- The position of the Digital Signature for this License -->
>             <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
>             <!-- Additional License Information -->
>             <xsd:element name="MetaInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Vendor/Application Information -->
>                         <xsd:element minOccurs="0" name="Description" type="xsd:string"/>
>                         <xsd:element minOccurs="0" name="Creation" type="xsd:date"/>
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>             <!-- Additional Runtime License Information -->
>             <xsd:element name="RuntimeInfo" minOccurs="0">
>                 <xsd:complexType>
>                     <xsd:sequence>
>                         <!-- Server-related Runtime Information -->
>                         <xsd:element minOccurs="0" maxOccurs="1" name="Locked" type="xsd:boolean"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedByUser"
>                             type="xsd:string"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedSince" type="xsd:date"/>
>                         <xsd:element minOccurs="0" maxOccurs="1" name="LockedUntil" type="xsd:date"
>                         />
>                     </xsd:sequence>
>                 </xsd:complexType>
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Error Codes -->
>     <xsd:simpleType name="StatusCode">
>         <xsd:annotation>
>             <xsd:documentation>Status codes being used in logfile</xsd:documentation>
>         </xsd:annotation>
>         <xsd:restriction base="xsd:int">
>             <xsd:enumeration value="200" id="STATUS_OK"/>
>             <xsd:enumeration value="403" id="STATUS_ERR_NO_AUTH"/>
>             <xsd:enumeration value="404" id="STATUS_ERR_NOT_FOUND"/>
>             <xsd:enumeration value="500" id="STATUS_ERR_INTERNAL"/>
>         </xsd:restriction>
>     </xsd:simpleType>
>     <!-- Represents an identity, namely a person, a company or a machine -->
>     <xsd:complexType name="Identity">
>         <xsd:sequence>
>             <xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Address" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="EMail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="Hostname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="IPAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>             <xsd:element name="MACAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- This is a complex type, which represents a map (key and value pairs) for
>     defining features of a license. -->
>     <xsd:complexType name="FeatureType">
>         <xsd:attribute name="name" type="xsd:string" use="required"/>
>         <xsd:attribute name="value" type="xsd:string" use="required"/>
>         <!-- This can be used to differentiate content types, e.g.
>         to use some basic scripting language like:
>             <Feature name="majorVersion" type="script" value="&gt;=3 &amp;&amp; &lt;= 4"/>
>          -->
>         <xsd:attribute name="type" type="xsd:string" default="plain" use="optional"/>
>     </xsd:complexType>
>     <!--
>     Admin-Level: Server Management
>     -->
>     <xsd:complexType name="ServerStatus">
>         <xsd:sequence>
>             <xsd:element name="VersionString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="NumberLicenses" maxOccurs="1" minOccurs="0" type="xsd:int"/>
>             <xsd:element name="NumberQueries" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="NumberRequests" maxOccurs="1" minOccurs="0" type="xsd:long"/>
>             <xsd:element name="RegistreeString" maxOccurs="1" minOccurs="0" type="xsd:string"/>
>             <xsd:element name="UptimeSince" maxOccurs="1" minOccurs="0" type="xsd:duration"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     <!-- Server Stuff -->
>     <xsd:complexType name="LogEntryType">
>         <xsd:sequence>
>             <xsd:element name="TimeStamp" type="xsd:date"/>
>             <xsd:element name="RemoteUser" type="xsd:string"/>
>             <xsd:element name="RemoteHost" type="xsd:string"/>
>             <xsd:element name="StatusCode" type="inno:StatusCode"/>
>             <xsd:element name="LicenseID" type="xsd:string"/>
>         </xsd:sequence>
>     </xsd:complexType>
>     
> </xsd:schema>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira