Invoking WebMethods WebService Issue (from .NET)

Hi,
I’m trying to create a .NET client to consume a webMethods-generated web service (which uses soap-msg, not rpc). I am able to successfully send a request to the web service but the request object coming back is only partially populated. The proxy class in .NET that was generated, calls System.Web.Services.Protocols.SoapHttpClientProtocols.Invoke(), it returns the object results of the correct length, but each element is null. I am able to successfully call this web service from other soap clients and get a valid (fully populated) response. Any ideas why .NET is not mapping/parsing the response from the webMethods web service correctly, or how to get around this?

Thanks in advance for the help!

Sarah

Sarah, I thought you guys were avoiding the use of .NET? :slight_smile:

Sorry, I don’t have any useful info–my value-add on this is just a smart-aleck comment!

Rob

Sarah,

From Rob’s response, it appears that you have worked together. Sorry about that. :slight_smile:

Have you compared a request message sent from your .Net client to one sent from a web services testing tool or another working client? Have you examined the non-working request message manually to see whether there is some issue there? Given identical requests, IS should produce identical responses. That would point to some .Net specific issue which could be related to an issue with unmarshalling the XML into .Net classes.

I think CrossCheck’s SOAP Sonar tool is implemented in .Net which should behave similarly to a client stub generated by the .NET WSDL.exe utility. (Sonar’s personal edition is free and quick to install).

Hi Mark,
I had tried sending the request from soap sonar and did compare the request in webMethods (captured the pipeline) - they look the same. So I am thinking that the issue is with how .NET has imported the wsdl file. I am able to successfully send the xml if I do a simple http post from .NET; but using the methods generated from importing the wsdl, it is not working correctly. I will try asking around on some .Net forums. Thanks for your help!