1 首先根据文档,生成相关对应的参数.如Authenticator ID.
2 然后按照它要求的xml,将参数值填进去,构造请求的xml串.
3 把xml串当做参数向http://service.test.chinavnet.com/bj/vnetInterface/VNetForSP/VNetCenterInterfaceForSP.asmx?op=DurationUsageRecord 地址请求.
4 解析返回的xml
2 然后按照它要求的xml,将参数值填进去,构造请求的xml串.
3 把xml串当做参数向http://service.test.chinavnet.com/bj/vnetInterface/VNetForSP/VNetCenterInterfaceForSP.asmx?op=DurationUsageRecord 地址请求.
4 解析返回的xml
我疑惑的就是这个的第二点
XML串的构造问题,能不能详细点呢?谢谢
哪都是正规的xml,
如何构造,我觉得呢,他文档里应该会有实例的吧.<xs:element name="Authenticator" type="xs:string"/>
试试这种,
<xs:element name="Authenticator" type="xs:string">值</xs:element>
他用的是一个soap协议
应该不是这样的吧?
我的看法是定义一个格式的xml,然后通过soap request发送到那个地址
移动计费接口,就是打开一个URL,然后直接将串put过去就可以了.我说过soap这块我不熟,只是猜测,请不要误导.
他用的是一个soap协议
应该…
[/Quote]
HTTP协议熟悉吗?SOAP就是在HTTP协议下,传送XML数据的一个定义。
PHP提供这种函数库,你也可以自己写。官方文档:
http://jp2.php.net/manual/en/book.soap.php
例子如下:require_once('../include/nusoap.serv.php'); $wsdl = "http://xxxxx?WSDL"; //接口wsdl$soap = new soapclient($wsdl,"wsdl");
$soap->soap_defencoding = 'utf-8';//编码
$arg = array('aName');
//在你的schema中的复合类型就相当于$arg = array("SPID"=>$val1, "Authenticator"=>$val2, ......);
$result = $soap->call('Hello',$arg);
'Hello'为你要调用的服务名
这个我也用过,但是对方那边是.net,这也是个问题.我不知道兼容的问题
不知道有没有人做过
webservice本来就是跨平台的
只要你的调用符合接口描述schema就没有问题。
人家既然发不了接口,那么你基本可以认定它不存在错误的问题。对你无语了,用soap还问兼容问题,强。
均可
主要是传参:一般两种:一是用数组传,其中项值类型根据XML定义的要求传.
一是用类传-----这个没做过