(XPathNavigator, XPathNavigator, XPathNavigator) del método WebServiceConnection.Execute
Anula el método Execute predeterminado heredado de la clase base DataConnection para que se pueda especificar otro origen de datos para el envío, otra ubicación para insertar los datos devueltos o una ubicación para insertar el texto de error que se devuelva.
Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en Microsoft.Office.InfoPath.dll)
Sintaxis
'Declaración
Public MustOverride Sub Execute ( _
input As XPathNavigator, _
output As XPathNavigator, _
errors As XPathNavigator _
)
'Uso
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
)
Parámetros
input
Tipo: System.Xml.XPath.XPathNavigatorObjeto XPathNavigator ubicado en el nodo XML que se va a insertar en el elemento <SOAP:Body> del servicio web. El nodo XML especificado debe contener el código XML correspondiente al conjunto completo de parámetros de consulta y sus valores correspondientes.
Para una conexión de datos configurada como operación de consulta, esto anula la configuración declarativa, que está en los campos de consulta (descendientes de <dfs:queryFields>) del objeto DataSource asociado.
Para una conexión de datos configurada como operación de envío, esto anula todo el conjunto de asignaciones de fragmentos de partes.
Si el parámetro input tiene el valor una referencia null (Nothing en Visual Basic), se usa la configuración declarativa.
output
Tipo: System.Xml.XPath.XPathNavigatorObjeto XPathNavigator ubicado en el nodo XML en que se va a insertar el contenido del elemento <SOAP:Body> devuelto por el servicio web.
En el caso de una conexión de datos configurada como operación de consulta, esto invalida la configuración declarativa, que constituye los campos de datos (descendientes de <dfs:dataFields>) del objeto DataSource asociado.
Para una conexión de datos configurada como operación de envío, esto anula todo el conjunto de asignaciones de fragmentos de partes.
Si el parámetro output tiene el valor una referencia null (Nothing en Visual Basic) para una conexión de datos configurada como operación de búsqueda, se usa la configuración declarativa. Si la conexión de datos está configurada como operación de envío, los datos devueltos no se escriben.
errors
Tipo: System.Xml.XPath.XPathNavigatorObjeto XPathNavigator ubicado en el nodo XML en que se va a insertar el contenido del texto de error devuelto en el elemento <Fault> por el servicio web, si se produce un error en la operación. Si el parámetro errors tiene el valor una referencia null (Nothing en Visual Basic), los datos del error no se escriben.
Excepciones
Excepción | Condición |
---|---|
WebException | Se ha producido un error de red al tratar de tener acceso al servicio web. |
ArgumentNullException | Los parámetros pasados a este método son una referencia null (Nothing en Visual Basic). |
ArgumentException | Los parámetros que se han pasado a este método no son válidos. Por ejemplo, son de un tipo o formato no válido. |
Comentarios
Al ejecutar la acción de una conexión de datos representada por un objeto WebServiceConnection, InfoPath pone los datos (como parámetros de consulta) en un sobre SOAP y los envía al servicio web. A continuación, la conexión de datos obtiene los datos devueltos por el servicio web en el mensaje SOAP o, si se produce un error, como datos de mensaje de error. Cada conexión de datos representada por un objeto WebServiceConnection se crea en InfoPath utilizando el Asistente para la conexión de datos como una operación de consulta o una operación de envío.
Las conexiones de datos definidas como operaciones de consulta se asocian a un objeto DataSource específico del que reciben parámetros de consulta (que están en campos de consulta definidos en el nodo <dfs:queryFields> de origen de datos del formulario) y en el que insertan los datos devueltos (en los campos de datos definidos en el nodo <dfs:dataFields> del origen de datos del formulario).
Las conexiones de datos definidas como operaciones de envío tienen asignaciones de fragmentos de partes establecidas para extraer los datos para los parámetros de consulta desde distintos subárboles DataSource.
El método Execute predeterminado heredado de la clase base DataConnection usa los datos de entrada definidos declarativamente (parámetros de consulta) y la ubicación de salida definidos mediante el Asistente para la conexión de datos en InfoPath.
El método Execute (XPathNavigator, XPathNavigator, XPathNavigator) anula la versión predeterminada del método Execute para que se pueda especificar cualquiera de los parámetros descritos arriba o todos ellos.
Únicamente se puede acceder a este miembro con formularios que se ejecuten en el mismo dominio que el formulario que está actualmente abierto o con formularios a los que se hayan concedido permisos entre dominios.
Se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler o en un explorador web.
Ejemplos
En el ejemplo siguiente, se crean tres objetos XmlDocument para que funcionen con el método Execute. El primer objeto XmlDocument se rellena con datos; a continuación, se crean tres objetos XPathNavigator para pasarlos como los parámetros input, output y errors del método Execute y se llama a dicho método.
// 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)