0

我正在尝试与此处指定的 SOAP API 集成:

https://api.okpay.com/OkPayAPI?singleWsdl

https://api.okpay.com/OkPayAPI?wsdl

目前,从 wsdl 文件自动生成的代码似乎正在运行,所以我想知道要发送的正确信封应该是什么,我应该将它发送到哪里?

我使用此服务进行测试: http: //www.soapclient.com/soapmsg.html。对于我输入的服务器地址:

https://api.okpay.com/

对于 SOAP 消息,我输入了我的代码当前正在生成的内容:

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Get_Date_Time xmlns="https://api.okpay.com"></Get_Date_Time></Body></Envelope>

并且响应似乎是页面的 HTML 代码,而不是信封响应。

为了调用 WSDL 中指定的 Get_Date_Time 方法,向哪个服务器地址发送正确的 SOAP 操作/消息是什么?

4

1 回答 1

1

有几件事:

  1. “服务器地址”需要指向实际的服务,所以在这种情况下 https://api.okpay.com/OkPayAPI
  2. 可以在 WSDL 中看到该操作,在本例中为 https://api.okpay.com/I_OkPayAPI/Get_Date_Time

查看 WSDL 并搜索我在上面给出的操作,这应该让您了解如何为其他操作找到它。

通过这两个更新,您应该得到您期望的响应:

<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <Get_Date_TimeResponse xmlns="https://api.okpay.com">
      <Get_Date_TimeResult>2015-01-31 17:52:37</Get_Date_TimeResult>
    </Get_Date_TimeResponse>
  </s:Body>
</s:Envelope>
于 2015-01-31T17:52:32.170 回答