如何在VB.Net控制台应用程序中捕获Soap Web服务输出

时间:2013-04-10 13:23:54

标签: vb.net soap service web

我有一个包含3个Web服务(不需要输入参数)的Web服务项目,但我需要安排每晚调用一次。为了实现这一点,我做了一些谷歌搜索并创建了一个控制台应用程序来调用Web服务,我现在可以使用Windows任务计划程序安排。 我是编写控制台应用程序的新手,对VB.NET只有一点点经验,但是通过输入Web服务的Web引用,然后应用以下简单代码,我在控制台应用程序中实现了我所需要的: / p>

Sub Main()

Dim wscall As New EmployeeEmailWS

wscall.UpdateAbsenceTables()
wscall.GetThreePeriodsInAYear()
wscall.GetSixDaysInAYear()

End Sub

这只会触发三个Web服务成功运行。

但是,到目前为止,我还想以某种方式读取Soap Web服务响应,以便我可以将其作为每个结果的日志写入数据库。

响应消息简单如下(来自SoapUI),但我只是不知道如何获取它:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateAbsenceTablesResponse xmlns="http://www.ernspnamespace7.co.uk/EmployeeWS">
<UpdateAbsenceTablesResult>
<ResponseCode>00001</ResponseCode>
<ResponseDescription>Absence Tables Successfully Updated</ResponseDescription>
</UpdateAbsenceTablesResult>
</UpdateAbsenceTablesResponse>
</soap:Body>
</soap:Envelope>

任何人都可以指出我正确的方向,如何在我的控制台应用程序中获得此响应。特别是如果我能以某种方式得到ResponseCode&amp;的值。 ResponseDescription并将它们转换为字符串然后我将回到熟悉的领域以获取我的基本知识。

感谢。

1 个答案:

答案 0 :(得分:0)

没关系。 我突然想到,我可以在Web服务的末尾添加一些代码,以便在每次调用它们时将其输出写入数据库表。这样就完全无需担心XML了。