php - 与 SecureNet 支付网关集成

标签 php wcf soap wsdl soap-client

我正在尝试将我们的软件与 SecureNet 网关集成。他们有一个基于 SOAP 的 API。

我遇到的问题是他们的 WSDL 文件确实不能用于 PHP。具体来说,他们的 WSDL 文件使用 wsdl:import 语句拆分为多个文件,导入位置为 http。在他们的测试服务器上,httphttps 端口是打开的,因此 PHP 可以读取 WSDL 文件。在他们的生产服务器上只打开了 https,但是他们的位置 block 仍然引用 http,所以 PHP 超时了!如果是 https 就可以正常工作。

他们的建议是从他们的测试服务器中提取 WSDL 文件,但覆盖该位置。他们告诉我他们的测试服务器应该始终运行,但我觉得依赖两个系统来完成我们的交易工作感觉不舒服。

另一种选择是使用他们的 XML post API...但问题是您必须以正确的顺序指定每个字段(需要或不需要)。最糟糕的是此 API 的错误消息只是Unknown Error.,因此几乎不可能弄清楚我遗漏了什么。

我需要第三种选择。 Soap 运行良好,如果我可以加载 WSDL 文件(可以测试,而不是生产)。我认为他们正在使用 WCF,我相信这是 .NET 的东西。应该有一个“?simpleWSDL”与“?wsdl”选项,但在他们的 WCF 版本上没有它。

这是他们的 WSDL 文件(测试服务器):https://certify.securenet.com/API/Gateway.svc?wsdl

编辑:

这是可重现的代码:

$client = new SoapClient("https://gateway.securenet.com/API/Gateway.svc?wsdl");
// Hangs and throws exception in construct

最佳答案

您可以从生产服务器中提取 WSDL 并使用 SoapClient::__setLocation 以编程方式覆盖位置

关于php - 与 SecureNet 支付网关集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510644/

相关文章:

php - 使用 BINARY 查询 ZF2 模型

c# - 通过 REST 在列表中插入项目

c# - 如何将 WCF 服务从 SOAP 转换为 REST?

java - Talend Open Studio 将作业导出为 Web 服务并在不带 URL 参数的情况下调用它

java - 无法处理 SOAP 响应

php - 正则表达式匹配字符串中的所有 *texttexttext

javascript - Php/JQuery/Javascript - 选择父子依赖

php - 使用 Webmin 设置一个 cron 作业

web-services - 从 WCF 项目返回有意义的异常

c# - 未触发 WCF 客户端关闭事件