Hi,

I am trying to generate a service skeleton from a WSDL. If I add a
jaxws:enableAsyncMapping binding to the WSDL at either wsdl:definitions
or wsdl:portType level it is ignored by CXF's wsdl2java (2.1.3). What am
I doing wrong?

Janko


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
	xmlns:ws="http://example.com/HelloWorld";
	targetNamespace="http://example.com/HelloWorld";
	xmlns:types="http://example.com/HelloWorld/types";
	xmlns:jaxws="http://java.sun.com/xml/ns/jaxws";
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>

	<!-- CASE 1:
		This SHOULD generate
		(async) HelloWorldAPortType#helloWorld
		(async) HelloWorldAPortType#helloWorld2
		(async) HelloWorldBPortType#helloWorld
		(async) HelloWorldBPortType#helloWorld2
		
		It DOES generate
		(sync) HelloWorldAPortType#helloWorld
		(sync) HelloWorldAPortType#helloWorld2
		(sync) HelloWorldBPortType#helloWorld
		(sync) HelloWorldBPortType#helloWorld2
	-->
	<!--jaxws:bindings>
		<jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping>
	</jaxws:bindings-->

	<wsdl:types>
		<xs:schema
			targetNamespace="http://example.com/HelloWorld/types";
			xmlns:xs="http://www.w3.org/2001/XMLSchema";>
			<xs:element name="helloWorld">
				<xs:complexType/>
			</xs:element>
			<xs:element name="helloWorldResponse">
				<xs:complexType/>
			</xs:element>
			<xs:element name="helloWorld2">
				<xs:complexType/>
			</xs:element>
			<xs:element name="helloWorld2Response">
				<xs:complexType/>
			</xs:element>
		</xs:schema>
	</wsdl:types>

	<wsdl:message name="HelloWorldRequest">
		<wsdl:part name="parameters" element="types:helloWorld"/>
	</wsdl:message>
	<wsdl:message name="HelloWorldResponse">
		<wsdl:part name="parameters" element="types:helloWorldResponse"/>
	</wsdl:message>

	<wsdl:message name="HelloWorld2Request">
		<wsdl:part name="parameters" element="types:helloWorld2"/>
	</wsdl:message>
	<wsdl:message name="HelloWorld2Response">
		<wsdl:part name="parameters" element="types:helloWorld2Response"/>
	</wsdl:message>

	<wsdl:portType name="HelloWorldAPortType">
		<wsdl:operation name="helloWorld">
			<wsdl:input message="ws:HelloWorldRequest"/>
			<wsdl:output message="ws:HelloWorldResponse"/>

			<!-- CASE 3:
				This SHOULD generate
				(async) HelloWorldAPortType#helloWorld
				(sync) HelloWorldAPortType#helloWorld2
				(sync) HelloWorldBPortType#helloWorld
				(sync) HelloWorldBPortType#helloWorld2
				
				It DOES generate
				(async) HelloWorldAPortType#helloWorld
				(sync) HelloWorldAPortType#helloWorld2
				(sync) HelloWorldBPortType#helloWorld
				(sync) HelloWorldBPortType#helloWorld2
			-->
			<!--jaxws:bindings>
				<jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping>
			</jaxws:bindings-->
		</wsdl:operation>

		<wsdl:operation name="helloWorld2">
			<wsdl:input message="ws:HelloWorld2Request"/>
			<wsdl:output message="ws:HelloWorld2Response"/>
		</wsdl:operation>

		<!-- CASE 2:
			This SHOULD generate
			(async) HelloWorldAPortType#helloWorld
			(async) HelloWorldAPortType#helloWorld2
			(sync) HelloWorldBPortType#helloWorld
			(sync) HelloWorldBPortType#helloWorld2
			
			It DOES generate
			(sync) HelloWorldAPortType#helloWorld
			(sync) HelloWorldAPortType#helloWorld2
			(sync) HelloWorldBPortType#helloWorld
			(sync) HelloWorldBPortType#helloWorld2
		-->
		<!--jaxws:bindings>
			<jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping>
		</jaxws:bindings-->
	</wsdl:portType>

	<wsdl:portType name="HelloWorldBPortType">
		<wsdl:operation name="helloWorld">
			<wsdl:input message="ws:HelloWorldRequest"/>
			<wsdl:output message="ws:HelloWorldResponse"/>
		</wsdl:operation>

		<wsdl:operation name="helloWorld2">
			<wsdl:input message="ws:HelloWorld2Request"/>
			<wsdl:output message="ws:HelloWorld2Response"/>
		</wsdl:operation>
	</wsdl:portType>

</wsdl:definitions>

Reply via email to