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 Deepal Jayasinghe <de...@opensource.lk> on 2007/05/30 06:02:33 UTC

[Axis2][Fwd: problems with jaxme and axis2]


-------- Original Message --------
Subject: 	problems with jaxme and axis2
Date: 	Tue, 29 May 2007 16:31:55 +0200
From: 	Karl Heinz <bj...@gmx.de>
To: 	jaxme-dev@ws.apache.org



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: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org




-- 
Thanks,
Deepal
................................................................
"The highest tower is built one brick at a time"



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org