C#WSDL - 调用方法并接收答案

时间:2016-09-19 20:12:01

标签: c# web-services wsdl

在花了很多时间研究,尝试各种方法之后,我决定在这里提出一个问题,因为我现在没有想法。我想要实现的是在webservice上调用sendDocument操作,该服务位于此处:

https://test-bramka.edeklaracje.gov.pl/uslugi/dokumenty?wsdl

我已成功为我的VS项目添加了服务引用。然后我试图通过互联网提出建议:

eDeklaracjeTest client = new eDeklaracjeTest();
client.sendDocument(b1);

但是VS继续告诉我,eDeklaracjeTest是一个命名空间,但是像一个类型一样使用。当声明它时:

var client = new eDeklaracjeTest.sendDocument();

听起来不对,事后我可以这样做:

client.document = b1;

但是这不会调用sendDocument方法。我的电话有什么问题?如何正确调用sendDocument,以便我确认,我的请求已收到,我怎么能收到答案?

UPDATE 经过几个小时的研究和同事的一个问题,我终于收到了答案(感谢CodeCaster,因为他的帮助也很有帮助)。该WebService的正确代码如下所示:

eDeklaracjeTest.sendDocumentResponse resp;
byte[] b1 = null;
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
var client = new eDeklaracjeTest.GateServicePortTypeClient("GateServiceSOAP11port");
var documentToSend = new eDeklaracjeTest.sendDocument();
documentToSend.document = b1;
client.Open();
resp = client.sendDocument(documentToSend);

感谢大家,他们试图帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

是的,因为您在实例化服务代理类时缺少括号()。它应该是

var client = new eDeklaracjeTest().sendDocument();