wsd2java no-namespace import error
----------------------------------
Key: AXIS2-3029
URL: https://issues.apache.org/jira/browse/AXIS2-3029
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Components: codegen
Affects Versions: 1.2
Environment: WinXP, jdk1.5
Reporter: Alex Rodriguez
Attachments: test.wsdl
I have a wsdl that imports a schema with no namespace; I've included a sample
at the bottom of this email. Trying to generate a client stub fails with both
xmlbeans and adb, the error is:
Exception in thread "main"
org.apache.axis2.wsdl.codegen.CodeGenerationException:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:256)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
Caused by: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
at
org.apache.axis2.wsdl.codegen.extension.XMLBeansExtension.engage(XMLBeansExtension.java:103)
at
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:209)
... 2 more
Caused by: java.lang.reflect.InvocationTargetException
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:585)
at
org.apache.axis2.wsdl.codegen.extension.XMLBeansExtension.engage(XMLBeansExtension.java:92)
... 3 more
Caused by: java.lang.RuntimeException: org.apache.xmlbeans.XmlException: error:
src-resolve.a: Could not find element '[EMAIL PROTECTED]://some.namespace'. Do
you mean to refer to the element named AccountBOS?
at
org.apache.axis2.xmlbeans.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:310)
... 8 more
Caused by: org.apache.xmlbeans.XmlException: error: src-resolve.a: Could not
find element '[EMAIL PROTECTED]://some.namespace'. Do you mean to refer to the
element named AccountBOS?
at
org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225)
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:585)
at org.apache.xmlbeans.XmlBeans.compileXmlBeans(XmlBeans.java:667)
at
org.apache.axis2.xmlbeans.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:174)
I've independently run xmlbeans generation on this and it succeeds, correctly
generating AccountBOS in noNamespace. The problem with wsdl2java is that the
reference to AccountBOS is being assigned a namespace when it shouldn't be,
this is an import, not an include.
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns=""
xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/"
xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://some.namespace"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://some.namespace">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="AccountBOS">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:long" name="Account_ID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<s:schema elementFormDefault="qualified"
targetNamespace="http://some.namespace"
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:acc="http://some.namespace">
<s:import/>
<s:element name="getAccount">
<s:complexType>
<s:sequence>
<s:element ref="AccountBOS"/>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="getAccountSoapIn">
<wsdl:part name="parameters" element="s0:getAccount"/>
</wsdl:message>
<wsdl:message name="getAccountSoapOut">
<wsdl:part name="parameters" element="s0:getAccount"/>
</wsdl:message>
<wsdl:portType name="AccountServiceSoap">
<wsdl:operation name="getAccount">
<wsdl:input message="s0:getAccountSoapIn"/>
<wsdl:output message="s0:getAccountSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AccountServiceSoap" type="s0:AccountServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="getAccount">
<soap:operation soapAction="http://some.namespace/getAccount"
style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AccountService">
<wsdl:port name="AccountServiceSoap" binding="s0:AccountServiceSoap">
<soap:address location="http://localhost:7001/AccountService.jws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]