2

我收到此错误:

(a:6016) 由于 EndpointDispatcher 的 ContractFilter 不匹配,接收方无法处理带有 Action 'xxx' 的消息。这可能是因为合约不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。

我注意到我的提供者的 WSDL 使用的绑定是:

BasicHttpBinding_IxFlow

我想我需要在我的 Savon 控制器中指定它。我怎样才能做到这一点?

谢谢。

4

1 回答 1

0

由于错误消息并没有真正的帮助(由于各种错误而收到此错误消息),因此这里有一些建议:

  • 尝试从另一个客户端调用服务(或仅生成 xml)并记录 XML
  • 与 Savonrb XML 进行比较(它将其打印到控制台,格式不是很漂亮但足够好)
  • 通过 savon 发送您从另一个客户端捕获的 XML。这行得通吗?(您可以使用 client#request 方法的块版本指定自定义 XML)
  • 看(这是我的服务的问题):
    • 参数顺序
    • 参数的命名空间
    • SOAPAction 标头(也可以在块版本中指定)
于 2011-07-26T08:23:29.217 回答