有点长,但比初稿短:)
我们有一个小型 VB.net 应用程序,它基本上从我们的 dBase 中提取信息,然后将这些信息导出到一个 .xls 文件。从这个 .xls 文件中,内部代理然后使用其中包含的信息手动更新第三方列表服务(维护我们当前的库存)。该信息非常基本,为便于讨论,由“零件编号”、“描述”和“现有数量”组成。
通常我们每周更新一次此信息,但是,与此列表服务的新修订合同现在需要每天更新以保持我们的“白金”供应商状态。
问题是手动更新此信息可能需要相当长的时间。因此,迫切需要自动化过程。而且我已经完成了大部分基础工作和编码 - 到了一定程度。因此问题,因此我卡住了。
列表服务为我们提供了以下 WSDL:一种用于增加我们的库存,一种用于减少我们的库存,一种用于添加库存,一种用于移除库存。
到目前为止,我已经重新编写了一个生成导出信息的存储过程。该 SP 现在进行一些内部数学运算,以确定“昨天”发生的交易结果是“增加”、“减少”、“添加”还是“删除”。然后将这些结果添加到名为“SERVICE”的新创建列下的结果表中。然后使用 vb.net 从 dBase 中提取这些新信息,并将其导入数据表中进行分析。
有了这个数据表,我现在可以遍历每一行,查看“SERVICE”列,并根据该单元格中包含的信息,调用适当的 Web 服务。
我已将所有 Web 引用添加到我的项目中,并为每个 Web 服务创建了代理类。
第二个问题是,我不知道如何实际调用实际的 Web 服务。以下是一小段代码
' loads data into the 'AviationDataBaseResult.ILS_ARRAY_2' table.
Me.ILS_ARRAY_2TableAdapter.Fill(Me.AviationDataBaseResult.ILS_ARRAY_2)
' Start the looping process
For Looper = 0 To RowCount - 1
If Me.AviationDataBaseResult.ILS_ARRAY_2.Rows(Looper).Item("Service") = _
"Increase" Then
' Call Appropriate Web service
End If
' More If..Then's ensue, one for each service
Next
' More code ensues
我意识到这已经变得很啰嗦,主要是因为在任何一天我都打开了 25 个 FF 标签,但没有一个是相互同意的。添加另一个皱纹; 有问题的 WSDL 在复杂类型中使用了很多复杂类型,您猜对了,其他复杂类型交织在一起。我查看了许多示例,但还没有找到一个处理复杂类型以及如何处理它们的示例。非常感谢任何有关“去哪里找到我需要知道的东西”的正确方向的帮助。
如果需要任何其他信息,我将非常乐意为您提供尽可能多的信息。如果我的思维过程和逻辑不适合做我需要做的事情,我也很高兴听到这一点。作为 vb.net 的新手,我已经非常擅长消费谦逊派。
谢谢你的时间。