次の方法で共有


WebServiceConnection.Execute メソッド (XPathNavigator, XPathNavigator, XPathNavigator)

DataConnection 基本クラスから継承される既定の Execute メソッドを上書きし、送信するデータのソースや返されたデータの挿入場所を変更したり、返されるエラー テキストの挿入場所を指定したりすることができます。

名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)

構文

'宣言
Public MustOverride Sub Execute ( _
    input As XPathNavigator, _
    output As XPathNavigator, _
    errors As XPathNavigator _
)
'使用
Dim instance As WebServiceConnection
Dim input As XPathNavigator
Dim output As XPathNavigator
Dim errors As XPathNavigator

instance.Execute(input, output, errors)
public abstract void Execute (
    XPathNavigator input,
    XPathNavigator output,
    XPathNavigator errors
)

パラメータ

  • input
    Web サービスの <SOAP:Body> 要素に挿入するために XML ノードに配置された XPathNavigator オブジェクト。指定する XML ノードは、クエリ パラメータとその値の全セットに対応する XML を含んでいる必要があります。

    • クエリ操作として構成されたデータ接続の場合、宣言的な設定、つまり関連付けられた DataSource オブジェクトのクエリ フィールド (<dfs:queryFields> の子孫) は、これによって上書きされます。

    • 送信操作として構成されたデータ接続の場合、部分フラグメント マッピングの全セットがこれによって上書きされます。

    • input パラメータが null として指定されている場合は、宣言的な設定が使用されます。

  • output
    Web サービスによって返される <SOAP:Body> 要素の内容を挿入する XML ノードに配置された XPathNavigator オブジェクト。

    • クエリ操作として構成されたデータ接続の場合、宣言的な設定、つまり関連付けられた DataSource オブジェクトのデータ フィールド (<dfs:dataFields> の子孫) は、これによって上書きされます。

    • 送信操作として構成されたデータ接続の場合、部分フラグメント マッピングの全セットがこれによって上書きされます。

    • クエリ操作として構成されたデータ接続に対して output パラメータが null として指定されている場合は、宣言的な設定が使用されます。データ接続が送信操作として構成されている場合、返されたデータの書き込みは行われません。

  • errors
    Web サービスによって <Fault> 要素で返されるエラー テキストの内容を挿入する XML ノードに配置された XPathNavigator オブジェクト。errors パラメータが null として指定されている場合、エラー データの書き込みは行われません。

例外処理

例外の種類 条件

WebException

Web サービスへのアクセス中にネットワーク エラーが発生しました。

ArgumentNullException

このメソッドに渡されたパラメータは null です。

ArgumentException

このメソッドに渡されたパラメータは有効ではありません。たとえば、型または形式が正しくありません。

コメント

WebServiceConnection オブジェクトが表すデータ接続の動作が実行されると、InfoPath はデータを (クエリ パラメータとして) SOAP エンベロープでラップし、Web サービスに送信します。次に、データ接続は、Web サービスによって返されたデータを SOAP メッセージで取得するか、または失敗した場合はエラー メッセージ データを受け取ります。WebServiceConnection オブジェクトが表す各データ接続は、InfoPath でデータ接続ウィザードを使用してクエリ操作または送信操作として作成されます。

クエリ操作として定義されたデータ接続は特定の DataSource オブジェクトと関連付けられており、それらのオブジェクトからクエリ パラメータ (フォームのデータ ソースの <dfs:queryFields> ノードで定義されているクエリ フィールド内に格納されている) を受け取り、返されたデータ (フォームのデータ ソースの <dfs:dataFields> ノードで定義されているデータ フィールド内) をそれらのオブジェクトに挿入します。

送信操作として定義されたデータ接続では、クエリ パラメータのデータを異なる DataSource サブツリーから取り出すための部分フラグメント マッピングが設定されています。

DataConnection 基本クラスから継承された Execute メソッドは、宣言的に定義された入力 (クエリ パラメータ) と、InfoPath でデータ接続ウィザードを使用して定義された出力場所を使用します。

Execute (XPathNavigator, XPathNavigator, XPathNavigator) メソッドは、上記のパラメータのいずれかまたはすべてを指定するために Execute メソッドの既定のバージョンを上書きします。

このメンバは、現在開いているフォームと同じドメイン内で実行されているフォーム、またはドメインを越えたアクセス許可を付与されているフォームだけがアクセスできます。

この型またはメンバは、Microsoft Office InfoPath 2007 または Web ブラウザで開いているフォームで実行されているコードからのみアクセスできます。

次の例では、3 つの XmlDocument オブジェクトを作成して、Execute メソッドを使用しています。最初の XmlDocument にデータを設定した後、3 つの XPathNavigator オブジェクトを Execute メソッドの input、output、および errors パラメータとして渡すために作成し、メソッドを呼び出します。

// Open connection.
WebServiceConnection wsc = 
   (WebServiceConnection)this.DataConnections["Main query"];

// Create XmlDocuments.
XmlDocument inputDocument = new XmlDocument();
XmlDocument outputDocument = new XmlDocument();
XmlDocument errorsDocument = new XmlDocument();

// Load input document.
inputDocument.LoadXml("<inputValue1>Test</inputValue1><inputValue2>5</inputValue2>");

// Create XPathNavigator objects for documents.
XPathNavigator inputNav = inputDocument.CreateNavigator();
XPathNavigator outputNav = outputDocument.CreateNavigator();
XPathNavigator errorsNav = errorsDocument.CreateNavigator();

// Call Execute method.
wsc.Execute(inputNav, outputNav, errorsNav);
' Open connection.
Dim wsc As WebServiceConnection = _
   DirectCast(Me.DataConnections["Main query"], WebServiceConnection)

' Create XmlDocuments.
Dim inputDocument As XmlDocument = new XmlDocument()
Dim outputDocument As XmlDocument = new XmlDocument()
Dim errorsDocument As XmlDocument = new XmlDocument()

' Load input document.
inputDocument.LoadXml("<inputValue1>Test</inputValue1><inputValue2>5</inputValue2>")

' Create XPathNavigator objects for documents.
Dim inputNav As XPathNavigator = inputDocument.CreateNavigator()
Dim outputNav As XPathNavigator = outputDocument.CreateNavigator()
Dim errorsNav As XPathNavigator = errorsDocument.CreateNavigator()

' Call Execute method.
wsc.Execute(inputNav, outputNav, errorsNav)

関連項目

参照

WebServiceConnection クラス
WebServiceConnection のメンバ
Microsoft.Office.InfoPath 名前空間