快捷搜索:

PHP企业级应用之WebService篇

来段企业级利用吧,主如果讲PHP5对webservice的一些实现(以下的法度榜样可以被JAVA,NET,C等正常调用)

海内用PHP写WebService的真的很少,网上资料也没若干,公司的项目开拓历程中,经历了不少这方面的器械,写出来以供大年夜家参考(感谢老农供给的WSDL和法度榜样文件)

客户端

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);

?>

办事端

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'};$i++){

$s[] =&new Member(array($i, $uid->{'uname'}.'我测试'.$i));

}

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

}

}

?>

这里有返回的两个字段,一个是返回字符串,这个很好理解

这一段就字符串的

那返回数组的就对照麻烦了,我和老农搞了一两周才发明是WSDL文件写错了,看下面的一段

第一段GetMember是输入,最紧张的是GetMemberResponse这段,看type="tns:ArrayOfMember"这里,返回一个数组,WSDL中定义了ArrayOf这个,后面的就简单了,ArrayOfMember的类型是type="tns:Member" ,从name="Member"获得要返回的数组,竣工。

您可能还会对下面的文章感兴趣: