使用asp.net和Visual Studio 2010消费Web服务

时间:2012-12-30 11:53:11

标签: asp.net asp.net-mvc wcf

我正在尝试在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

文档未提供使用.svc网址

的示例

我正在尝试在VS 2010中使用Add -> Webservice Reference,但我不断收到.svc网址的错误(以上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个网址中的哪一个来添加服务引用。服务端是问题还是我做错了什么?

请建议

1 个答案:

答案 0 :(得分:2)

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

如果您转到第一个网址提供的网址:

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

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

但是:在该页面顶部添加网络参考的网址为无效

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

(您的第一个网址,但https://代替http://),您从一开始就获得了正确的WSDL网址......