Вызов веб-сервиса: что я тут не так делаю? - PullRequest
1 голос
/ 16 марта 2011

У меня есть следующий код для использования службы, которая не работает для меня. Кто-нибудь может подсказать, что я могу сделать, чтобы понять, что происходит не так? Я знаю, что это расплывчато, поэтому, пожалуйста, скажите, что вам нужно, чтобы дать какие-либо предложения.

Адрес: 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));

СООБЩЕНИЕ ОБ ОШИБКЕ: При посещении этого URL напрямую: 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

большое спасибо,

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Обычной практикой будет создание прокси-класса через svcutil.exe (командная строка visual studio) или «добавление ссылки на службу» для использования службы, а затем использование методов прокси-класса для вызова службы.методы.

Это руководство должно помочь (оно основано на Visual Studio 2005, вы не сказали, какую версию вы используете, но вы должны получить хорошее обоснование)

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

0 голосов
/ 16 марта 2011

Поскольку устранение неполадок в службах wcf будет намного проще, если вы предоставите элемент web.config также на стороне службы.

Здесь я обычно предполагаю, что все службы wcf по умолчанию используют wsHttpBinding, который не разрешает прямой вызовсервиса, подобного сервису asmx, который мы делаем.

Вы можете заменить wsHttpBinding на basicHttpBinding и отключить защиту для вашего сервиса, чтобы сервис работал так, как вы ожидаете.

Пожалуйста, добавьте ещеподробности о привязке ExampleService.svc, и она поможет вам быстро решить эту проблему

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...