1

私は .NET 4 フレームワークを使用しており、WCF ワークフロー サービス アプリケーションを作成しました。

VS の別のインスタンスで実行している SOAP Web サービス (.NET 3.5) を使用したいと考えています。公開されている唯一のメソッドは次のとおりです。

[WebMethod]
public string Reverse(string input)
{
    char[] chars = input.ToCharArray();
    Array.Reverse(chars);
    return new string(chars);
}

次の手順を使用して、ワークフローにサービスを追加しました。

  1. サービス参照を追加
  2. WSDL が提供されている (期待どおりに操作が [操作] ボックスに表示される)
  3. [OK] をクリックしました
  4. ツールボックスにサービスが表示されるようにソリューションを構築する
  5. サービスをツールボックスからワークフローにドラッグします

しかし、ワークフローでサービスのプロパティを見ると、入力引数を指定したり、サービスの呼び出し結果を格納する場所を指定したりする方法がありません。

Body:InArgument<ReverseRequestBodyandなどのあいまいなパラメーターを指定するオプションしかありoutBody:OutArgument<ReverseResponseBodyません (いずれも文字列ではありません)。

ワークフロー内のサービスのプロパティを示すスクリーンショットを次に示します。

ここに画像の説明を入力

したがって、私の質問は次のとおりです。

文字列を入力引数として指定して (使用されるように) SOAP サービスを使用し、その結果をワークフロー変数に割り当てることはできますか?

つまり、上の図の と を Web サービスの引数と戻り値に対応させるbodyにはどうすればよいのでしょうか?outBody

4

1 に答える 1

1

ここでは、WCFサービスではなくASMXスタイルのWebサービスを使用していると思います。

その場合、サービス参照の追加は機能しますが、最適なことを行うことはできません。Bodyをaに設定しnew ReverseRequestBody()、本文の一部として入力文字列を指定することで、動作させることができるはずです。出力の場合と同じようReverseResponseBodyに、応答本文の一部として結果の文字列が含まれます。

于 2012-11-14T08:33:19.637 に答える