我的母公司有一个WSDL,我可以创建一个ServiceModel,并使用它来调用Web方法,这很好。但是,我需要的是生成SOAP XML 而不发送它。所以,如果我这样做:
var mySvc = new MyWsdl.MyWebService();
var response = mySvc.DoTheThing(myUser, myData, myOtherData);
我知道,.NET实际上是在创建XML并通过网络发送它。但是我需要XML 而不发送它,因此,理想情况下,一些代码如下:
var mySvc = new MyWsdl.MyWebService();
var xml = mySvc.GetSOAP("DoTheThing", myUser, myData, myOtherData);
有没有办法做到这一点?我试图摆脱手动生成XML的麻烦。
原因 之所以这样做是因为我实际上需要将SOAP发送到另一个普通的非SOAP Web服务。我怀疑,该服务将要转身并以任何方式调用SOAP服务,可能会对结果进行按摩,然后将某些东西还给我,但这是我无法控制的。很快我将无法直接使用ServiceClient。
谢谢!
编辑:我想以编程方式进行此操作。否则,可以,我可以通过捕获已发送的请求或使用SoapUI之类的应用程序来获取XML,但是我仍然要手动创建XML。这样的想法是,如果WSDL发生更改,我就不必更改生成的XML,因此,如果服务客户端可以为我做,那将是理想的选择。