是否有必要在php中创建一个用于创建web服务的wsdl文件?

时间:2009-07-20 17:11:28

标签: php web-services wsdl

我需要对网络服务的一些基本理解进行更具体的了解 与php一起

我想知道,如果有一个wsdl文件用于创建Web服务,或者只是对想要访问web服务的第三方有用的东西是必要的吗? 此外,它是在.net环境中自动生成的,但对于php来说,它有点困难。

我有什么选择?

我所追求的是在我的手机上创建一个jm2ee应用程序,该应用程序会不时地向web服务发送数据。 我读到某个地方,当没有wsdl文件时你必须提供参数。 这是什么意思?和/或有什么影响呢?

谢谢你,理查德

5 个答案:

答案 0 :(得分:5)

  

我想知道,如果是的话   有一个wsdl文件的neccasary   创建一个Web服务

不,没有必要(至少,不是在PHP中):它有助于其他人知道如何访问您的webservice (应该使用哪些方法,对象......) ,但即使它不导出WSDL

,也可以调用WS

对于PHP,是的,获取WSDL 有点困难(许多类不生成它们:-();但是,你可以用另一个工具生成它(有工具)在Eclipse中编写WSDL文件,例如)。

PEAR::Soap能够从PHP代码生成WSDL(但你必须写下许多行代码才能正确) - 考虑到PHP 5中包含一个类来使用SOAP ,无论如何,我不建议使用这个。

有关更多信息,您可以查看:

答案 1 :(得分:3)

如果您同时创建客户端和Web服务,那么就没有特别需要使用SOAP,WSDL或任何爵士乐。

只需使用网络的基础知识:客户端可以使用GET获取信息,然后使用POST发送信息。您可以按照自己喜欢的方式格式化数据,但JSONXML是常用且定义明确的方法。

如果您希望获得API设计的灵感,请查看一些常用的示例:

这足以让你开始,但如果你对设计理念感到好奇,你可以阅读Representational State Transfer或REST。

答案 2 :(得分:1)

WSDL文件以机器可读(XML)格式提供Web服务提供的方法(和方法的args)。如果您知道方法和参数是什么,那么您不需要WSDL文件 - 尽管如果您愿意,WSDL非常适合作为使Web服务公共接口更加“松散”的手段。

据我所知,PHP库没有为您自动生成WSDL文件的功能。

答案 3 :(得分:0)

Web服务支持内置于php5中,您最好的起点是documentation

答案 4 :(得分:0)

有些消息来源会使用术语“webservice”作为SOAP的同义词。这是用词不当。 SOAP是一种特殊的协议 - 它是一种方式来创建Web服务。还有其他技术可用。通常,SOAP是Java和.net中的首选标准,但它在这个领域之外是不合适的。如果您有选项,我强烈建议您考虑xml-rpc(哪个更简单并且对php有更好的直接支持)或基于http的服务(也称为基于REST)。