HTTP Плохая ошибка Запроса при запросе контракта на обслуживание WCF

Данные - это фактические данные, передаваемые методу обслуживания, например: данные формы. и params содержит провайдера (т.е. REST, Socket.io или Primus), сведения о соединении, аутентифицированные данные пользователя и другую информацию, относящуюся к этой услуге.

Для метода post вы можете использовать метод create (data, params) службы, которую вы вызываете, и выполнять там свою деятельность, например, создавать записи, как показано ниже. [116 ]

app.use('/messages', {
  messages: [],

  create(data, params) {
    this.messages.push(data);
    // Your post activity here
    return Promise.resolve(data);
  }
});

И при использовании почтальона можно использовать URL http: // localhost: 3030 / messages и в теле запроса укажите JSON, который вы хотите передать в качестве данных в метод POST [117 ]

ref: https://docs.feathersjs.com/api/services.html

12
задан Enrico Campidoglio 13 January 2009 в 22:44
поделиться

2 ответа

Я думаю, что узнал, какова проблема.

Если я просматриваю к URL:

http://localhost/myservice/contract

с приложением WcfTestClient я могу успешно получить сервисные метаданные.
Таким образом, ошибка действительно только происходит, когда я запрашиваю URL через веб-браузер.

HTTP Плохая ошибка Запроса прибывает из того, что браузер выпускает HTTP-запрос GET, где содержание сообщения находится в HTTP-заголовках и теле, пуст.
Это точно, на что жалуется WCF mexHttpBinding!

Для получения до сервисного контракта через веб-браузер, необходимо будет явно включить его в сервисном поведении:

<serviceBehaviors>
    <behavior name="MetadataEnabled">
        <serviceMetadata httpGetEnabled="true" />
    </behavior>
</serviceBehaviors>

URL для запроса становится затем:

http://localhost/myservice?wsdl

Так, оказывается, что я был немного слишком быстр в регистрации этого вопроса. Однако я сохраню его так или иначе только для справки.

12
ответ дан 2 December 2019 в 06:46
поделиться

Мне удалось решить проблему «400 неверных запросов», переключив мою службу WCF с работы с Visual Studio Development Server на использование локального веб-сервера IIS (щелкните правой кнопкой мыши проект -> свойства -> вкладка веб - -> переключатель в разделе «Серверы»). Я надеюсь, что это поможет кому-то там, потому что мне потребовалось два дня, чтобы понять это.

3
ответ дан 2 December 2019 в 06:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: