nowise / uup-soap
将类导出为SOAP服务,内置服务描述(WSDL)生成。
1.2.10
2019-10-15 02:50 UTC
README
将PHP类导出为SOAP服务,自动收集类、方法和参数上的注释以生成服务文档,并通过wsdl:documentation标签供服务消费者使用。
特性
- 使用原生SOAP扩展(快速)。
- 生成Web服务描述(WSDL)。
- 生成Web服务API文档(HTML)。
主页
访问项目主页获取更多信息及扩展示例
简介
导出的服务使用类名或对象。后者在需要特殊初始化时更受欢迎。使用SOAP请求类(即检测是否为WSDL模式)可以简化参数处理。
public function response($request, $service) { $request->process($service); // Request mode detected }
或更详细地,其中请求可以是自定义类或由本库提供的类
public function response($request, $service) { switch ($request->target) { case 'soap': $service->handleRequest(); // Handle SOAP request break; case 'wsdl': $service->sendDescription(); // Send WSDL break; case 'docs': $service->sendDocumentation(); // Send API doc break; } }
测试
示例Java文件可以在example/java/client目录中找到。使用wsimport生成SOAP代理或从以下链接下载完整项目:
要测试服务文档(假设示例在例如htdocs下可访问)
- https:///uup-soap/server/employees.php?docs=syntax
- https:///uup-soap/server/employees.php?docs=html
- https:///uup-soap/server/employees.php?docs=text
- https:///uup-soap/server/employees.php?docs=wsdl
- https:///uup-soap/server/employees.php?docs=xslt
也支持这些快捷方式(常用查询字符串)
- https:///uup-soap/server/employees.php?docs=1 # 与?docs=html相同
- https:///uup-soap/server/employees.php?wsdl=1 # 与?docs=wsdl相同
此模式已被取代
- https:///uup-soap/server/employees.php?docs=code # 使用?docs=html代替
关于衍生作品
WSDL生成使用WSDL_Gen类(作者未知),但由Martin Goldhahn在Google Code上重新发布。捆绑该类的php-wsdl-generator的许可证是Apache 2.0(与该软件包许可证相同)。对该类进行了多项改进(请参阅文件标题)。
相关链接
- http://web.archive.org/web/*
- http://www.schlossnagle.org/~george/php/WSDL_Gen.tgz
- http://code.google.com/p/php-wsdl-generator/downloads
其他代码来自OpenExam项目(openexam.io),重新许可为Apache 2.0