Web サービス アクティビティの構成

  1. マップにアクティビティの追加します。

    デフォルトでは、アクティビティの [プロパティ] パネルで [構成] タブが開きます。

  2. アクティビティのデフォルトの [名前] を意味のある名前に変更します。
  3. [タイプ] リストで、[一般] > [Web サービス] を選択します。
  4. [パラメータ][構成] をクリックします。[Web サービス アクティビティの構成] ダイアログ ボックスが表示されます。
    関連するパラメータのリストが表示されます。
    • Web サービスの呼び出しにクラス内のクラスが含まれる場合、使用可能なすべてのレベルのクラスが表示されます。

    • クラスが再帰的である場合、3 つのレベルのクラスのみが表示されます。

    • Web サービスの呼び出しに配列内の配列が含まれる場合、使用可能なすべてのレベルの配列が表示されます。

    1. [Web サービス] リストで、Web サービスを選択します。

      Web サービス レファレンスをホワイトリストに登録できます。[システム設定ですべてを許可] がオフになっている場合、ホワイトリストに登録された Web サービス レファレンスのみを使用できます。サーバー URL とデータベース接続文字列の構成を参照してください。

      Web サービスに関連付けられたクラスとメソッドは、[クラス] リストと [メソッド] リストに入力されます。
    2. 動的な値または静的な値を使用して、変数をパラメータにマップします。
      アセット バイナリ データの転送に役立てるために、文字列変数を byte[] 配列パラメータへの入力または出力としてマップします。
    3. [OK] をクリックします。
  5. プロセス マップを [保存] します。
  6. このアクティビティの他のプロパティを構成します。「アクティビティ プロパティ」を参照してください。

その他の情報

Web サービス アクティビティを実行すると、Web サービスの WSDL に対して Web サービス プロキシが生成されます。また、複合タイプの配列に複合タイプの配列でもある要素が含まれ、要素が 1 つだけ存在する場合、以下が発生する可能性があります。

  • Unable to generate a temporary class (result=1). (一時クラスを生成できません (結果=1)。)
  • エラー CS0029: Cannot implicitly convert type 'CustomTypeXXX' to 'CustomTypeXXX[]' (タイプ 'CustomTypeXXX' を 'CustomTypeXXX[]' に暗黙的に変換することはできません)
  • エラー CS0030: Cannot implicitly convert type 'CustomTypeXXX' to 'CustomTypeXXX[]' (タイプ 'CustomTypeXXX[]' を 'CustomTypeXXX' に暗黙的に変換することはできません)

これらの問題を解決するには、次の回避策のいずれかを使用します。

  • 2 番目のオプション要素が定義に含まれるように、目的の WSDL のデータ タイプを変更できます。次の要素を追加できます。
    <xs:element min0ccurs="0" name="dummyElement"nillable="true"type="xs"string"/>
  • 境界属性が要素の一部ではなく複合タイプの一部になるように、目的の WSDL の複合タイプを変更できます。つまり、minOccurs 属性と maxOccurs 属性を複合タイプに移動して、それらを要素から削除できます。