2

このエラーが発生します:

(a:6016) EndpointDispatcher での ContractFilter の不一致により、アクション「xxx」を含むメッセージを受信側で処理できません。これは、コントラクトの不一致 (送信者と受信者の間のアクションの不一致) または送信者と受信者の間のバインディング/セキュリティの不一致が原因である可能性があります。送信者と受信者が同じコントラクトと同じバインド (メッセージ、トランスポート、なしなどのセキュリティ要件を含む) を持っていることを確認します。

そして、プロバイダーの WSDL で使用されているバインディングが次のようになっていることに気付きました。

BasicHttpBinding_IxFlow

Savon Controller でそれを指定する必要があると思います。どうやってやるの?

どうも。

4

1 に答える 1

0

エラー メッセージはあまり役に立たないので (さまざまなエラーに対してこのメ​​ッセージを受け取りました)、いくつかの提案を以下に示します。

  • 別のクライアントからサービスを呼び出して (または単に xml を生成して)、XML を記録してみてください。
  • Savonrb XML と比較してください (コンソールに出力されます。書式は整っていませんが、十分です)。
  • 別のクライアントから取得した XML を savon 経由で送信します。これは機能しますか?(client#request メソッドのブロック版でカスタム XML を指定できます)
  • 見てください(これは私のサービスの問題でした):
    • パラメータの順序
    • パラメータの名前空間
    • SOAPAction ヘッダ(ブロック版でも指定可能)
于 2011-07-26T08:23:29.217 に答える