相关疑难解决方法(0)

通过VBScript调用WCF服务

有一个配置的WCF服务:

<services>
  <service name="MyService" behaviorConfiguration="MyServiceBehavior">
    <endpoint 
      binding="basicHttpBinding"  
      contract="IMyService" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8001/MyService" />
      </baseAddresses>
    </host>
  </service>
</services>

<behaviors>
  <serviceBehaviors>
    <behavior name="MyServiceBehavior">
      <serviceMetadata httpGetEnabled="True" />
    </behavior>
  </serviceBehaviors>
</behaviors>
Run Code Online (Sandbox Code Playgroud)

这个脚本应该调用它:

Option Explicit

Dim soapClient
Dim serviceUri
Dim serviceName
Dim portName
Dim result

serviceUri = "http://localhost:8001/MyService"
serviceName = "MyService"
portName = "BasicHttpBinding_IMyService"

Set soapClient = CreateObject("MSSOAP.soapClient")
soapClient.ClientProperty("ServerHTTPRequest") = True
soapClient.mssoapinit serviceUri & "?WSDL", serviceName, portName
Run Code Online (Sandbox Code Playgroud)

运行脚本时出现此错误:

客户端:WSDLReader:分析WSDL文件失败HRESULT = 0x8 0004005 - WSDLReader:服务初始化失败HRESULT = 0x80004005 - WSDL服务:服务端口初始化服务MyService失败HRESULT = 0x80004005 - WSDLPort:分析端口BasicHttpBinding_IMyService的绑定信息失败HRESULT = 0x80004005 …

vbscript wcf msxml

10
推荐指数
1
解决办法
2万
查看次数

如何通过VBA读取和修改XML文件?

我已经15年没有编程任何程序了,但是在过去的一个月中,我为我创建了其他人想使用的Excel VBA程序。我希望能做些事情来验证他们的许可证仍然有效。我当时在想,它可以引用XML文件以查看许可证是否仍然有效,并可能将一些内容写入XML文件,因此我知道他们使用了它。

这是我的XML文件(当然会更长,但这涵盖了它)。我的目标是在客户付款时更新XML文件。请注意文件中显示的是“八月”。到了9月,该程序将无法运行,因为我输入的代码与VBA文件中的9月代码不匹配。一旦他们付款,我将更新XML文件中的代码,然后当他们运行该文件时,它将起作用。

我可以将整个XML文件放在一个消息框中,但是我不知道如何搜索代理商名称,然后获取月份和代码进行验证。我想我希望VBA宏读取XML文件,例如,在找到“代理名称2”时搜索“代理名称2”,以获取日期和代码。验证此日期和代码是否与VBA文件中的预期值匹配,然后它将允许其余的子程序运行。同时,我希望它可以将日期,时间和其他一些东西放回XML文件中,以查看他们最后一次使用它的时间。

我知道这不是一个很好的安全性,因为如果他们只能通过密码,就可以更改脚本来避免这种情况,但这是可以的。

下面是XML,下面是让我了解XML内在内容的msgbox的子项,但是我不知道如何搜索或编写上面我在想的内容。请给我一些建议。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data-set xmlns:xsi="www.example.com /2001/XMLSchema-instance">
<record>
  <Agency>Agency Name 1</Agency>
  <Date>August</Date>
  <Code>code to give</Code>
</record>
<record>
  <Agency>Agency Name 2</Agency>
  <Date>August</Date>
  <Code>code to give</Code>
</record>
</data-set>
Run Code Online (Sandbox Code Playgroud)
Dim xmlhttp As Object
Dim myUrl As String

Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")

myUrl = "www.example.com/myfile.xml"
xmlhttp.Open "Get", myUrl, False
xmlhttp.send

MsgBox (xmlhttp.responsetext)
Run Code Online (Sandbox Code Playgroud)

xml vba

5
推荐指数
1
解决办法
2924
查看次数

标签 统计

msxml ×1

vba ×1

vbscript ×1

wcf ×1

xml ×1