1

私はWCFクライアントとうまく連携するWCFサービスを持っていますが、それを使用するために必要な最も重要なクライアントはASMXクライアントです。WCFサービスをASMXクライアントと互換性を持たせるにはどうすればよいですか?

私はこのガイドに従いましたが、役に立ちませんでした(私はそれを正しく実装したことを100%確信していますが)

以下は私のServiceContractとOperationContractsです。私のWeb.configにはMEXエンドポイントがありません。

  <ServiceContract()>
<XmlSerializerFormat(Use:=OperationFormatUse.Literal, Style:=OperationFormatStyle.Document)>
Public Interface racoSMS
    <OperationContract(Action:="http://tempuri.org/ReceiveSMS", ReplyAction:="http://tempuri.org/ReceiveSMS")>
    Function ReceiveSMS(ByVal securityKey As String, ByVal from As String, ByVal message As String) As ServiceResult
    <OperationContract(Action:="http://tempuri.org/Test", ReplyAction:="http://tempuri.org/Test")>
    Function Test(ByVal securityKey As String) As ServiceResult
End Interface
4

1 に答える 1

1

あなたの質問はかなり曖昧です。注意すべきいくつかのこと:

  • はい、WCFを使用して、ASMXスタイルのWebサービスと互換性のあるサービスを作成できます。
  • BasicHttpBindingの使用を強くお勧めします。
  • トランスポートセキュリティ(SSL)は可能であるはずですが、それ以外は派手な機能に注意してください(たとえば、ASMXのサポートメッセージセキュリティはないと思います)。
  • データおよびサービスコントラクトの名前空間に注意を払い、ASMX側が期待するものであることを確認します(またはその側のコードを変更する準備をします)。ActionおよびReplyActionと同じです(サンプルコードから、あなたがそれを処理したことがわかります)。
  • 必要なシリアル化タイプとSOAPスタイルは、実際にクライアントが何を期待しているかによって異なります。それに応じて属性を使用してください。
  • ASMXをいくつかの機能で終了させるWebサービスの機能強化について聞いたことがありますが、自分で使用したことはありません。

現状では、これはあなたの質問に対するほとんどの答えだと思います。あなたはこれをすべて「役に立たない」と言いましたが、私たちがあなたを助けるために、より具体的にする必要があります(ここで、またはおそらく新しい質問でさえ)。

于 2012-09-18T19:57:06.020 に答える