users@jax-rpc.java.net

RE: Need ur favor -- software engineer from Relience

From: Ryan LeCompte <ryan.lecompte_at_pangonetworks.com>
Date: Fri, 27 May 2005 11:25:58 -0400

Shoeb,

 

I suggest you use doc/literal style to achieve the most interoperability.
Here are some general tips:

 

* Always use document/literal instead of rpc/literal style

* Always use document/literal "wrapped convention" for both operation
parameters and operation return values

* .NET supports both unwrapped/wrapped array convention; can use either one
and still be interoperable

* Avoid using the "nillable" attribute when defining types; instead use
minOccurs="0"

* Use one-way operations instead of request/response if an operation has
void return type

* Store common WSDL data types in a separate XML schema document and import
the schema in the WSDL file (use xsd:import and not wsdl:import)

* Start with WSDL first as opposed to Java interface to achieve most
interoperability

* Use proper namespaces when writing elements of a WSDL, such as
xsd:complexType, wsdl:message, xsd:import, etc.

* Use Mindreef's SOAPscope tool to make sure that a WSDL conforms to the
WS-I Basic Profile 1.1 standard

Related links:

Wrapped convention blog entry by Anne Thomas Manes:
 
<http://atmanes.blogspot.com/2005/03/wrapped-documentliteral-convention.html
>
http://atmanes.blogspot.com/2005/03/wrapped-documentliteral-convention.html

Apache Axis and .NET interoperable notes:
 
<http://wiki.apache.org/ws/FrontPage/Axis/DotNetInterop?highlight=%28dotnet%
29>
http://wiki.apache.org/ws/FrontPage/Axis/DotNetInterop?highlight=%28dotnet%2
9
 <http://wiki.apache.org/ws/DotNetInteropArrays>
http://wiki.apache.org/ws/DotNetInteropArrays

 

Regards,

Ryan

  _____

From: Shoeb Ghazi [mailto:shoebg_at_motechsoftware.com]
Sent: Friday, May 27, 2005 10:39 AM
To: users_at_jax-rpc.dev.java.net
Subject: Need ur favor -- software engineer from Relience

 

Arun,

I read ur article "wsdl:binding "style", "use", and message format" which I
found very useful.
As I am new in Web Service World, I wanted to clarify doubts related to
interoperability problems.

Here I am explaining the problem..

Environment:

Client: gSaop client running on LINUX
Web Service: .Net Remoting web service on Windows2000 work station
Remoting web Service method: int Transcode(int id, string name)

Here is rpc/encoding style soap request and response which I am logging..

Request:
-----------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://schemas.microsoft.com/clr/nsassem/Transcoder.Motech.CiCAT/
MotechiCAT%2C%20Version%3D1.0.1965.27903%2C%20Culture%3Dneutral%2C%20PublicK
eyToken%3Dnull">

<SOAP-ENV:Body
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ns1:TransCode>
        <id>100</id>
        <name>shoeb</name>
</ns1:TransCode>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
---------------------------------------------

Response:
------------------------------------------------
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV:Body>
<i2:TransCodeResponse id="ref-1"
xmlns:i2="http://schemas.microsoft.com/clr/nsassem/Transcoder.Motech.CiCAT/M
otechiCAT">

<return>100</return>
</i2:TransCodeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
-------------------------------------------------

 

Can you please verify where I am doing wrong in soap request/response?

.net Remoting web service is able to recieve data, and also the response
data is reaching to gSoap cleint till http layer (verified by logging
response) but the gSoap client is not able to interpret the response..

Thanks and regards,
Shoeb