来源:自学PHP网 时间:2014-11-27 22:16 作者: 阅读:次
[导读] 调用webservice:开发环境是:Eclipse3.6 (java IDE)+ JDK 1.6 + Tomcat 7.0 + Axis2 1.6 + php 5.2.14 (IDE为eclipse-php-helios-SR1-win32.zip)+ apache2.2.15,这些软件随时都在更......
php中nusoap调用java axis2发布的webservice调用webservice:开发环境是:Eclipse3.6 (java IDE)+ JDK 1.6 + Tomcat 7.0 + Axis2 1.6 + php 5.2.14 (IDE为eclipse-php-helios-SR1-win32.zip)+ apache2.2.15,这些软件随时都在更新,请读者谷歌百度一下到官网下载。 一、在java端编写服务,并利用axis2发布成服务,本文的服务名为sayHi,里面有一个函数sayHello(),代码如下:
二、编写php客户端,调用axis2发布的webservice 2.1 下载nusoap.rar,将解压出来的lib文件夹添加到工程 2.2 编写客户端php,内容如下,代码如下:
三、执行结果为: Hello,My Friend 国假不旅游 Welcome to my home! webservice乱码问题: 许多使用NuSoap 调用.NET WebService或J2EE WebService的朋友可能都遇到过中文乱码问题(我用的是PHP调用NuSoap),下面介绍这一问题的出现的原因和相应的解决方法。 NuSoap调用WebService出现乱码的原因: 通常我们进行WebService开发时都是用的UTF-8编码,这时我们需要设置: $client->soap_defencoding = ‘utf-8′; 同时,需要让xml以同样的编码方式传递:$client->xml_encoding = ‘utf-8′; 至此应该是一切正常了才对,但是我们在输出结果的时候,却发现返回的是乱码. NuSoap调用WebService出现乱码的解决方法: 实际上,开启了调试功能的朋友,相信会发现$client->response返回的是正确的结果,为什么$result = $client->call($action, array(‘parameters’ => $param)); 却是乱码呢? 研究过NuSoap代码后我们会发现,当xml_encoding设置为UTF-8时,NuSoap会检测decode_utf8的设置,如果为true,会执行 PHP 里面的utf8_decode函数,而NuSoap默认为true,因此,我们需要设置. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com