axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sam Carleton <scarle...@miltonstreet.com>
Subject One service, one module? and WSDL2C has a few errors...
Date Sat, 04 Apr 2009 15:30:21 GMT
I have continued on my quest to try to get multiple services into one
WSDL.  I think I have the WSDL correct, there are simply multiple
service sections (see My WSDL at the bottom of the email).

I am running into a number of issues:

1: The WSDL2C only creates an invoke to handle one of the two
services, not both.
2: The WSDL2C does not generate the services.xml correctly, it does
not put both the service elements in the serviceGroup element.  The
generated file is actually not valid!
3: I cannot get the DLL to load.  Since I have have two services in
it, the DLL is called Pasadena.dll and the services.xml is below.

Is it possible to have multiple services in one DLL?  I am running
with a nightly build of Axis2/C that is about a week old now.

Sam
---------------------------------- My services.xml
----------------------------------

<serviceGroup>
	<service name="NodeManager" >
		<parameter name="ServiceClass">Pasadena</parameter>
		<description>NodeManager Service
            </description>
		<operation name="getNode">
			<parameter name="wsamapping">urn:mmpp:NodeManager/getNode</parameter>
		</operation>
	</service>
	<service name="CartService">
		<parameter name="ServiceClass">Pasadena</parameter>
		<description>CartService Service
            </description>
		<operation name="getCarts">
			<parameter name="wsamapping">urn:mmpp:CartService/getCarts</parameter>
		</operation>
	</service>
</serviceGroup>

---------------------------------- My WSDL ----------------------------------

<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="urn:mmpp:pasadena"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/"
name="NodeManager" targetNamespace="urn:mmpp:pasadena">
	<wsdl:types>
		<xsd:schema targetNamespace="urn:mmpp:pasadena">
			<xsd:element name="getNode">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="nodeId" type="xsd:string"/>
						<xsd:element name="userId" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getNodeResponse">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="currentNode" type="tns:NodeType"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:complexType name="NodeType">
				<xsd:sequence>
					<xsd:element name="objectId" type="xsd:string"/>
					<xsd:element name="name" type="xsd:string"/>
					<xsd:element name="parentNode" type="tns:NodeType" nillable="true"/>
					<xsd:element name="areChildrenGalleries" type="xsd:boolean"
nillable="true"/>
					<xsd:element name="children" type="tns:NodeType" minOccurs="0"
maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:complexType>
			<xsd:element name="getCarts">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="nodeId" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getCartsResponse">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="carts" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:schema>
	</wsdl:types>

<!-- The Cart Service -->
	
	<wsdl:message name="getCartsRequest">
		<wsdl:part name="parameters" element="tns:getCarts"/>
	</wsdl:message>
	
	<wsdl:message name="getCartsResponse">
		<wsdl:part name="parameters" element="tns:getCartsResponse"/>
	</wsdl:message>
	
	<wsdl:portType name="CartService">
		<wsdl:operation name="getCarts">
			<wsdl:input message="tns:getCartsRequest"/>
			<wsdl:output message="tns:getCartsResponse"/>
		</wsdl:operation>
	</wsdl:portType>

	<wsdl:binding name="CartServiceSOAP" type="tns:CartService">
		<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="getCarts">
			<soap:operation soapAction="urn:mmpp:CartService/getCarts"/>
			<wsdl:input>
				<soap:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
		
	<wsdl:service name="CartService">
		<wsdl:port name="CartServiceSOAP" binding="tns:CartServiceSOAP">
			<soap:address location="http://localhost/axis2/services/CartService"/>
		</wsdl:port>
	</wsdl:service>
	
	<!-- The NodeManager -->
	
	<wsdl:message name="getNodeRequest">
		<wsdl:part name="parameters" element="tns:getNode"/>
	</wsdl:message>
	<wsdl:message name="getNodeResponse">
		<wsdl:part name="parameters" element="tns:getNodeResponse"/>
	</wsdl:message>

	<wsdl:portType name="NodeManager">
		<wsdl:operation name="getNode">
			<wsdl:input message="tns:getNodeRequest"/>
			<wsdl:output message="tns:getNodeResponse"/>
		</wsdl:operation>
	</wsdl:portType>
	
	<wsdl:binding name="NodeManagerSOAP" type="tns:NodeManager">
		<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="getNode">
			<soap:operation soapAction="urn:mmpp:NodeManager/getNode"/>
			<wsdl:input>
				<soap:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>

	<wsdl:service name="NodeManager">
		<wsdl:port name="NodeManagerSOAP" binding="tns:NodeManagerSOAP">
			<soap:address location="http://localhost/axis2/services/NodeManager"/>
		</wsdl:port>
	</wsdl:service>	

<!--	<wsdl:service name="Pasadena">
		<wsdl:port name="CartServiceSOAP" binding="tns:CartServiceSOAP">
			<soap:address location="http://localhost/axis2/services/CartService"/>
		</wsdl:port>
		<wsdl:port name="NodeManagerSOAP" binding="tns:NodeManagerSOAP">
			<soap:address location="http://localhost/axis2/services/NodeManager"/>
		</wsdl:port>
	</wsdl:service>-->

</wsdl:definitions>

Mime
View raw message