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
|
|
|
|
|
 | Members Area | |
|
 | Last Web Marketing |
|
|
|
|
 | Last Programming Tips |
|
|
|
|
 | Last News |
|
|
|
|
|
|