D
dtalas
Hello -
I'm having the following issue. I am trying to call a simple 3rd party
web service that is running as Apache AXIS. The web service takes 3
parameters, all strings. It uses RPC as its binding.
The Web Service implementation clearly expects last parameter to be
valid XML ( as in <MyData MyAttribute="att"/>, but my .NET client
encodes that parameter as <MyData MyAttribute="att"/>
When VS.NET generates a proxy to that web service, it looks something
like this:
------------------------------------------------------------
[System.Web.Services.Protocols.SoapRpcMethodAttribute("foo",
RequestNamespace="http://foo.bar.com",
ResponseNamespace="https://testservice.bar.com/services/foo")]
[return:
System.Xml.Serialization.SoapElementAttribute("myMethodResponse")]
public string myMethod(string in0, string in1, string in2) {
object[] results = this.Invoke("myMethod", new object[] {
in0,
in1,
in2});
return ((string)(results[0]));
}
------------------------------------------------------------
I can turn SoapRpcMethodAttribute to SoapDocumentMethodAttribute and
use SoapBindingUse.Literal, but my web service clearly expects me to
use RPC.
How can I stop my .NET client from encoding the string parameters? I
seem to be stuck. Please help!
Thanks,
Daniel.
I'm having the following issue. I am trying to call a simple 3rd party
web service that is running as Apache AXIS. The web service takes 3
parameters, all strings. It uses RPC as its binding.
The Web Service implementation clearly expects last parameter to be
valid XML ( as in <MyData MyAttribute="att"/>, but my .NET client
encodes that parameter as <MyData MyAttribute="att"/>
When VS.NET generates a proxy to that web service, it looks something
like this:
------------------------------------------------------------
[System.Web.Services.Protocols.SoapRpcMethodAttribute("foo",
RequestNamespace="http://foo.bar.com",
ResponseNamespace="https://testservice.bar.com/services/foo")]
[return:
System.Xml.Serialization.SoapElementAttribute("myMethodResponse")]
public string myMethod(string in0, string in1, string in2) {
object[] results = this.Invoke("myMethod", new object[] {
in0,
in1,
in2});
return ((string)(results[0]));
}
------------------------------------------------------------
I can turn SoapRpcMethodAttribute to SoapDocumentMethodAttribute and
use SoapBindingUse.Literal, but my web service clearly expects me to
use RPC.
How can I stop my .NET client from encoding the string parameters? I
seem to be stuck. Please help!
Thanks,
Daniel.