2011-03-16 79 views
1

我有以下代碼用於使用不適合我的服務。任何人都可以建議我可以做些什麼來縮小最新的錯誤?我知道這是模糊的,所以請告訴我你需要提供什麼建議。調用Web服務:我在這裏做錯了什麼?

的地址是:http://localhost:57667/ExampleService.svc/

訪問時直接我得到「你已經創建了一個服務... ...消息」

該出錯的代碼是在這裏。這將導致以下錯誤:

_url = "http://localhost:57667/ExampleService.svc"; 
TextReader textReader = new StringReader(HttpPostClient.Post(new Uri(_url), bodyData.ToString(), _exampleServiceRequestEncoding,  Properties.Settings.Default.HttpPostClientExampleAvailabilityTimeout)); 

錯誤消息: 當訪問該網址直接:http://localhost:57667/ExampleService.svc/ProcessRequest

The exception message is 'No component for key example.ExternalWebServiceStubs.Example.ExampleService was found'. 
Castle.MicroKernel.DefaultKernel.get_Item(String key) at Castle.Facilities.WcfIntegration.WindsorInstanceProvider.GetInstance 

千恩萬謝,

回答

0

由於故障排除WCF服務將是當您在服務端提供web.config元素時,也會更容易。

我的一般猜測是,默認情況下所有的wcf服務都使用wsHttpBinding,它不允許直接調用像我們所做的asmx服務那樣的服務。

您可以使用basicHttpBinding替換wsHttpBinding並禁用服務的安全性,以使服務像您所期望的那樣工作。

請新增約ExampleService.svc結合,它會幫助你得到這個解決快速

希望這將有助於

一些細節
1

通常的做法是創建通過SvcUtil工具的代理類.exe(Visual Studio命令提示符)或「添加服務引用」來使用服務,然後讓您使用代理類的方法調用服務的方法。

本教程應該幫助(它是基於Visual Studio 2005中,你沒有說你用的是什麼版本,但你應該得到一個良好的接地)

http://msdn.microsoft.com/en-us/library/bb332338.aspx#msdnwcfhc_topic6

相關問題