在花了很多时间研究,尝试各种方法之后,我决定在这里提出一个问题,因为我现在没有想法。我想要实现的是在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);
感谢大家,他们试图帮助我解决这个问题。
答案 0 :(得分:0)
是的,因为您在实例化服务代理类时缺少括号()
。它应该是
var client = new eDeklaracjeTest().sendDocument();