因公司项目,需要使用PHP调用java实现WebService接口,之前没有调用过WebService接口,百度查找调用案例,因公司使用的PHP框架是yii,所以用yii来说明,从yii的中文官方网站中找到调用实例,如下:
yii2 调用 WebService 接口实例,在此只说明调用
根据实例写测试代码:
自己写的测试代码
测试结果,接口调用成功,但java获取不到传递的参数,百度查找解决办法,发现百度上有好多这种问题,但大多数都没有答案,找到有一篇博客中提到要使用
arg0这种形式,java才能获取到,经测试,依然获取不到
找到一篇博客说,参数必须是二维数组,键值必须是data,value值必须是xml格式,亲测不行
上篇博客中提到,是从别的博客中找到的解决办法,并附有博客地址,
http://blog.163.com/shihua_23/blog/static/2333759420108213340651/
查看该博客,博客中只是说要将参数用二维数组进行传递,并没有说键值必须是data,value值必须是xml格式
最终,两种方式组合,得到正确答案,参数必须是二维数组,参数键值必须是arg0,arge1这种方式,才可以,亲测成功
最后又在一篇帖子中,找到,说默认情况下,键值要使用arg0,arg1这种方式,但可以进行修改,问题圆满解决,但还要说明一点,第一个解决方案中,说使用arg0方式,可能是他已经知道参数必须是二维数组,但解决方法中并没有提及,第二种解决方案中,说要参数必须是二维数组,键值必须是data,value值必须是xml格式,有可能是服务端进行了修改,并不是说两种解决方案一定不行,在默认情况下,服务端不做任何修改的情况下,参数使用二维数组,键值使用arg0这种方式,是没问题的