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
웹 서비스의 <SOAP:Body> 요소에 삽입할 XML 노드에 배치되는 XPathNavigator 개체입니다. 지정된 XML 노드에는 전체 쿼리 매개 변수 집합 및 각 매개 변수의 값에 해당하는 XML이 포함되어야 합니다.데이터 연결이 쿼리 작업으로 구성된 경우에는 선언적 설정, 즉 연결된 DataSource 개체의 쿼리 필드(<dfs:queryFields>의 하위 요소)를 재정의합니다.
데이터 연결이 전송 작업으로 구성된 경우에는 전체 요소 조각 매핑 집합을 재정의합니다.
input 매개 변수가 Null 참조(Visual Basic의Nothing )로 지정된 경우에는 선언적 설정이 사용됩니다.
- output
형식: System.Xml.XPath.XPathNavigator
웹 서비스에서 반환되는 <SOAP:Body> 요소의 내용을 삽입할 XML 노드에 배치되는 XPathNavigator 개체입니다.데이터 연결이 쿼리 작업으로 구성된 경우에는 선언적 설정, 즉 연결된 DataSource 개체의 데이터 필드(<dfs:dataFields>의 하위 요소)를 재정의합니다.
데이터 연결이 전송 작업으로 구성된 경우에는 전체 요소 조각 매핑 집합을 재정의합니다.
쿼리 작업으로 구성된 데이터 연결에 대해 output 매개 변수가 Null 참조(Visual Basic의Nothing )로 지정되면 선언적 설정이 사용되고, 데이터 연결이 전송 작업으로 구성된 경우에는 반환 데이터가 기록되지 않습니다.
- errors
형식: System.Xml.XPath.XPathNavigator
작업이 실패할 경우 웹 서비스에서 반환하는 <Fault> 요소의 오류 텍스트 내용을 삽입할 XML 노드에 배치되는 XPathNavigator 개체입니다. errors 매개 변수가 Null 참조(Visual Basic의Nothing )로 지정되면 오류 데이터가 기록되지 않습니다.
예외
예외 | 조건 |
---|---|
WebException | 웹 서비스에 액세스하는 동안 네트워크 오류가 발생했습니다. |
ArgumentNullException | 이 메서드에 전달된 매개 변수가 Null 참조(Visual Basic의Nothing )입니다. |
ArgumentException | 이 메서드에 전달된 매개 변수가 유효하지 않습니다. 예를 들면 유형이나 형식이 잘못되었습니다. |
주의
WebServiceConnection 개체가 나타내는 데이터 연결의 작업이 실행되면 InfoPath에서는 해당 데이터를 쿼리 매개 변수로 사용하여 SOAP Envelope에 래핑한 후 웹 서비스로 전송합니다. 그러면 데이터 연결을 통해 웹 서비스에서 반환하는 SOAP 메시지의 데이터를 가져오거나, 오류가 발생할 경우 오류 메시지 데이터를 가져옵니다. WebServiceConnection 개체가 나타내는 각 데이터 연결은 InfoPath에서 데이터 연결 마법사를 사용하여 쿼리 작업 또는 전송 작업으로 만들어집니다.
쿼리 작업으로 정의된 데이터 연결은 쿼리 매개 변수(양식의 데이터 원본에서 <dfs:queryFields> 노드에 정의된 쿼리 필드에 포함)를 제공하고 반환된 데이터(양식의 데이터 원본에서 <dfs:dataFields> 노드에 정의된 데이터 필드에 포함)가 삽입되는 특정 DataSource 개체와 연결됩니다.
전송 작업으로 정의된 데이터 연결에는 다양한 DataSource 하위 트리에서 쿼리 매개 변수 데이터를 가져오도록 요소 조각 매핑이 설정되어 있습니다.
DataConnection 기본 클래스에서 상속된 기본 Execute 메서드는 선언적으로 정의된 입력(쿼리 매개 변수) 및 InfoPath의 데이터 연결 마법사를 사용하여 정의된 출력 위치를 사용합니다.
Execute (XPathNavigator, XPathNavigator, XPathNavigator) 메서드는 위에서 설명한 매개 변수의 일부 또는 전체를 지정할 수 있도록 기본 버전의 Execute 메서드를 재정의합니다.
이 멤버는 현재 열려 있는 양식과 같은 도메인에서 실행하는 양식 또는 도메인 간 권한이 부여된 양식에서만 액세스할 수 있습니다.
이 형식 또는 멤버는 Microsoft InfoPath Filer 또는 웹 브라우저에서 연 양식에서 실행되는 코드에서 액세스할 수 있습니다.
예
다음 예제에서는 Execute 메서드에 사용할 3개의 XmlDocument 개체를 만듭니다. 첫 번째 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)