次の方法で共有


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
    型: System.Xml.XPath.XPathNavigator
    Web サービスの <SOAP:Body> 要素に挿入するために XML ノードに配置された XPathNavigator オブジェクト。指定する XML ノードは、クエリ パラメーターとその値の全セットに対応する XML を含んでいる必要があります。
    • クエリ操作として構成されたデータ接続の場合、宣言的な設定、つまり関連付けられた DataSource オブジェクトのクエリ フィールド (<dfs:queryFields> の子孫) は、これによって上書きされます。

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

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

  • output
    型: System.Xml.XPath.XPathNavigator
    Web サービスによって返される <SOAP:Body> 要素の内容を挿入する XML ノードに配置された XPathNavigator オブジェクト。
    • クエリ操作として構成されたデータ接続の場合、宣言的な設定、つまり関連付けられた DataSource オブジェクトのデータ フィールド (<dfs:dataFields> の子孫) は、これによって上書きされます。

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

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

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

例外

例外 条件
WebException

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

ArgumentNullException

このメソッドに渡されたパラメーターは null 参照 (Visual Basic ではNothing ) です。

ArgumentException

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

解説

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

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

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

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

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

このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler または 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 メンバー

Execute オーバーロード

Microsoft.Office.InfoPath 名前空間