繁体   English   中英

如何使用wsdl2php为PHP Web服务生成帮助程序类和存根代码?

[英]How to generate helper classes and stub code with wsdl2php for a PHP web service?

我有一个由WCF生成的WSDL,现在应该使用该WSDL创建一个PHP Web服务。 我的WSDL包含到自定义.NET类(complexType)的映射,并且我需要一个PHP WSDL工具,该工具可以生成等效的PHP类以及存根代码(服务器端生成)。

我读到wsdl2php是执行此工作的正确工具,因此我在以下地址尝试了它:( http://labs.wso2.org/wsf/php/wsdl2phptool.php

它部分地通过创建存根代码而起作用,但没有创建任何帮助程序类(函数参数似乎是anyType类型,并且每个函数仅生成一个参数)。 我还有脚本版本,可以在Windows中使用以下类型的命令运行该脚本版本:

php wsdl2php.php -s http://My.Server.com/MyWCFService/MyWCFService.svc?wsdl > MyWebService.php

但由于某种原因,它似乎无法正常工作,因为它会输出一个空文件。 我不是.NET开发人员,所以我不是PHP专家,但我需要测试WSDL如何与PHP Web服务一起工作(只是为了查看是否有可能以与.NET中相同的方式从WSDL生成PHP代码) )。

如果您能给我一个为PHP Web服务生成帮助器类和存根代码的简单示例,将不胜感激。

谢谢! :)

找到了解决方案! 为了使用wsdl2php生成除存根代码之外的帮助程序类,您将需要一个WSDL文件。 wsdl2php的当前版本(2.1.0)难以理解WCF生成的WSDL。 这是由于WCF WSDL中使用了导入标记(方案已导入到wsdl文档中,而wsdl2php不喜欢这样)

使用WCFExtras创建单个WCF WSDL之后,我还设法生成了帮助程序类!

http://wcfextras.codeplex.com/

http://weblogs.asp.net/pglavich/archive/2010/03/16/making-wcf-output-a-single-wsdl-file-for-interop-purposes.aspx ”(请首先阅读,因为它很重要以正确指定名称空间,否则您将遇到WCFExtras问题)

您还可以使用T4模板从Service实现中生成ServiceProxies和DataContract类。 我一直在为我的一个项目开发它们,它们在GitHub上发布,包括示例:

https://github.com/schaermu/wcf-phpclient-t4

万一您需要在.NET解决方案中使用代理生成逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM