如何生成PHPsoap客户端代码?

2021-12-24 00:00:00 php soap-client soap wsdl

有没有办法从 WSDL 文件生成 PHP Soap 客户端?

Is there a way to generate a PHP Soap Client from a WSDL file?

我的意思是像 .net 中的 wsdl.exesvcutil.exe 之类的东西,它为可以作为服务客户端的类生成代码,而不是像:

I mean something like wsdl.exe or svcutil.exe in .net, that generates code for a class that can be the client of a service, not something like:

$WSDL     = new SOAP_WSDL($wsdl_url); 
$client   = $WSDL->getProxy(); 

我的问题是我希望 PHP 客户端能够使用服务,即使该服务没有公开其 WSDL.

My problem is that I want the PHP client to be able the work with a service, even when that service doesn't expose its WSDL.

推荐答案

您可以使用 SOAP_WSDL (http://pear.php.net/reference/SOAP-0.9.4/SOAP/SOAP_WSDL.html#methodgenerateProxyCode) 方法,并将其保存到文件中:

You can use the method [generateProxyCode] provided in the package SOAP_WSDL (http://pear.php.net/reference/SOAP-0.9.4/SOAP/SOAP_WSDL.html#methodgenerateProxyCode) method instead and save it to a file:

$WSDL     = new SOAP_WSDL($wsdl_url); 
$php      = $WSDL->generateProxyCode();
file_put_contents('wsdl_proxy.php', '<?php ' . $php . ' ?>');

require 'wsdl_proxy.php';

相关文章