php中nusoap调用java axis2发布的webservice
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-26 10:30:53 浏览: 评论:0
调用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(),代码如下:
- package Hi;
- publicclass sayHi {
- public String sayHello(String user,String info) {
- return"Hello, My Friend "+ user + info;
- }
- }
二、编写php客户端,调用axis2发布的webservice
2.1 下载nusoap.rar,将解压出来的lib文件夹添加到工程
2.2 编写客户端php,内容如下,代码如下:
- <?php
- require_once ("./lib/nusoap.php");
- // 要访问的webservice路径
- $NusoapWSDL="http://localhost:8080/axis2/services/sayHi?wsdl";
- // 生成客户端对象
- $client = new nusoap_client($NusoapWSDL);
- //$client->soap_defencoding = 'UTF-8';
- //$client->decode_utf8 = false;
- // 设置参数(注意:PHP只能以'数组集'方式传递参数)
- $param = array( 'user' => '国假不旅游 ',
- 'info' => ' Welcome to my home!');
- // 调用远程方法 'sayHello'为服务中的方法名
- //'http://Hi'为wsdl文件中targetNamespace的值
- $result = $client->call('sayHello', $param,'http://Hi');
- // 显示执行结果
- if (!$err=$client->getError()){
- //开源代码phpfensi.com
- echo $result;
- }else{
- echo $err;
- }
- ?>
三、执行结果为:
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,因此,我们需要设置.
Tags: nusoap axis webservice
相关文章
- ·NuSOAP 调用 Web Service 出现乱码的解决方法(2014-09-04)
- ·PHP使用NuSOAP调用Web服务的方法(2021-06-13)
- ·php soap 调用webservice应用测试(2014-07-23)
- ·PHP调用Webservice经典实例(2014-08-02)
- ·php 调用 webservice 中文乱码解决方案(2014-09-06)
- ·php实现通过soap调用.Net的WebService asmx文件(2018-08-03)
- ·PHP使用SOAP扩展实现WebService的方法(2019-10-20)
- ·PHP使用SOAP调用.net的WebService数据(2020-06-18)
- ·PHP调用JAVA的WebService简单实例(2020-10-26)
- ·浅谈PHP调用Webservice思路及源码分享(2021-02-07)
- ·php中创建和调用webservice接口示例(2021-03-24)
- ·php实现webservice实例(2021-04-24)
- ·四种php中webservice实现的简单架构方法及实例(2021-05-09)
- ·PHP调用.NET的WebService 简单实例(2021-05-18)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)