Как указать BasicHttpBinding с Savon (RoR) - PullRequest
2 голосов
/ 29 июня 2011

Я получаю эту ошибку:

(a: 6016) Сообщение с действием «xxx» не может быть обработано в приемнике, из-за несоответствия ContractFilter в EndpointDispatcher. Это может быть из-за несоответствия контракта (несоответствующие действия между отправителем и получатель) или привязка / безопасность несоответствие между отправителем и получатель. Проверьте отправителя и получатель имеет тот же контракт и та же привязка (включая безопасность требования, например Сообщение, Транспорт, Нет).

И я заметил, что привязка, используемая WSDL моего провайдера:

BasicHttpBinding_IxFlow

Полагаю, мне нужно указать это в моем контроллере Savon. Как я могу это сделать?

Thx.

1 Ответ

0 голосов
/ 26 июля 2011

Поскольку сообщение об ошибке не очень полезно (получил это за различные ошибки), вот несколько советов:

  • попробуйте вызвать службу (или просто сгенерировать xml) из другого клиента и записать XML
  • сравнить с Savonrb XML (он выводит его на консоль, не очень хорошо отформатированный, но достаточно хороший)
  • отправьте захваченный вами XML-файл из другого клиента через savon. Это работает? (вы можете указать пользовательский XML с блочной версией метода client # request)
  • Посмотрите на (это была проблема с моим сервисом):
    • Порядок параметров
    • Пространство имен параметров
    • заголовок SOAPAction (вы также можете указать его в блочной версии)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...