文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP实现调用WebService

2023-08-31 09:17

关注

        在一个项目中需要对接一个短信功能,给的是WebService接口,给了java的demo,但是没有PHP的demo,在一些简单的传参时候可以使用Soap来实现对接,但是当一些复杂传参的时候,soap无法传递过去,因此还是可以使用curl方式来实现对接。

        对于简单的参数传递可以使用以下方式实现,先在服务器上面开启soap扩展,重新启动apache。

    //get  authorization    public static function getAuthorization(){        $data = self::jiami(); //获取加密数据        //WebService接口数据调用 需要开启soap扩展        $client = new \SoapClient("http://127.0.0.1:8888/ws/v1?wsdl");//        print_r($client->__getFunctions()); //查看对外的方法  以及参数        // print_r($client->__getTypes()); // 查看类型        // 组织参数  根据接口具体提供参数组织对应参数        $param = [            'userCode' => $data['userCode'],            'password' => $data['password'],            'unixtick' => $data['unixtick']        ];        $rst =$client->authorization($param);//请求入口函数为【authorization】        $rst = json_encode($rst);        $rst = json_decode($rst ,true);        if ($rst['return']['code'] == 0){            return $rst['return']['result']['token'];        }    }

        其中wsdl为对接方提供一种XML Application,可以用来查看对接方的接口,同时调用的时候也需要用到。

        对用复杂的传参,例如需要传递header,或者传递数组的时候遇到问题可以使用curl。

    public static function sendMsg($content,$receiveNumber)    {        $curl = curl_init();        $token = self::getAuthorization();        $xml ='      '.$token.'              
'.$content.' '.$receiveNumber.'
true
'; curl_setopt_array($curl, array( CURLOPT_URL => 'http://127.0.0.1:8888/ws/v1?wsdl', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS =>$xml, CURLOPT_HTTPHEADER => array( 'Content-Type: charset=UTF-8' ), )); $response = curl_exec($curl); curl_close($curl); return $response; }

来源地址:https://blog.csdn.net/mjwws1111/article/details/128702127

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯