php soap扩展做webservice的时候 如何传入数组或者对象参数?

最近需要些一些接口和JAVA通信,考虑后想用soap来做webservice,捣鼓半天用zendstudio生成wsdl文件后成功做了一个demo.下面请看问题:加入类文... 最近需要些一些接口和JAVA通信 , 考虑后想用soap来做webservice ,捣鼓半天 用zend studio生成wsdl文件后 成功做了一个demo .下面请看问题:
加入类文件如下:(类文件就是给soapserverObj->setClass()调用的文件)
class service {
public function smit(array $params){
return $params;

}

}

我用的是zend studio 10.1 生成wsdl中设置方法 参数类型的时候找不到array类型 我只能用string 代替

同样 返回值也是。
问题:难道我在soapclient 中调用方法时 只能用string的参数吗 我看过很多例子 都能引入数组
我有想过用json字串引入 但是感觉有点别扭 求高手解答!!!!
展开
 我来答
nbyh2012
2013-07-29 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:798万
展开全部
SOAP可以传递数组和对象,比较复杂不便详述。你可以简启在网上查阅SOAP的规范。SOAP的对象需要定义在wsdl里。这就要求java调用方也定义这些对象。

使用SOAP要注意一个问题:SOAP没有统一的标准,不同语言对SOAP的实现有微小差别,有可能导致不兼容。

编写SOAP的wsdl是件麻烦而且痛苦的事。你可以试试使用第三方库。Yii框架就提供雀慎一个强大拦岁如的SOAP解决方案。你可以通过注释和类,自动生成wsdl。个人不推荐在PHP中使用SOAP,因为PHP不像其他语言类似JAVA、.NET,提供强大的SOAP支持。

你可以考虑轻量级API,也可以考虑XML-RPC。并不比SOAP差,而且很灵活。

望采纳,谢谢!
更多追问追答
追问
我用的thinkphp框架 不知道有没有soap支持
追答
我帮你查了一下,有个叫nusoap的类库可以使用。你可以在网上了解一下。

望采纳,谢谢支持!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式