2012-12-30 122 views
0

我試圖使用/消耗在Visual Studio 2010中的API文檔提供了3個網址的網絡服務使用Web服務:使用asp.net和Visual Studio 2010

文檔提供了兩個示例。對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網址

我試圖用Add -> Webservice Reference在VS 2010,但我不斷收到以下錯誤爲.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個網址的,我需要使用添加服務refernce。服務端有問題還是我做錯了?

請建議

+0

@marc_s我使用像這樣的完整網址http://testwebpay.interswitchng.com/test_paydirect/services/webpayservice.svc – DotnetSparrow

+0

您的意思是interswitching.com而不是interswitchng.com? – DotnetSparrow

回答

2

這是一個相當奇怪的Web服務....

如果你去到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 

(你的第一個網址,但https://代替http://),你會得到從一開始的WSDL正確的網址...