正确的信封用于 SOAP 请求?
Correct envelope to use for a SOAP request?
我正在尝试与此处指定的 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 操作/消息是什么?
几件事:
- "Server Address"需要指向实际的服务,所以在这种情况下
https://api.okpay.com/OkPayAPI
- 可以在 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>
我正在尝试与此处指定的 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 操作/消息是什么?
几件事:
- "Server Address"需要指向实际的服务,所以在这种情况下 https://api.okpay.com/OkPayAPI
- 可以在 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>