2017-10-31 23 views
0

私は、soap action属性を使用せずにSOAPサービスと通信する既存のSOAPクライアントを持っています。現在、この石鹸サービスをC#WCFサービスに置き換えました。このサービスでは、デフォルトで石鹸の操作が必要です。 WSDLを再度インポートするときに問題はありません。しかし、私は後方互換性の理由のために石鹸クライアントを再生成したくない。今日の午後私は問題を解決する記事を見つけました:http://spikesoftware.azurewebsites.net/?p=151#comment-396784WCF Soap Services Without Soap Action

問題は、私のC#クライアントがほとんどの石鹸の行動を呼び出すことができないということです。私はこれがもう働かない理由を見つけることができません。 Iは、受信 エラーが次

メッセージ:

System.ServiceModel.FaultException`1 [System.ServiceModel.ExceptionDetail] :操作 'GetWorkshops' の要求メッセージのボディをデシリアライズ中にエラーが発生しまし。 OperationFormatterで無効なメッセージ が見つかりました。 'GetWorkshops'という名前のノードタイプ 'Element'と 'http://tempuri.org/'という名前空間を見つける予定です。見つかったノードタイプ 名を持つ「要素」「GetWorkshops_V2」と名前空間 「http://tempuri.org/

このようなこれらの2つの方法の動作契約:

[OperationContract(Action = "GetWorkshops", Name = "GetWorkshops")] 
    WorkshopResponse GetWorkshops(<some parameters>) 

[OperationContract (Action = "GetWorkshops_V2", Name = "GetWorkshops_V2")] 
    WorkshopResponse_V2 GetWorkshopsV2(<some parameters>) 

は、誰かが私を助けることができますか?

+0

結合は、web.configファイルには何が追加されsvcutil使用してクライアントプロキシを生成しますか? –

+0

私のバインディングはbasicHttpBindingです –

答えて

1

代わりbasicHttpBinding

  • のwsHttpBindingを使用してください

    1. 、物事のカップルを試してみることができます
  • +0

    私はあなたの推奨手順に従いました。しかし、それは私の問題をその瞬間に解決しませんでした。私がこれをした後、何がうまくいかなかったかを実際の問題に深く浸透させました。その後、問題が、私が書いたカスタムメッセージディスパッチャのバグによって引き起こされたことがわかりました。今はうまくいきます。ご協力ありがとうございました。 –