Hi Hari,
How are you doing on this issue? Does the information in my last reply
helps a little? If there're anything else we can help, please feel free to
post here. Thanks,
Steven Cheng
Microsoft Online Support
Get Secure!
www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
X-Tomcat-ID: 180360861
References: <78**********************************@microsoft.co m>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_0001_83B459AE"
Content-Transfer-Encoding: 7bit
From:
st*****@online.microsoft.com (Steven Cheng[MSFT])
Organization: Microsoft
Date: Mon, 07 Nov 2005 09:54:52 GMT
Subject: RE: multirefs returned by the server
X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
Message-ID: <DD**************@TK2MSFTNGXA01.phx.gbl>
Newsgroups: microsoft.public.dotnet.framework.webservices
Lines: 226
Path: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.webservices:8508
NNTP-Posting-Host: TOMCATIMPORT1 10.201.218.122
Hi Hari,
Based on my research, there is no tech notes explicitly declare that .NET
webservcie do not support MultipRef element. The problem is that MultiRef
element is a output of the RPC/Encoded style SOAP message which is not
interop friendly. For interop between heterogenous system, the prefered
SOAP message style is document/literal:
http://msdn.microsoft.com/webservice...g/webserviceba
sics/default.aspx?pull=/library/en-us/dnwebsrv/html/rpc_literal.asp
document/literal style message can confirm that the actual SOAP message is
exactly what we defined through XSD schema and WSDL document while
RPC/Encoded can not because it use some platform/component specific rules
to encoding the runtime method call (which is not interop firendly ,though
it is sometimes more powerful )
Also ,here is a certain article also mentioend this:
http://www.developerfusion.co.uk/show/4694/3/
Thanks,
Steven Cheng
Microsoft Online Support
Get Secure!
www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
Thread-Topic: multirefs returned by the server
thread-index: AcXhQuJnIE9rZmFRQS+2toX04YYvzQ==
X-WBNR-Posting-Host: 216.191.251.40
From: "=?Utf-8?B?SGFyaSBNZW5vbg==?=" <ha*********@newsgroup.nospam>
Subject: multirefs returned by the server
Date: Fri, 4 Nov 2005 05:23:03 -0800
Lines: 50
Message-ID: <78**********************************@microsoft.co m>
MIME-Version: 1.0
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: 7bit
X-Newsreader: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
Newsgroups: microsoft.public.dotnet.framework.webservices
NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
microsoft.public.dotnet.framework.webservices:8470
X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
I am writing a C# client (using .NET 1.1) to a web service built on Apache
Axis.
The server returns an array using multirefs but the C# client does not seem
to be able to recognize it.
I read in one of the articles that I should turn multirefs OFF for interop
with .NET and that there was some microsoft technote stating this.
Does the .NET framework 1.1 support multirefs sent by a service? If not,
then is there a technote that explains this?
Here's the SOAP response sent by the server:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:getMyTypesResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://myserver/myservice.wsdl">
<getMyTypesReturn href="#id0"/>
</ns1:getMyTypesResponse>
<multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:MyTypes"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://myserver/myservice.wsdl">
<typeA xsi:type="soapenc:Array" soapenc:arrayType="ns2:MyType[1]">
<item href="#id1"/>
</typeA>
<typeB xsi:type="soapenc:Array" soapenc:arrayType="ns2:MyType[1]">
<item href="#id2"/>
</typeB>
</multiRef>
<multiRef id="id1" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:MyType" xmlns:ns3="http://myserver/myservice.wsdl"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">TYPE_A</multiRef>
<multiRef id="id2" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns4:MyType" xmlns:ns4="http://myserver/myservice.wsdl"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">TYPE_B</multiRef>
</soapenv:Body>
</soapenv:Envelope>
Thanks,
Hari