如何生成PHP soap客户端代码?

Mei*_*lon 8 php soap wsdl soap-client

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

我的意思是这样wsdl.exesvcutil.exe在.NET中,对于一类生成的代码可以是服务,而不是像的客户:

$WSDL     = new SOAP_WSDL($wsdl_url); 
$client   = $WSDL->getProxy(); 
Run Code Online (Sandbox Code Playgroud)

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

aqm*_*aqm 11

我发现发电机非常有用

https://github.com/wsdl2phpgenerator/wsdl2phpgenerator

说明(来自github):

也为web托管的wsdl工作

例如

php wsdl2phpgenerator-2.3.0.phar -i http://someurl/input.wsdl -o tmp/my/directory/wsdl
Run Code Online (Sandbox Code Playgroud)


Gre*_*reg 9

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

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

require 'wsdl_proxy.php';
Run Code Online (Sandbox Code Playgroud)

  • 关于示例代码的两个注释:您需要包含带有require_once("SOAP/WSDL.php")的PEAR类; 并且该方法不是$ WSDL-> getProxyCode(); 但$ WSDL-> generateProxyCode(); (5认同)

Cla*_*son 8

有一个应用程序,它被称为wsdl2phpgenerator:

http://code.google.com/p/wsdl2phpgenerator/

针对WSDL文件运行它,它将基于WSDL服务生成类.