Cyberactiva - webmaster tutorials, programming and videogames tricks

webmaster menu webmaster menu webmaster menu webmaster menu webmaster menu webmaster menu webmaster menu webmaster menu
  

Viewing request XML

Viewing request XML
Hi,

I've written a web service in C#/ .NET that is called by clients written in
Delphi (we don't do Delphi any more)
Using a .NET test harness the service works, but when called by a Delphi
client all the input parameters arrive as null, empty string or 0.
I wonder if the Delphi components are producing invalid XML, but I need to
view the request...
Please can anyone tell me how I can intercept a SOAP request and view the
XML.
TIA
Stuart IRving
Stuart Irving wrote:

> Hi,
>
> I've written a web service in C#/ .NET that is called by clients
> written in Delphi (we don't do Delphi any more) Using a .NET test
> harness the service works, but when called by a Delphi client all the
> input parameters arrive as null, empty string or 0.
> I wonder if the Delphi components are producing invalid XML, but I
> need to view the request...
> Please can anyone tell me how I can intercept a SOAP request and view
> the XML.
Check out:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/h
tml/frlrfsystemwebservicesprotocolssoapextensionclasstopic.asp
(URL Wraps. Or use http://tinyurl.com/empf)
Just dress your method with a [Trace( FileName="here">)] attribute and the request + response will be saved to the
file. This applies only to the Request or Response XML, not the HTTP
headers.
I've a bit of experience in Delphi SOAP as well, let me know what you
receive - perhaps a change has to be made in the Delphi code.
--
Deepak Shenoy
http://shenoyatwork.blogspot.com
Many thanks for the pointers, it looks like this is our issue:
RPC|Encoded vs. Document|Literal

The biggest problem in interoperability is the fact that some servers use
Document|Literal encoding, which most others use RPC|Encoded. Delphi servers
only understand RPC|Encoded packages, but Delphi Clients can talk to both
RPC|Encoded and Document|Literal servers.
To communicate with a Doc|Lit server (Most .NET web services are doc|lit)
you must set HTTPRio1.Converter.Options.soLiteralParams to true. This
ensures that parameters encoded with "literal" are not unwound, which is
necessary in doc|lit cases where a parameter name might be encapsulated
under a sub tag under the XML element representing the function.
I'll try to post some indication of what we did if that fixes it.
Cheers
Stuart
"Deepak Shenoy" wrote in message
news:uDFD77jeGHA.3488@TK2MSFTNGP02.phx.gbl...
> Stuart Irving wrote:
>
>> Hi,
>>
>> I've written a web service in C#/ .NET that is called by clients
>> written in Delphi (we don't do Delphi any more) Using a .NET test
>> harness the service works, but when called by a Delphi client all the
>> input parameters arrive as null, empty string or 0.
>> I wonder if the Delphi components are producing invalid XML, but I
>> need to view the request...
>> Please can anyone tell me how I can intercept a SOAP request and view
>> the XML.
> Check out:
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/h
> tml/frlrfsystemwebservicesprotocolssoapextensionclasstopic.asp
> (URL Wraps. Or use http://tinyurl.com/empf)
> Just dress your method with a [Trace( FileName="> here">)] attribute and the request + response will be saved to the
> file. This applies only to the Request or Response XML, not the HTTP
> headers.
> I've a bit of experience in Delphi SOAP as well, let me know what you
> receive - perhaps a change has to be made in the Delphi code.
> --
> Deepak Shenoy
> http://shenoyatwork.blogspot.com
Register for freeMembers Area
Web MarketingLast Web Marketing
Web MarketingLast Programming Tips
Web MarketingLast News


Web Marketing Links and links exchange .