重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
接口的流程.
10多年的廉江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整廉江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“廉江网站设计”,“廉江网站推广”以来,每个客户项目都认真落实执行。
建立控制器(访问地址)-审核访问者身份(token)-验证提交数据是否符合类型(validate
)-处理接收数据(逻辑流程)-返回结果(json字符串).
其中要注意是否存在跨域,如果跨域要做跨域处理,例如返回jsonp.
第一个字母表示类型 count表示ID数量 / 隔开 ild,ild,ild来记录数据(我是按照你的意思来)
比方
i5/1,2,3,4,5
类型为int 一共5个 分别1,2,3,4,5
其实有必要么。。。直接i:1,2,3,4,5不就行了
不一样的话这样写 i:1,2,3|s:4,5,6
懂了吗?
php调用web service还是非常简单的。下面用一个例子说明:
web service服务是查询QQ用户是否在线
使用php5开发客户端:
?php
try {
//$client = new SoapClient("HelloService.wsdl",array('encoding'='UTF-8'));
$client = new SoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_dump($client-__getFunctions());
print("");
var_dump($client-__getTypes());
print("");
class qqCheckOnline{
var $qqCode = "10000";
};
$arrPara = array(new qqCheckOnline);
$arrResult = $client-__Call("qqCheckOnline",$arrPara);//$client-qqCheckOnline($arrPara);
echo $arrResult-qqCheckOnlineResult . "";
} catch (SOAPFault $e) {
print $e;
}
?
代码确实很简单吧,创建SoapClient对象时,可以使用保存在本地WSDL文件,也可以使用远程的地址,后面的array数组里可以带上很多的参数,具体参数可以查php的SoapClient帮助,这里带的是字符集编码,如果调用方法的参数里有中文,一定要指定字符集编码,否则会出错。
调
用web service前可以先调用SoapClient的__geunctions()和__getTypes()方法看一下你要调用的
web service暴露的方法,参数和数据类型,需要注意的是传入的参数名一定要和soapclient里面定义的一致,否则参数是传不过去的。
需要使用SoapClient的__soapCall()或__call()方法,具体使用方法可以查php的帮助文档。如果参数要求是一个结构体,请用类代替,如上面的代码。
另外发现个问题,如果web service方法返回的是xml格式的字符串,php接收到以后会自己把数据内容解析出来,而不是xml字符串.