[ 
https://issues.apache.org/jira/browse/AXIS2-5196?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sagara Gunathunga  resolved AXIS2-5196.
---------------------------------------

    Resolution: Won't Fix

ADB does provide in-build support for xpath datatypes, it's required to 
properly import relevant Schema.   
                
> Axis2 code generation using ADB fails when an element is assigned a type 
> defined in another schema
> --------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-5196
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5196
>             Project: Axis2
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 1.6.0
>         Environment: Eclipse 3.6, axis 1.6.0/1.6.1, codegen plugin 1.6.0/1.6.1
>            Reporter: Vitonofrio del Rosso
>              Labels: codegen, namespaces, schema
>
> I received a wsdl produced through some tool for oracle odsi, tried to 
> generate the client via codegeneration plugin for eclipse and the generation 
> failed, giving me this stacktrace
> Exception occurred during code generation for WSDL  : 
> org.apache.axis2.wsdl.codegen.CodeGenerationException: 
> java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
>     java.lang.reflect.InvocationTargetException
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>     at java.lang.reflect.Method.invoke(Unknown Source)
>     at 
> org.eclipse.jst.ws.axis2.consumption.core.command.Axis2ClientCodegenCommand.execute(Axis2ClientCodegenCommand.java:222)
>     at 
> org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.runCommand(CommandFragmentEngine.java:419)
>     at 
> org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.visitTop(CommandFragmentEngine.java:359)
>     at 
> org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.moveForwardToNextStop(CommandFragmentEngine.java:254)
>     at 
> org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager$6.run(SimpleCommandEngineManager.java:294)
>     at 
> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
>     at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
>     at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
>     at 
> org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager.runForwardToNextStop(SimpleCommandEngineManager.java:264)
>     at 
> org.eclipse.wst.command.internal.env.ui.widgets.WizardPageManager.runForwardToNextStop(WizardPageManager.java:91)
>     at 
> org.eclipse.wst.command.internal.env.ui.widgets.WizardPageManager.performFinish(WizardPageManager.java:262)
>     at 
> org.eclipse.wst.command.internal.env.ui.widgets.DynamicWizard.performFinish(DynamicWizard.java:382)
>     at 
> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
>     at 
> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
>     at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
>     at 
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
>     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
>     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
>     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
>     at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
>     at org.eclipse.jface.window.Window.open(Window.java:801)
>     at 
> org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard.run(DynamicPopupWizard.java:130)
>     at 
> org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
>     at 
> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
>     at 
> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
>     at 
> org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
>     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
>     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
>     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
>     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
>     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
>     at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
>     at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
>     at 
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>     at 
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
>     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
>     at 
> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
>     at 
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>     at 
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>     at 
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>     at 
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
>     at 
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>     at java.lang.reflect.Method.invoke(Unknown Source)
>     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
>     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
>     at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
>     Caused by: org.apache.axis2.wsdl.codegen.CodeGenerationException: 
> java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
>     at 
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:293)
>     ... 55 more
>     Caused by: java.lang.RuntimeException: 
> java.lang.reflect.InvocationTargetException
>     at 
> org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
>     at 
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:246)
>     ... 55 more
>     Caused by: java.lang.reflect.InvocationTargetException
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>     at java.lang.reflect.Method.invoke(Unknown Source)
>     at 
> org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
>     ... 56 more
>     Caused by: org.apache.axis2.schema.SchemaCompilationException: The 
> referenced element 
> '{http://www.w3.org/2004/07/xpath-datatypes}Operation8Response' was not found!
>     at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:752)
>     at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:603)
>     at 
> org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:2063)
>     at 
> org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1946)
>     at 
> org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:1155)
>     at 
> org.apache.axis2.schema.SchemaCompiler.processAnonymousComplexSchemaType(SchemaCompiler.java:1054)
>     at 
> org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:1008)
>     at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:644)
>     at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:614)
>     at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:422)
>     at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:291)
>     at 
> org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:102)
>     ... 61 more
> the wsdl is ws-i compliant (checked both with ws-i tools and with soapui), 
> and if i use xmlbeans as data binding i can produce valid code for a client 
> (tested it already and it's working).
> This is the most suspect part "Caused by: 
> org.apache.axis2.schema.SchemaCompilationException: The referenced element 
> '{http://www.w3.org/2004/07/xpath-datatypes}Operation8Response' was not 
> found!"
> So I assume it's most likely an issue restricted to the ADB.
> If you want to check the thing yourself, this is the incriminated wsdl
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions targetNamespace="ld:PSUserHasUsim_ws" name="PSUserHasUsim" 
> xmlns="http://schemas.xmlsoap.org/wsdl/"; xmlns:tns="ld:PSUserHasUsim_ws" 
> xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
>   <documentation>Oracle Data Service Integrator Web Service</documentation>
>   <types>
>     <xs:schema targetNamespace="ld:PSUserHasUsim_ws" 
> elementFormDefault="qualified" xmlns:stns="ld:PSUserHasUsim_ws" 
> xmlns:dsns0="http://www.w3.org/2004/07/xpath-datatypes";>
>       <xs:import namespace="http://www.w3.org/2004/07/xpath-datatypes"/>
>       <xs:element name="Operation8">
>         <xs:complexType>
>           <xs:sequence>
>             <xs:element name="MASTERPARTYID" type="xs:string"/>
>             <xs:element name="PIVA" type="xs:string"/>
>             <xs:element name="FISCAL_CODE" type="xs:string"/>
>             <xs:element name="MSISDN" type="xs:string"/>
>             <xs:element name="PORTFOLIOID" type="xs:string"/>
>           </xs:sequence>
>         </xs:complexType>
>       </xs:element>
>       <xs:element name="Operation8Response">
>         <xs:complexType>
>           <xs:sequence>
>             <xs:element ref="dsns0:Operation8Response"/>
>           </xs:sequence>
>         </xs:complexType>
>       </xs:element>
>     </xs:schema>
>     <xsd:schema targetNamespace="http://www.w3.org/2004/07/xpath-datatypes"; 
> elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns="http://www.w3.org/2004/07/xpath-datatypes";>
>       <xsd:element name="Operation8Response">
>         <xsd:complexType>
>           <xsd:sequence>
>             <xsd:element name="ESISTE_FLAG" type="xsd:string" maxOccurs="1" 
> minOccurs="1"></xsd:element>
>             <xsd:element name="STATUS_CODE" type="xsd:string" maxOccurs="1" 
> minOccurs="1"></xsd:element>
>             <xsd:element name="ERROR_CODE" type="xsd:string" maxOccurs="1" 
> minOccurs="1"></xsd:element>
>             <xsd:element name="ERROR_DESCRIPTION" type="xsd:string" 
> maxOccurs="1" minOccurs="1"/>
>           </xsd:sequence>
>         </xsd:complexType>
>       </xsd:element>
>     </xsd:schema>
>   </types>
>   <message name="Operation8In">
>     <part name="parameters" element="tns:Operation8"/>
>   </message>
>   <message name="Operation8Out">
>     <part name="parameters" element="tns:Operation8Response"/>
>   </message>
>   <portType name="PSUserHasUsimPT">
>     <operation name="Operation8">
>       <input message="tns:Operation8In"/>
>       <output message="tns:Operation8Out"/>
>     </operation>
>   </portType>
>   <binding name="PSUserHasUsimSoapBinding" type="tns:PSUserHasUsimPT">
>     <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
> style="document"/>
>     <operation name="Operation8">
>       <soap:operation soapAction="ld:PSUserHasUsim_ws/Operation8" 
> style="document"/>
>       <input>
>         <soap:body use="literal"/>
>       </input>
>       <output>
>         <soap:body use="literal"/>
>       </output>
>     </operation>
>   </binding>
>   <service name="PSUserHasUsimSoapService">
>     <port binding="tns:PSUserHasUsimSoapBinding" name="PSUserHasUsimSoapPort">
>       <soap:address 
> location="http://10.212.139.24:7001/PSUserHasUsim/ALDSPWebService/PSUserHasUsim.ws"/>
>     </port>
>   </service>
> </definitions>
> the issue seems incredibly similar to this
> http://old.nabble.com/-jira--Created:-%28AXIS2-1512%29-ADB-code-generation-fails-when-%3Celement%3E-is-a-reference-to-included-schema-td7009228.html
> another user seems to have had a similar problem
> http://osdir.com/ml/axis-dev-ws.apache.org/2011-06/msg00003.html
> but claims to have "solved" it partially reverting to older axis2 versions..
> is this some sort of regression bug?
> Thanks in advance,
> Vito

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to