[ 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=">=3 > && <= 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
