Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / Web Services / April 2007

Tip: Looking for answers? Try searching our database.

How can I get debug tracing from deserialization process?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
beachdog - 28 Mar 2007 13:01 GMT
I am building a client which accesses a web service (HTTP/SOAP), and I
think the response message is somehow not in agreement with my wsdl/
proxy class.  I am able to access SOAP headers ok from the
deserialized response, but not elements in the body of the response.
Is there some way I can get some sort of debug tracing out of the
deserialization layer, or step thru it in debugger somehow, so I can
see how it is parsing the message and how it is handling the body
elements?
beachdog - 02 Apr 2007 03:19 GMT
> I am building a client which accesses a web service (HTTP/SOAP), and I
> think the response message is somehow not in agreement with my wsdl/
[quoted text clipped - 4 lines]
> see how it is parsing the message and how it is handling the body
> elements?

No help?  This seems pretty basic, I'm troubled if there isn't an
obvious technique or system facility that isn't easily at hand for
this.
John Saunders - 02 Apr 2007 18:04 GMT
>> I am building a client which accesses a web service (HTTP/SOAP), and I
>> think the response message is somehow not in agreement with my wsdl/
[quoted text clipped - 8 lines]
> obvious technique or system facility that isn't easily at hand for
> this.

Have you considered using a network monitor program? For instance, Microsoft
has just released Microsoft Network Monitor 3
(http://www.microsoft.com/downloads/details.aspx?familyid=AA8BE06D-4A6A-4B69-B861
-2043B665CB53&mg_id=10109&displaylang=en
).

Also, you could consider writing a Soap extension for tracing. See How to:
Implement a SOAP Extension  at
http://msdn2.microsoft.com/en-us/library/7w06t139.aspx.

BTW, I'm a little concerned that you say you can't access the elements in
the body of the response. What did you try, and what result did you see?

John
beachdog - 03 Apr 2007 03:24 GMT
On Apr 2, 1:04 pm, "John Saunders" <john.saunders at trizetto.com>
wrote:

> BTW, I'm a little concerned that you say you can't access the elements in
> the body of the response. What did you try, and what result did you see?
>
> John

Thanks very much for the tips - I will look into them.

When I said I that I couldn't access elements in the body of the
response, I meant that when I try to get the returned value from the
result, it is null; whereas I am able to retrieve values out of the
SOAP header.  Here is the relevant section of code that I execute:

               /* async */
               IAsyncResult result = cs.BeginOutdialOperation("781",
"784", "1234", null, null);
               result.AsyncWaitHandle.WaitOne(2000, false);
               if (result.IsCompleted)
               {
                   String status = cs.EndOutdialOperation(result);
                   String sessionID = cs.srcsessionIDValue.Text[0];

and what happens is that status is null -- the status element is the
only element carried in the body of the SOAP response.  Meanwhile,
sessionID is properly populated -- and this is one of several elements
carried in the header of the response.   I wrote about this problem in
a separate issue -- refer to this thread for details:

http://groups.google.com/group/microsoft.public.dotnet.framework.webservices/bro
wse_frm/thread/68405aaf102e51c3?hl=en

Latish Sehgal - 03 Apr 2007 07:00 GMT
Did you try to do any browser testing?
You can hit the web service from IE and pass the soap input, and then
examine if the returned results are in agreement with your class.
beachdog - 03 Apr 2007 12:40 GMT
> Did you try to do any browser testing?
> You can hit the web service from IE and pass the soap input, and then
> examine if the returned results are in agreement with your class.

No, I haven't tried that.  Actually, I'm not sure how to do that.  How
can I use IE to generate an HTTP POST and specify the content to be
carried in the POST request?
Latish Sehgal - 03 Apr 2007 16:33 GMT
When you hit the webservice url using IE, doest it show you examples
of invocation?

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.