1 首先根据文档,生成相关对应的参数.如Authenticator ID.
2 然后按照它要求的xml,将参数值填进去,构造请求的xml串.
3 把xml串当做参数向http://service.test.chinavnet.com/bj/vnetInterface/VNetForSP/VNetCenterInterfaceForSP.asmx?op=DurationUsageRecord 地址请求.
4 解析返回的xml

解决方案 »

  1.   

    谢谢兄弟
    我疑惑的就是这个的第二点
    XML串的构造问题,能不能详细点呢?谢谢
      

  2.   

    soap这块我不是很熟,我以前只做过彩信的接口开发.
    哪都是正规的xml,
    如何构造,我觉得呢,他文档里应该会有实例的吧.<xs:element name="Authenticator" type="xs:string"/>
    试试这种,
    <xs:element name="Authenticator" type="xs:string">值</xs:element> 
      

  3.   

    你的意思是说把这个xml直接当URI的参数发送吗?
    他用的是一个soap协议
    应该不是这样的吧?
    我的看法是定义一个格式的xml,然后通过soap request发送到那个地址
      

  4.   

    回楼上,当然不是当做串传给它了.
    移动计费接口,就是打开一个URL,然后直接将串put过去就可以了.我说过soap这块我不熟,只是猜测,请不要误导.
      

  5.   

    你的意思是说把这个xml直接当URI的参数发送吗?
    他用的是一个soap协议
    应该…
    [/Quote]
    HTTP协议熟悉吗?SOAP就是在HTTP协议下,传送XML数据的一个定义。
    PHP提供这种函数库,你也可以自己写。官方文档:
    http://jp2.php.net/manual/en/book.soap.php
      

  6.   

    你应该是做client端吧?
    例子如下: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'为你要调用的服务名
      

  7.   


    这个我也用过,但是对方那边是.net,这也是个问题.我不知道兼容的问题
    不知道有没有人做过
      

  8.   

    ......
    webservice本来就是跨平台的
    只要你的调用符合接口描述schema就没有问题。
    人家既然发不了接口,那么你基本可以认定它不存在错误的问题。对你无语了,用soap还问兼容问题,强。
      

  9.   

    楼主的提示信息只是双方的通信的格式即要传的内容及类型这个一般用SOAP去和服务通信,传递标准XML用PHP的SOAP库或nusoap类
    均可
    主要是传参:一般两种:一是用数组传,其中项值类型根据XML定义的要求传.
          一是用类传-----这个没做过