B
Bert
Hi,
I'm really desperate here, so I'll try to post my problem once more..
I'm building a web service (to be consumed by a .NET Compact Framework
client), using the Remoting infrastructure. Depending on the incoming
message, I change some properties in the IMessage object (in a
ChannelSink). Sometimes I have to change the return value from a method
from AClass to string. Whenever I do this the soap message gets another
formatting; eg:
invoking "string method1()"
Soap response:
<SOAP-ENV:Body>
<i2:SayHelloResponse id="ref-1" xmlns:i2
="http://schemas.microsoft.com/clr/nsassem/TestClassesLib.Class1/TestType
s" >
<return id="ref-3">Hello World</return>
</i2:SayHelloResponse>
</SOAP-ENV:Body>
invoking "AClass method2()" (AClass is substituted by a string, which
contains a custom reference to the object, when
returning)
Soap response:
<SOAP-ENV:Body>
<i2:GetClass2InstanceResponse id="ref-1" xmlns:i2
="http://schemas.microsoft.com/clr/nsassem/TestClassesLib.Class1/TestType
s">
<return href="#ref-3" />
</i2:GetClass2InstanceResponse>
<SOAP-ENC:string id="ref-3">
R2WS:http://192.168.0.2:1234/TestClassesLib.Class2[582f19a6-19f9-48d0-
ac9c-44bfdb5de304]</SOAP-ENC:string>
</SOAP-ENV:Body>
So the second message returns a string using a reference, while the first
one does it directly. These two work fine on a normal client (using the
full framework), but if I try it on a Compact client an XmlException
with message: "The identifier \"ref-3\" does not appear in the
document." is thrown, while clearly "ref-3" is present.
Is this a bug in the CF? Is there a way to force the formatting of the
soap message to always follow the first approach? Any other suggestions?
Your help is much appriciated,
Bert.
I'm really desperate here, so I'll try to post my problem once more..
I'm building a web service (to be consumed by a .NET Compact Framework
client), using the Remoting infrastructure. Depending on the incoming
message, I change some properties in the IMessage object (in a
ChannelSink). Sometimes I have to change the return value from a method
from AClass to string. Whenever I do this the soap message gets another
formatting; eg:
invoking "string method1()"
Soap response:
<SOAP-ENV:Body>
<i2:SayHelloResponse id="ref-1" xmlns:i2
="http://schemas.microsoft.com/clr/nsassem/TestClassesLib.Class1/TestType
s" >
<return id="ref-3">Hello World</return>
</i2:SayHelloResponse>
</SOAP-ENV:Body>
invoking "AClass method2()" (AClass is substituted by a string, which
contains a custom reference to the object, when
returning)
Soap response:
<SOAP-ENV:Body>
<i2:GetClass2InstanceResponse id="ref-1" xmlns:i2
="http://schemas.microsoft.com/clr/nsassem/TestClassesLib.Class1/TestType
s">
<return href="#ref-3" />
</i2:GetClass2InstanceResponse>
<SOAP-ENC:string id="ref-3">
R2WS:http://192.168.0.2:1234/TestClassesLib.Class2[582f19a6-19f9-48d0-
ac9c-44bfdb5de304]</SOAP-ENC:string>
</SOAP-ENV:Body>
So the second message returns a string using a reference, while the first
one does it directly. These two work fine on a normal client (using the
full framework), but if I try it on a Compact client an XmlException
with message: "The identifier \"ref-3\" does not appear in the
document." is thrown, while clearly "ref-3" is present.
Is this a bug in the CF? Is there a way to force the formatting of the
soap message to always follow the first approach? Any other suggestions?
Your help is much appriciated,
Bert.