Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为WSDL服务器建立中继?_Php_Soap_Wsdl_Sms - Fatal编程技术网

Php 如何为WSDL服务器建立中继?

Php 如何为WSDL服务器建立中继?,php,soap,wsdl,sms,Php,Soap,Wsdl,Sms,我有一个从服务器IP访问web服务的权限,但我想制作一个脚本并放在我的服务器上,让最终用户连接到脚本,作为WSDL(请求和响应-SMS服务)的中继 它就像一根从底部伸出的树枝。然而,我也需要计算脚本中的请求数 不幸的是,我没有访问WSDL服务器代码的权限 另外,最终用户必须使用原始的WSDL(SOAP-php)客户端,我也不能更改最终用户代码 因此,我必须要求最终用户像原始WSDL服务器一样连接到我的服务器,然后将任何请求中继到WSDL服务器,并进行同样的响应 我可以编写一个大类,并使用许多

我有一个从服务器IP访问web服务的权限,但我想制作一个脚本并放在我的服务器上,让最终用户连接到脚本,作为WSDL(请求和响应-SMS服务)的中继

它就像一根从底部伸出的树枝。然而,我也需要计算脚本中的请求数

  • 不幸的是,我没有访问WSDL服务器代码的权限
  • 另外,最终用户必须使用原始的WSDL(SOAP-php)客户端,我也不能更改最终用户代码
因此,我必须要求最终用户像原始WSDL服务器一样连接到我的服务器,然后将任何请求中继到WSDL服务器,并进行同样的响应

我可以编写一个大类,并使用许多行代码进行对等。但我认为有更好的方法可以做到这一点


有更好的想法或解决方案吗?

要提供服务编排,因为SOAP web服务是基于服务接口的,所以最好在您这边实现源WSDL。此外,您还可以选择设置一个直通反向代理,关键是SOAP请求和响应地址URL重写到代理服务器地址。有一些解决方案:

  • 使用Nginx作为反向代理这里是作者的一篇相关文章

  • 有了WSO2 ESB,您可以设置并注入逻辑代码,据我所知,它支持PHP(我已经用Java实现了)

  • 用PHP编写HTTP反向代理程序,不要忘记用代理服务器地址重写SOAP、WSDL请求和响应地址URL。这是一个例子


  • 您还可以选择将SMS服务和计数器服务编排为Restful服务,并使其对客户端透明

    您的第一个解决方案将错过计算最终用户请求的阶段,而最后一个解决方案不是优化的解决方案。第二个更好,我必须检查它。所有的解决方案都不会强迫客户更改他们的代码。对于第三种解决方案,不必担心优化,这取决于您的实现。另一方面,您必须考虑到您的客户可以访问源SMS服务,并且可能直接调用它。这样,你的计数器就不能很好地工作。在这里,正如前面所说的,两边都没有任何通道。我现在正在研究我的早期解决方案。一个小型SOAP服务器,其工作方式类似于基础服务器的镜像。它是基于请求进行调用,但不是调用实际调用,这是我的阶段。我试着为我的SOAP服务器制作一个动态函数加法器,这取决于最终用户的请求,所以我不需要编写代码行和WSDL。我的结果也适用于任何不同的WSDL服务!