WebServiceConnection.Execute 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重写从DataConnection基类继承的默认Execute()方法,以允许指定要提交的不同数据源、要插入返回的数据的不同位置或插入返回的任何错误文本的位置。
public:
abstract void Execute(System::Xml::XPath::XPathNavigator ^ input, System::Xml::XPath::XPathNavigator ^ output, System::Xml::XPath::XPathNavigator ^ errors);
public abstract void Execute (System.Xml.XPath.XPathNavigator input, System.Xml.XPath.XPathNavigator output, System.Xml.XPath.XPathNavigator errors);
override this.Execute : System.Xml.XPath.XPathNavigator * System.Xml.XPath.XPathNavigator * System.Xml.XPath.XPathNavigator -> unit
Public MustOverride Sub Execute (input As XPathNavigator, output As XPathNavigator, errors As XPathNavigator)
参数
- input
- XPathNavigator
一个 XPathNavigator 对象,该对象位于要插入 Web <服务的 SOAP:Body> 元素的 XML 节点。 指定的 XML 节点应包含对应于完整的查询参数集及其相应值的 XML。对于配置为查询操作的数据连接,这将覆盖声明性设置,该设置是关联DataSource对象的 dfs:queryFields>) 的查询字段 (后代<。对于配置为提交操作的数据连接,这将覆盖完整的部分片段映射集。input
如果将参数指定为 null 引用 (Visual Basic) 则使用声明性设置。
- output
- XPathNavigator
一个 XPathNavigator 对象,该对象位于要插入 Web 服务返回的 <SOAP:Body> 元素内容的 XML 节点上。 对于配置为查询操作的数据连接,这将替代声明性设置,该设置是关联DataSource对象的 dfs:dataFields>) 后代 (数据字段<。对于配置为提交操作的数据连接,这将覆盖完整的部分片段映射集。如果参数output
指定为空引用 (Visual Basic 中无任何) 配置为查询操作的数据连接,则使用声明性设置。 如果将数据连接配置为提交操作,则根本不会写入返回的数据。
- errors
- XPathNavigator
一个 XPathNavigator 对象,该对象位于 XML 节点,如果操作失败,则插入 Web 服务在 Fault> 元素中<返回的错误文本内容。
errors
如果将参数指定为 null 引用 (Visual Basic) 中 Nothing,则根本不写入错误数据。
例外
尝试访问 Web 服务时出现网络错误。
传递给此方法的参数是 null 引用, (Visual Basic) 中没有。
传递给此方法的参数无效。 例如,它们的类型或格式有误。
示例
在以下示例中,将创建三个 XmlDocument 对象以使用 Execute 方法。 第一个 XmlDocument 填充了数据,然后创建三个 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 对象所代表的数据连接的操作时,InfoPath 会将数据(以查询参数形式)封装在 SOAP 信封中,然后再将数据提交到 Web 服务。 数据连接随后将在 SOAP 消息中获取 Web 服务返回的数据,或在失败的情况下以错误消息数据的形式获取返回的数据。 WebServiceConnection 对象表示的每个数据连接都是使用数据连接向导作为查询操作或提交操作在 InfoPath 中创建的。
定义为查询操作的数据连接与特定的 DataSource 对象相关联,从该对象接收查询参数 (包含在表单数据源) 的 dfs:queryFields> 节点中<定义的查询字段内,并将返回的数据 (插入到表单数据源) 的 dfs:dataFields> 节点中<定义的数据字段中。
定义为提交操作的数据连接建立有部件片断映射,用于从不同 DataSource 子树中拉取查询参数的数据。
继承自 DataConnection 基类的默认 Execute 方法使用声明式定义的输入 (查询参数) ,以及使用 InfoPath 中的数据连接向导定义的输出位置。
Execute (XPathNavigator, XPathNavigator, XPathNavigator) 方法将覆盖 Execute 方法的默认版本,以允许指定上述的任意或全部参数。
此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。
可以通过 Microsoft InfoPath Filler 或 Web 浏览器内打开的表单中运行的代码访问此类型或成员。