我需要使用 dll 从 Web 服务获取数据。我们的 VB.net 小组向我提供了有关如何进行调用的示例代码。 我需要指导如何在 Progress 中做同样的事情。
这是 VB 示例:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim client as new TaxWiseProxy(serviceURI:"https://webservice.net/Basic.svc", username:"myusername", password:"aPassword")
Dim getTitleResponse as String = String.Empty
Try
getTitleResponse = client.GetTitle("12-34567")
Catch ex as Exception
'Exception Handling
End Try
End Sub
我已经用不同的方法审查了许多帖子,但没有足够的细节让我真正遵循。 我们还使用了程序集参考工具并将参考保存在我们的工作目录中。
假设它是.NET 程序集。您需要将其添加到您的 assembly.xml 文件中,请参阅此处:
https://docs.progress.com/de-DE/bundle/openedge-abl-manage-applications-122/page/NET-assemblies.html
这是一个示例 assembly.xml 文件,位于会话工作目录中,或者位于可选的 -assemblies 启动参数引用的文件夹中:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<references>
<assembly name="Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<assembly name="CefSharp, Version=127.3.50.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138"/>
<assembly name="CefSharp.Core, Version=127.3.50.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138"/>
<assembly name="CefSharp.WinForms, Version=127.3.50.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138"/>
<assembly name="clrzmq, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</references>
然后你的代码将像这样翻译:
USING <similar to import statement in VB.NET> .
DEFINE VARIABLE client AS TaxWiseProxy NO-UNDO.
DEFINE VARIABLE getTitleResponse AS CHARACTER NO-UNDO.
/* Note, ABL only supports positional parameters, not named parameters */
client = NEW TaxWiseProxy("https://webservice.net/Basic.svc",
"myusername", "aPassword").
getTitleResponse = client:GetTitle("12-34567").