0

我正在尝试在 Visual Studio 2010 中使用/使用 Web 服务。API 文档提供了 3 个 url:

文档给出了两个例子。对于 json,他们说示例请求如下:

Http://testwebpay.interswitchng.com/test_paydirect/api/v1/gettransaction.json?productid=21&transactionreference=8421941122&amount=300000 HTTP/1.1
UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.239)
Hash: F6FF2E22F99D93DDDA52D71811FD92B3A71FA1968A66216E0D310DAD

对于 XML:

GET Http://testwebpay.interswitchng.com/test_paydirect/api/v1/gettransaction.xml?productid=21&transactionreference=8421941122&amount=300000 HTTP/1.1
UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.239)
Hash: F6FF2E22F99D93DDDA52D71811FD92B3A71FA1968A66216E0D310DAD

文档没有给出使用.svcurl的示例

我正在尝试Add -> Webservice Reference在 VS 2010 中使用,但我不断收到以下.svcurl 错误(上面 3 中的第一个错误):

下载时出错https://testwebpay/test\_paydirect/services/WebPAYService.svc?wsdl
无法解析远程名称:“testwebpay”
元数据包含无法解析的引用:https://testwebpay/test\_paydirect/services/WebPAYService.svc?wsdl
没有https://testwebpay/test\_paydirect/services/WebPAYService.svc?wsdl可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。
无法解析远程名称:“testwebpay”

我需要使用以上 3 个 URL 中的哪一个来添加服务引用。是服务端有问题还是我做错了什么?

请建议

4

1 回答 1

2

这是一个相当奇怪的网络服务....

如果您转到作为第一个 URL 提供的 URL:

http://testwebpay.interswitchng.com/test_paydirect/services/WebPAYService.svc

你会得到一个“帮助页面”,它会告诉你——是的,确实,这里有一个 SOAP 服务。

但是:在该页面顶部添加 Web 引用的 URL无效

https://testwebpay/test_paydirect/services/WebPAYService.svc?wsdl

这是一个本地网址 - 缺少域名......

所以基于这个 URL,你真的必须连接到

https://testwebpay.interswitchng.com/test_paydirect/services/WebPAYService.svc?wsdl

为了获得服务的 SOAP 定义(描述该服务所有细节的 Web 服务描述语言文件)。一旦您在那里连接,并且一旦您忽略了证书问题(如果您信任该公司/服务提供商),那么您将获得正确的 WSDL,并且您可以构建您的服务客户端。

或者:转到

https://testwebpay.interswitchng.com/test_paydirect/services/webpayservice.svc

(您的第一个 URL,但使用https://而不是http://)并且您从一开始就获得了 WSDL 的正确 URL...

于 2012-12-30T12:05:25.903 回答