Sub SendJobDeliveryStatusRequest() 'Note: This code is common for all commands: Dim XOA As EMsgAPIJobDeliveryStatus200810.XOA = New EMsgAPIJobDeliveryStatus200810.XOA Dim request As EMsgAPIJobDeliveryStatus200810.Request = New EMsgAPIJobDeliveryStatus200810.Request Dim authentication As EMsgAPIJobDeliveryStatus200810.Authentication = New EMsgAPIJobDeliveryStatus200810.Authentication Dim xddsauth As EMsgAPIJobDeliveryStatus200810.XDDSAuthType = New EMsgAPIJobDeliveryStatus200810.XDDSAuthType 'Dim jobrequest As EMsgAPIJobDeliveryStatus200810.JobSubmitRequest = New EMsgAPIJobDeliveryStatus200810.JobSubmitRequest ' Set the URL XOA.Url = GetRequestUrl() ' Build the SOAP Header xddsauth.RequesterID = API_Demo.txtUserID.Text 'UID xddsauth.Password = API_Demo.txtPassword.Text 'Password authentication.XDDSAuth = xddsauth request.Authentication = authentication request.ReceiverKey = GetRequestUrl() request.ResultRequired = EMsgAPIJobDeliveryStatus200810.RequiredType.yes request.RequestID = "Test User" XOA.RequestValue = request If API_Demo.chkUseProxyTrace.Checked Then XOA.Proxy = New System.Net.WebProxy("http://localhost:8080") End If 'Dim doctype As EMsgAPIJobDeliveryStatus200810.DocumentType = New EMsgAPIJobDeliveryStatus200810.DocumentType 'Dim joboptions As EMsgAPIJobDeliveryStatus200810.JobOptionsType = New EMsgAPIJobDeliveryStatus200810.JobOptionsType Dim CustomerReference As New EMsgAPIJobDeliveryStatus200810.EncodableStringType CustomerReference.Value = "XOA MessageREACH Job" 'joboptions.CustomerReference = CustomerReference 'joboptions.BillingCode = CustomerReference 'Specific code for this command: Dim DeliveryResult As New EMsgAPIJobDeliveryStatus200810.JobDeliveryStatusResult Dim DeliveryRequest As New EMsgAPIJobDeliveryStatus200810.JobDeliveryStatusRequest Dim JobId(0) As EMsgAPIJobDeliveryStatus200810.JobIdType 'Dim myStatusOptions As EMsgAPIJobDeliveryStatus200810.StatusOptionsType = New EMsgAPIJobDeliveryStatus200810.StatusOptionsType 'myStatusOptions.AllDeliveryGroups() = True 'DeliveryRequest.StatusOptions() = myStatusOptions 'new test 03/14/08 'Debug.WriteLine("myStatusOptions.AllDeliveryGroups() = True") Dim i As Integer Dim nLocColon As Integer Dim sTemp As String = API_Demo.txtRelativePath.Text.Trim If sTemp.Length <> 0 Then nLocColon = sTemp.IndexOf(":") JobId(0) = New EMsgAPIJobDeliveryStatus200810.JobIdType JobId(0).XDN = sTemp.Substring(0, nLocColon) JobId(0).MRN = sTemp.Substring(nLocColon + 1) DeliveryRequest.JobId = JobId JobId = Nothing XOA.AllowAutoRedirect = True XOA.RequestValue = request Dim response As EMsgAPIJobDeliveryStatus200810.Response = New EMsgAPIJobDeliveryStatus200810.Response XOA.ResponseValue = response Try DeliveryResult = XOA.JobDeliveryStatus(DeliveryRequest) Catch ex As Exception MsgBox("JobDeliveryStatus error:" & ex.Message) Return End Try ' populate list view If DeliveryResult.JobDeliveryStatus(0).JobData Is Nothing Then API_Demo.txtResult.Text = "Error" Exit Sub End If If (DeliveryResult.Status.StatusCode = 0) Then Debug.Write(XOA.ResponseValue) API_Demo.txtResult.Text = ("Job Delivery Status Request was successful") Else API_Demo.txtResult.Text = ("Error: Job Result=" & DeliveryResult.Status.StatusCode & vbCrLf & DeliveryResult.Status.StatusMessage & vbCrLf & "Message Result=") End If 'Print results to the debug window: Dim nResults As Integer = DeliveryResult.JobDeliveryStatus.Length() Dim nJobs As Integer = DeliveryResult.JobDeliveryStatus(0).JobData.Length Dim j As Integer Dim nPulls, k As Integer Dim nDeliveries, nJobStates As Integer For i = 0 To nResults - 1 nJobStates = DeliveryResult.JobDeliveryStatus(i).JobData(0).JobState.Length For j = 0 To nJobStates - 1 Debug.WriteLine("JobState: " & DeliveryResult.JobDeliveryStatus(i).JobData(0).JobState(j)) Next nDeliveries = DeliveryResult.JobDeliveryStatus(i).JobData(0).DeliveryGroup(0).DeliveryDetail.Length For j = 0 To nDeliveries - 1 Debug.WriteLine("Job Number: " & DeliveryResult.JobDeliveryStatus(i).JobId.MRN) Debug.WriteLine("Address: " & DeliveryResult.JobDeliveryStatus(i).JobData(0).DeliveryGroup(0).DeliveryDetail(j).Destination.Value) Debug.WriteLine("Delivery State: " & DeliveryResult.JobDeliveryStatus(i).JobData(0).DeliveryGroup(0).DeliveryDetail(j).State.Value.ToString) If DeliveryResult.JobDeliveryStatus(i).JobData(0).DeliveryGroup(0).DeliveryDetail(j).Events Is Nothing Then Debug.WriteLine("Number of pulls: 0") Else nPulls = DeliveryResult.JobDeliveryStatus(i).JobData(0).DeliveryGroup(0).DeliveryDetail(j).Events.PullEvent.Length Debug.WriteLine("Number of pulls: " & nPulls) If nPulls <> 0 Then For k = 0 To nPulls - 1 Debug.WriteLine(" Pull Time: " & DeliveryResult.JobDeliveryStatus(i).JobData(0).DeliveryGroup(0).DeliveryDetail(j).Events.PullEvent(k).PullTime.ToString) Next End If End If Next j Next i End If End Sub