> The actual purpose of the OUT parameter is pass data as reference and let
> the data be modified by the calling method. Isn't it?? as web service is
[quoted text clipped - 5 lines]
> HTH
> Chakravarthy
Well, if OUT parameter is NOT supose to appear in any WebService, then
Visual Studio should have generated a compile time error right :)
Besides, I look at the Input and Output XML string, it is 100%
possible if I invoke this WebService (with *OUT* parameter) using HTTP
SOAP or from anyother client like Java.
The problem now is, I need to invoke using Ajax, and passing in the
Query string as the Cmd :(
POST /WebConfig/Utils/External.asmx HTTP/1.1
Host: 127.0.0.1
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/Test"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://
schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Test xmlns="http://tempuri.org/">
<Msg>string</Msg>
</Test>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://
schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TestResponse xmlns="http://tempuri.org/">
<Name>string</Name>
<Id>string</Id>
<Res>string</Res>
</TestResponse>
</soap:Body>
</soap:Envelope>
DSK Chakravarthy - 14 Mar 2008 08:34 GMT
Dude,
First thing first, as webservice is in a different box, you can't have the
reference of a variable leaked onto that box. Secondly, when the request
gets onto http, it disconnects the reference, thus leaving you with no
connection with the calling method for the caller. If you understand this,
you would never argue on the concept of using the OUT in a method of a
webserver.
Coming to the compiler identifying the flaw, pl understand that it is not a
syntax flaw, but a logical flaw. With in a web service you can have a method
exposing an OUT parameter to one more method. So, the compiler assumes that
you are defining that for the purpose of another method. Hope you got the
point.
If you are aware of the mechanism of invoking the webservice using HTTP SOAP
or any other possiblity, kindly share that with us.. Infact, it violates the
rule of isolation. Anyhow, if you are successful, in developing some code
like that, pl share that with us.
HTH
>> The actual purpose of the OUT parameter is pass data as reference and let
>> the data be modified by the calling method. Isn't it?? as web service is
[quoted text clipped - 49 lines]
> </soap:Body>
> </soap:Envelope>