php调用soap协议webservice接口方法

8 篇文章 0 订阅
<?php
    header("Content-type: text/html; charset=utf-8");  
    $webservice_url = "http://test.com/test.svc?wsdl";//webservice地址
    $client = new SoapClient($webservice_url);
    
    // echo '<pre/>';
    // echo '<xmp>';
    // print_r( $client->__getFunctions ()); 
    // echo "相关的数据结构\n";
    // print_r($client->__getTypes () ); 
    // echo '</xmp>';
    // exit;
    
    
    //该传参已做优化,参数都为必需值,且与服务端保持一致        
    $param = array(
        'name'=>'test',
        'cart'=>array(
            'PaymentInfo'=>array(
                'CardId'=>'AAABBBCCC'
                'CardPassword'=>'123456'
            ),
            'SplitItems'=>array(
                '0'=>array(
                    'Items'=>array(
                        '0'=>array(
                            'Product'=>array(
                                'Amount'=>1,
                                'SKU'=>'11111'
                            )
                        ),
                        '1'=>array(
                            'Product'=>array(
                                'Amount'=>1,
                                'SKU'=>'111111'
                            )
                        )
                    )
                )
            ),
        )
    );
    //microtime() 函数返回当前 Unix 时间戳的微秒数
    $time_ago = microtime(true);
    try{
    //parameters 此参数为必填项,格式固定,否则报错
        $arr = $client->__soapCall('index',array('parameters' => $param));//调用其中index方法
    }catch(Exception $e){
    	//打印异常
        $arr = $e->getMessage();    
    }
    
    $time_end = microtime(true);
    echo 'webservice执行时间差为:'.($time_end-$time_ago).'s';
    print_r($arr);
    exit;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值