PHP5对webservice的完成-Php-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝27
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:155回复:0

  PHP5对webservice的完成

楼主#
更多 发布于:2016-05-22 15:08

国内用PHP写WebService的真的很少,网上材料也没多少,公司的项目开发过程中,阅历了不少这方面的东西,写出来以供我们参阅.

来段企业级使用吧,主要是讲PHP5对webservice的一些完成(以下的程序能够被JAVA,NET,C等正常调用)

国内用PHP写WebService的真的很少,网上材料也没多少,公司的项目开发过程中,阅历了不少这方面的东西,写出来以供我们参阅(谢谢老农供给的WSDL和程序文件)

客户端

<?php

header ( "Content-Type: text/html; charset=utf-8"

);

/*

* 指定WebService途径并初始化一个WebService客户端

*/

$ws = "http://soap/soapCspMessage.php?wsdl";

$client = new SoapClient ( $ws, array ('trace'

=> 1, 'uri' => 'http://www.zxsv.com/SoapDiscovery/' ) );

/*

* 获取SoapClient对象引证的服务所供给的一切办法

*/

echo ("SOAP服务器供给的敞开函数:");

echo ('

');

var_dump ( $client->__getFunctions () );

echo ('');

echo ("SOAP服务器供给的Type:");

echo ('

');

var_dump ( $client->__getTypes () );

echo ('');

echo ("履行GetGUIDNode的成果:");

//$users = $client->GetUsers();

//var_dump($HelloWorld );

$parameters =

array('uname'=>'zxsv',"upassword"=>'123');

$out = $client->HelloWorld($parameters);

$datadb = $out->HelloWorldResponse;

var_dump($out);

?>

服务端

<?php

class Member

{

public $UserId;

public $Name;

public function __construct($parmas){

$this->UserId = $parmas[0];

$this->Name = $parmas[1];

}

}

$servidorSoap = new

SoapServer('testphp.xml',array('uri' =>

'http://www.TestPHP.com/','encoding'=>'utf-8','soap_version' => SOAP_1_2

));

$servidorSoap->setClass(Testphp);

$servidorSoap->handle();

class Testphp {

public function HelloWorld($uid){

return

array('HelloWorldResult'=>"mystring".$uid->{'uname'}.' and

'.$uid->{'upassword'});

}

public function GetMember($uid){

$s=array();

for($i=0;$i<$uid->{'uid'};$i++){

$s[] =&new Member(array($i,

$uid->{'uname'}.'我测试'.$i));

}

return   array('GetMemberResult'=>$s);

}

}

?>

到这儿应当都看的懂吧

下面是WSDL文件

这儿有回来的两个字段,一个是回来字符串,这个极好了解

这一段就字符串的

那回来数组的就比较麻烦了,我和老农搞了一两周才发现是WSDL文件写错了,看下面的一段

榜首段GetMember是输入,最主要的是GetMemberResponse这段,看type="tns:ArrayOfMember"这儿,回来一个数组,WSDL中定义了ArrayOf这个,后边的就简略了,ArrayOfMember的类型是type="tns:Member"

,从name="Member"得到要回来的数组,竣工。

优质IT资源分享社区为你提供此文。

本站有大量优质php教程视频,资料等资源,包含php基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

php教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客