axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anne Thomas Manes" <a...@manes.net>
Subject RE: operation wrapper in soap message
Date Mon, 04 Oct 2004 07:20:29 GMT
Johannes,

In the wrapped style, the name of your input message element must be the
same as your operation name.

If the operation name is CONVERTDATA_IPC_PVA, then your input message
element should also be called CONVERTDATA_IPC_PVA. Alternatively, if your
input message element is called CONVRequest, then your operation name should
be CONVRequest.

So for the first option, your WSDL should look like this:

<wsdl:types>
	<xsd:schema targetNamespace="http://somewhere.de"
				xmlns:xsd="http://www.w3.org/2001/XMLSchema"
				xmlns="http://somewhere.de">
		<xsd:element type="tCONVRequest"
	
name="CONVERTDATA_IPC_PVA"></xsd:element>
		<xsd:complexType name="tCONVRequest">
			<xsd:sequence>
				<xsd:element type="xsd:boolean"
	
name="CONVTO_PVA"></xsd:element>
				<xsd:element minOccurs="0"
							 name="Request"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:string"
	
name="Name"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="Value"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
		<xsd:element type="tCONVReply"
					 name="CONVReply"></xsd:element>
		<xsd:complexType name="tCONVReply">
			<xsd:sequence>
				<xsd:element minOccurs="0"
							 name="Result"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:integer"
	
name="ResultCode"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="ResultMessage"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element minOccurs="0"
							 name="Reply"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:string"
	
name="Name"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="Value"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:schema>
</wsdl:types>
<message name="msgCONVRequest">
	<part name="Request"
		  element="typens:CONVERTDATA_IPC_PVA"
		  />
</message>
<message name="msgCONVResponse">
	<part name="Reply"
		  element="typens:CONVReply"
		  />
</message>
<portType name="ptCONVERTDATA">
	<operation name="CONVERTDATA_IPC_PVA">
		<input message="typens:msgCONVRequest"/>
		<output message="typens:msgCONVResponse"/>
	</operation>
</portType>
[and so on]

For the second option, the WSDL should look like this:

<wsdl:types>
	<xsd:schema targetNamespace="http://somewhere.de"
				xmlns:xsd="http://www.w3.org/2001/XMLSchema"
				xmlns="http://somewhere.de">
		<xsd:element type="tCONVRequest"
					 name="CONVRequest"></xsd:element>
		<xsd:complexType name="tCONVRequest">
			<xsd:sequence>
				<xsd:element type="xsd:boolean"
	
name="CONVTO_PVA"></xsd:element>
				<xsd:element minOccurs="0"
							 name="Request"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:string"
	
name="Name"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="Value"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
		<xsd:element type="tCONVReply"
					 name="CONVReply"></xsd:element>
		<xsd:complexType name="tCONVReply">
			<xsd:sequence>
				<xsd:element minOccurs="0"
							 name="Result"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:integer"
	
name="ResultCode"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="ResultMessage"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element minOccurs="0"
							 name="Reply"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:string"
	
name="Name"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="Value"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:schema>
</wsdl:types>
<message name="msgCONVRequest">
	<part name="Request"
		  element="typens:CONVRequest"
		  />
</message>
<message name="msgCONVResponse">
	<part name="Reply"
		  element="typens:CONVReply"
		  />
</message>
<portType name="ptCONVERTDATA">
	<operation name="CONVrequest">
		<input message="typens:msgCONVRequest"/>
		<output message="typens:msgCONVResponse"/>
	</operation>
</portType>
[and so on]

Best regards,
Anne

-----Original Message-----
From: Johannes Metzner [mailto:jometzner@gmx.net] 
Sent: Monday, October 04, 2004 7:43 AM
To: axis-user@ws.apache.org
Subject: RE: operation wrapper in soap message

I post only the interesting part of the corresponding wsdl:
<wsdl:types>
	<xsd:schema targetNamespace="http://somewhere.de"
				xmlns:xsd="http://www.w3.org/2001/XMLSchema"
				xmlns="http://somewhere.de">
		<xsd:element type="tCONVRequest"
					 name="CONVRequest"></xsd:element>
		<xsd:complexType name="tCONVRequest">
			<xsd:sequence>
				<xsd:element type="xsd:boolean"
	
name="CONVTO_PVA"></xsd:element>
				<xsd:element minOccurs="0"
							 name="Request"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:string"
	
name="Name"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="Value"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
		<xsd:element type="tCONVReply"
					 name="CONVReply"></xsd:element>
		<xsd:complexType name="tCONVReply">
			<xsd:sequence>
				<xsd:element minOccurs="0"
							 name="Result"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:integer"
	
name="ResultCode"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="ResultMessage"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element minOccurs="0"
							 name="Reply"
	
maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:all>
							<xsd:element
type="xsd:string"
	
name="Name"></xsd:element>
							<xsd:element
type="xsd:string"
	
name="Value"></xsd:element>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:schema>
</wsdl:types>
<message name="msgCONVRequest">
	<part name="Request"
		  element="typens:CONVRequest"
		  />
</message>
<message name="msgCONVResponse">
	<part name="Reply"
		  element="typens:CONVReply"
		  />
</message>
<portType name="ptCONVERTDATA">
	<operation name="CONVERTDATA_IPC_PVA">
		<input message="typens:msgCONVRequest"/>
		<output message="typens:msgCONVResponse"/>
	</operation>
</portType>
[and so on]

I'll rename the element 'CONVRequest' to 'CONVERTDATA_IPC_PVA' and try
contact the webservice with this. Thank you so far.

Johannes

> Can you please provide the WSDL?
> 
> Looking at your message, it looks to me that the <ns1:CONVRequest> element
> should be your wrapper element. 
> 
> Axis will generate a message that corresponds to the input message
> definition in the WSDL. The wrapper element is referenced in the message
> <part> definition. The name of this element should be the same as your
> operation name.
> 
> Anne

-- 
---------------------------
Johannes Metzner

Nollendorfer Str. 33
07743 Jena

Tel: 03641/472090
email: jometzner@gmx.net

---------------------------


Mime
View raw message