Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Web Services > How to intercept the XML requests sent by the proxy?

Thread Tools

How to intercept the XML requests sent by the proxy?

Gabriel Lacatus
Posts: n/a

I am trying to intercept and analyze the XML request that is being sent by
the generated web reference to a 3rd party web service. The web service is
giving me an error when calling a method saying I didn't send correct data.
Whilst I am working with objects in my client code I cannot really
understand my mistake. That unless I can actually SEE what does the form of
the serialized XML request look like and compare it to the schema given in
the web service documentation I received.

I have tried overriding the GetResponse method in the web reference file but
I cannot read from the request stream ("This stream does not support seek
operations" exception).

I also tried Soap Extensions but again I can't seem to get my hands on the
data being sent to the web service.
Many of the examples I found on the internet explain how to intercept and
modify a request but in reality the modification is really a complete
replacement of the request so it has nothing to do with actually seeing what
was originally inside that request.

I learnt that TCP sniffers could be used but I don't know the ports used by
the .NET framework to communicate with the remote host. I couldn't find a
good such sniffer anyway...

I am completely lost. Can anybody give a hand?

Thank you.

Reply With Quote
Steven Cheng[MSFT]
Posts: n/a
Hi Gabriel,

Thank you for posting.

Regarding on the intercepting the SOAP message sent by webservice proxy
generated by .net framework, I think you can just some some certain trace
tools like tcpTrace, proxyTrace or traceUtility in soaptoolkit 3.0.

#SOAP Toolkit 3.0

And when you want to start tracing(for your case, we're the webservice
client-side), just start the trace utility and listening on a local
port(specify a unused one, such as 888, and then, forward the request to
the remote destination server(and a specified port, this is usually 80 for
http ). Then, for our webservice proxy's code, we should change its
service url to the local port we specified earlier. e.g:

MyProxy mp = new MyProxy();

mp.Url = "http:localhost:8888/xxxxx/";

Then, the SOAP message will be passed through the local 8888 port(our trace
utlity ) first, then be forwarded to the destination server(port) after be

Hope this helps. If there is anything I missed, please feel free to post


Steven Cheng
Microsoft Online Community Support


When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.


This posting is provided "AS IS" with no warranties, and confers no rights.

Get Secure!
(This posting is provided "AS IS", with no warranties, and confers no

Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
Webservice - Intercept all requests Matthias S. ASP .Net 1 04-23-2008 05:41 PM
Intercept Flash HTTP requests with JS decepti0n Javascript 3 03-04-2008 09:27 AM
httphandler to intercept pages before sent to user =?Utf-8?B?cnBhbGU=?= ASP .Net 2 12-16-2004 07:37 AM
Intercept WebDAV requests Abhijit ASP .Net 2 10-17-2004 09:59 PM