Когда я делаю новое приложение WCF Service Application под названием «WcfService1» в Visual Studio 2013 и сразу же запускаю его, запросы, сделанные клиентом WCF Test, работают безупречно. Не удивительно.Тестирование WCFService1 с помощью Postmen или SoapUI дает 400 Bad Request
Когда я пытаюсь протестировать это же начальное приложение в клиентах REST/SOAP, таких как Postman или SoapUI, я получаю ошибку 400 Bad Request. Что нужно изменить в клиенте REST, таком как Почтальон, чтобы сделать запрос на начальное приложение VS?
Среди других я проверил эти возможности:
1. Исходный код сданным первоначальной заявке службы WCF
[ServiceContract] public interface IService1 { [OperationContract] string GetData(int value); }
Для удобства чтения я не вставить исходный код из всего проекта. Если хотите, вы можете создать его, создав новый проект приложения WCF Service Application в VS.
Ниже вы видите, как я настроил Почтальон и что это дает 400 Bad Request:
2. запрос Raw XML в Почтальон как скопированные из Client Test WCF
Этот вариант не разрешил ошибку. Исходный код нетронутый, как указано выше.
3. Исходный код распространяется с WebInvokeAttribute на операции GetData
[OperationContract] [WebInvoke(Method = "POST", UriTemplate = "/GetData")] string GetData(int value);
Это дополнение не решить эту ошибку. Все настройки в Postman такие же, как и выше; конечно, с/GetData в URL.
4. OperationContractAttribute операции GetData расширен
[OperationContract(Action = "http://www.jorritsteetskamp.nl/wcfservice1")] string GetData(int value);
Я попытался Почтальон с SOAPAction заголовок добавляется, но опять-таки приводит к ошибке 400:
На SO существует несколько вопросы о WCF-сервисах и 400 ошибках Bad Request, но все они кажутся специфичными для приложений и не имеют решения для этого случая. Поскольку эта проблема возникает с исходным приложением, сгенерированным Visual Studio, и работает в тестовом клиенте WCF, я нашел причину для публикации этой проблемы.
Мой вопрос: Что нужно изменить в клиенте REST, таком как почтальон, чтобы сделать запрос к исходному приложению VS?
Любая помощь будет оценена по достоинству.
Спасибо за ваше объяснение, это то, что мне нужно. Для справок в будущем: Мое решение состояло в том, чтобы объединить случаи 2 и 4. Секция заголовка необработанного XML из тестового клиента WCF должна быть заменена реальным заголовком SOAPAction в клиенте REST (случай 4). И действительно URL без GetData. В этом решении нет необходимости настраивать конечную точку WebHttp, поскольку конфигурация по умолчанию .NET отлично. –