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 として指定されている場合、エラー データの書き込みは行われません。
例外処理
例外の種類 | 条件 |
---|---|
Web サービスへのアクセス中にネットワーク エラーが発生しました。 |
|
このメソッドに渡されたパラメータは null です。 |
|
このメソッドに渡されたパラメータは有効ではありません。たとえば、型または形式が正しくありません。 |
コメント
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 名前空間