Hi there,

I am trying to use jaxme as databinding with axis2. When I call the tool 
wsdl2java I get the following exception:

Exception in thread "main" 
org.apache.axis2.wsdl.codegen.CodeGenerationException: 
java.lang.RuntimeException: java.lang.IllegalStateException: The class 
com.example.somwhere.xsd.Message has already been created.
        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.IllegalStateException: The 
class com.example.somwhere.xsd.Message has already been created.
        at 
org.apache.axis2.wsdl.codegen.extension.JaxMeExtension.engage(JaxMeExtension.java:158)
        at 
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:209)
        ... 2 more
Caused by: java.lang.IllegalStateException: The class 
com.example.somwhere.xsd.Message has already been created.
        at 
org.apache.ws.jaxme.js.JavaSourceFactory.newJavaSource(JavaSourceFactory.java:129)
        at 
org.apache.ws.jaxme.generator.sg.impl.JAXBObjectSG.getXMLInterface(JAXBObjectSG.java:197)
        at 
org.apache.ws.jaxme.generator.sg.impl.ObjectSGImpl.getXMLInterface(ObjectSGImpl.java:40)
        at 
org.apache.ws.jaxme.generator.sg.impl.JAXBObjectSG.generate(JAXBObjectSG.java:278)
        at 
org.apache.ws.jaxme.generator.sg.impl.ObjectSGImpl.generate(ObjectSGImpl.java:56)
        at 
org.apache.ws.jaxme.generator.sg.impl.JAXBSchemaSG.generate(JAXBSchemaSG.java:228)
        at 
org.apache.ws.jaxme.generator.sg.impl.SchemaSGImpl.generate(SchemaSGImpl.java:67)
        at 
org.apache.ws.jaxme.generator.impl.GeneratorImpl.generate(GeneratorImpl.java:148)
        at 
org.apache.axis2.wsdl.codegen.extension.JaxMeExtension.engage(JaxMeExtension.java:126)

I found out, that a similar bug has been detected about a year ago. 

see http://issues.apache.org/jira/browse/AXIS2-534

My wsdl file looks as follows:

<wsdl:definitions
        xmlns:axis2="http://example.com/somwhere";
        xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
        xmlns:ns="http://example.com/somwhere/xsd";
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
        targetNamespace="http://example.com/somwhere";>
        <wsdl:types>
                <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
                        attributeFormDefault="qualified" 
elementFormDefault="qualified"
                        targetNamespace="http://example.com/somwhere/xsd";>
                        <xs:element name="store">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="param0" 
nillable="true"
                                                        type="ns:Message" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="Message" type="ns:Message" />
                        <xs:complexType name="Message">
                                <xs:sequence>
                                        <xs:element maxOccurs="unbounded" 
name="l1List"
                                                nillable="true" 
type="ns:Param1" />
                                        <xs:element maxOccurs="unbounded" 
name="l3List"
                                                nillable="true" 
type="ns:Param2" />
                                </xs:sequence>
                        </xs:complexType>
                        <xs:element name="Param1" type="ns:Param1" />
                        <xs:complexType name="Param1">
                                <xs:sequence>
                                        <xs:element name="Element1" 
nillable="true"
                                                type="xs:long" />
                                </xs:sequence>
                        </xs:complexType>

                        <xs:element name="Param2" type="ns:Param2" />
                        <xs:complexType name="Param2">
                                <xs:sequence>
                                        <xs:element name="Element2" 
nillable="true"
                                                type="xs:string" />
                                </xs:sequence>
                        </xs:complexType>
                        <xs:element name="storeResponse">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="return" 
nillable="true"
                                                        type="xs:boolean" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="validate">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="param0" 
nillable="true"
                                                        type="ns:Message" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="validateResponse">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="return" 
nillable="true"
                                                        type="xs:boolean" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="getVersionResponse">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="return" 
nillable="true"
                                                        type="xs:string" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                </xs:schema>
        </wsdl:types>
        <wsdl:message name="storeMessage">
                <wsdl:part name="part1" element="ns:store" />
        </wsdl:message>
        <wsdl:message name="storeResponseMessage">
                <wsdl:part name="part1" element="ns:storeResponse" />
        </wsdl:message>
        <wsdl:message name="validateMessage">
                <wsdl:part name="part1" element="ns:validate" />
        </wsdl:message>
        <wsdl:message name="validateResponseMessage">
                <wsdl:part name="part1" element="ns:validateResponse" />
        </wsdl:message>
        <wsdl:message name="getVersionMessage" />
        <wsdl:message name="getVersionResponseMessage">
                <wsdl:part name="part1" element="ns:getVersionResponse" />
        </wsdl:message>
        <wsdl:portType name="efm_1_0PortType">
                <wsdl:operation name="store">
                        <wsdl:input
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                wsaw:Action="urn:store" 
message="axis2:storeMessage" />
                        <wsdl:output
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                message="axis2:storeResponseMessage" 
wsaw:Action="urn:store" />
                </wsdl:operation>
                <wsdl:operation name="validate">
                        <wsdl:input
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                wsaw:Action="urn:validate" 
message="axis2:validateMessage" />
                        <wsdl:output
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                message="axis2:validateResponseMessage" 
wsaw:Action="urn:validate" />
                </wsdl:operation>
                <wsdl:operation name="getVersion">
                        <wsdl:input
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                wsaw:Action="urn:getVersion" 
message="axis2:getVersionMessage" />
                        <wsdl:output
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                message="axis2:getVersionResponseMessage"
                                wsaw:Action="urn:getVersion" />
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="efm_1_0SOAP11Binding"
                type="axis2:efm_1_0PortType">
                <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
                        style="document" />
                <wsdl:operation name="store">
                        <soap:operation soapAction="urn:store" style="document" 
/>
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="validate">
                        <soap:operation soapAction="urn:validate" 
style="document" />
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="getVersion">
                        <soap:operation soapAction="urn:getVersion"
                                style="document" />
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:binding name="efm_1_0SOAP12Binding"
                type="axis2:efm_1_0PortType">
                <soap12:binding transport="http://schemas.xmlsoap.org/soap/http";
                        style="document" />
                <wsdl:operation name="store">
                        <soap12:operation soapAction="urn:store" 
style="document" />
                        <wsdl:input>
                                <soap12:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap12:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="validate">
                        <soap12:operation soapAction="urn:validate"
                                style="document" />
                        <wsdl:input>
                                <soap12:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap12:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="getVersion">
                        <soap12:operation soapAction="urn:getVersion"
                                style="document" />
                        <wsdl:input>
                                <soap12:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap12:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="efm_1_0">
                <wsdl:port name="efm_1_0SOAP11port"
                        binding="axis2:efm_1_0SOAP11Binding">
                        <soap:address
                                
location="http://localhost:8080/axis2/services/efm_1_0"; />
                </wsdl:port>
                <wsdl:port name="efm_1_0SOAP12port"
                        binding="axis2:efm_1_0SOAP12Binding">
                        <soap12:address
                                
location="http://localhost:8080/axis2/services/efm_1_0"; />
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>

Could someone help me with that issue?

Thanks..

Bjoern
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to