Freigeben über


WebServiceConnection.Execute-Methode (XPathNavigator, XPathNavigator, XPathNavigator)

Setzt die standardmäßige Execute-Methode außer Kraft, die von der DataConnection-Basisklasse geerbt wird, um das Angeben einer anderen Datenquelle zum Senden, eines anderen Speicherorts zum Einfügen der zurückgegebenen Daten oder eines Speicherorts zum Einfügen von zurückgegebenem Fehlertext zu ermöglichen.

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Syntax

'Declaration
Public MustOverride Sub Execute ( _
    input As XPathNavigator, _
    output As XPathNavigator, _
    errors As XPathNavigator _
)
'Usage
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
)

Parameter

  • input
    Ein XPathNavigator-Objekt an dem XML-Knoten zum Einfügen in das <SOAP:Body>-Element des Webdienstes. Der angegebene XML-Knoten sollte XML enthalten, die dem vollständigen Satz der Abfrageparameter und ihrer zugehörigen Werte entspricht.

    • Für eine als Abfragevorgang konfigurierte Datenverbindung wird hierdurch die deklarative Einstellung außer Kraft gesetzt, also die Abfragefelder (untergeordnete Elemente von <dfs:queryFields>) des zugeordneten DataSource-Objekts.

    • Für eine als Sendevorgang konfigurierte Datenverbindung wird hierdurch der vollständige Satz von partFragment-Zuordnungen außer Kraft gesetzt.

    • Wenn der input-Parameter als null angegeben ist, werden die deklarativen Einstellungen verwendet.

  • output
    Ein XPathNavigator-Objekt an dem XML-Knoten, unter dem der vom Webdienst zurückgegebene Inhalt des <SOAP:Body>-Elements einzufügen ist.

    • Für eine als Abfragevorgang konfigurierte Datenverbindung wird hierdurch die deklarative Einstellung außer Kraft gesetzt, also die Datenfelder (untergeordnete Elemente von <dfs:dataFields>) des zugeordneten DataSource-Objekts.

    • Für eine als Sendevorgang konfigurierte Datenverbindung wird hierdurch der vollständige Satz von partFragment-Zuordnungen außer Kraft gesetzt.

    • Wenn der output-Parameter für eine als Abfragevorgang konfigurierte Datenverbindung als null angegeben ist, werden die deklarativen Einstellungen verwendet. Wenn die Datenverbindung als Sendevorgang konfiguriert ist, werden die zurückgegebenen Daten gar nicht geschrieben.

  • errors
    Ein XPathNavigator-Objekt an dem XML-Knoten, unter dem der Inhalt von Fehlertext einzufügen ist, der durch den Webdienst im <Fault>-Element zurückgegeben wird, falls ein Fehler bei dem Vorgang auftritt. Wenn der errors-Parameter als null angegeben ist, werden die Fehlerdaten gar nicht geschrieben.

Ausnahmen

Ausnahmetyp Bedingung

WebException

Ein Netzwerkfehler ist bei dem Versuch aufgetreten, auf den Webdienst zuzugreifen.

ArgumentNullException

Die an diese Methode übergebenen Parameter sind null.

ArgumentException

Die an diese Methode übergebenen Parameter sind ungültig. Sie weisen z. B. den falschen Typ oder das falsche Format auf.

Hinweise

Wenn die Aktion einer Datenverbindung, die von einem WebServiceConnection-Objekt dargestellt wird, ausgeführt wird, bindet InfoPath die Daten (als Abfrageparameter) in einen SOAP-Umschlag ein und sendet sie dann an den Webdienst. Die Datenverbindung erhält die vom Webdienst zurückgegebenen Daten dann in der SOAP-Meldung oder, im Falle eines Fehlers, als Fehlermeldungsdaten. Jede Datenverbindung, die von einem WebServiceConnection-Objekt dargestellt wird, wird in InfoPath mithilfe desDatenverbindungs-Assistenten als Abfragevorgang oder als Sendevorgang erstellt.

Als Abfragevorgänge definierte Datenverbindungen sind einem bestimmten DataSource-Objekt zugeordnet, von dem sie Abfrageparameter erhalten (die in Abfragefeldern enthalten sind, die im <dfs:queryFields>-Knoten der Datenquelle des Formulars definiert sind) und in das sie die zurückgegebenen Daten einfügen (in die Datenfelder, die im <dfs:dataFields>-Knoten der Datenquelle des Formulars definiert sind).

Für als Sendevorgang definierte Datenverbindungen sind partFragment-Zuordnungen eingerichtet, um die Daten für die Abfrageparameter von unterschiedlichen DataSource-Unterstrukturen mithilfe von Pull zu übertragen.

Die standardmäßige Execute-Methode, die von der DataConnection-Basisklasse geerbt wird, verwendet den deklarativ definierten Eingabe- (Abfrageparameter) und Ausgabespeicherort, der mithilfe desDatenverbindungs-Assistenten in InfoPath definiert wird.

Die Execute (XPathNavigator, XPathNavigator, XPathNavigator)-Methode setzt die Standardversion der Execute-Methode außer Kraft, um das Angeben der oben beschriebenen Parameter zu ermöglichen.

Auf den Member kann nur über Formulare zugegriffen werden, die in derselben Domäne wie das zurzeit geöffnete Formular ausgeführt werden, oder über Formulare, denen domänenübergreifende Berechtigungen erteilt wurden.

Auf diesen Typ oder diesen Member kann über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 oder einem Webbrowser geöffnet wurden.

Beispiel

Im folgenden Beispiel werden drei XmlDocument-Objekte für die Verwendung mit der Execute-Methode erstellt. Das erste wird mit Daten aufgefüllt, dann werden drei XPathNavigator-Objekte zum Übergeben als Parameter input, output und errors der Execute-Methode erstellt, und die Methode wird aufgerufen.

// 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)

Siehe auch

Referenz

WebServiceConnection-Klasse
WebServiceConnection-Member
Microsoft.Office.InfoPath-Namespace