drwjv28028 2016-10-06 12:56
浏览 33

标头securityContext中的PHP SOAP凭据

Im struggling with this 2 days and trying almost everything I found on internet. I have SOAP service with username and password in header securityContext but have no idea how to provide data in that form in PHP?

This is required header XML:

<soap:Header>
    <SecurityContext xmlns="http://tempuri.org/">
        <userName>string</userName>
        <password>string</password>
    </SecurityContext>
</soap:Header>
  • 写回答

1条回答 默认 最新

  • duandiao3961 2016-10-06 13:23
    关注

    Huh, i managed it to work. Here is what is necessery if someone have similar problem.

    Part for adding header values:

        $soap = new SoapClient($wsdl, $options);
               $auth = array(
                'userName' => self::SOAP_USERNAME,
                'password' => self::SOAP_PASSWORD,
            );
        $header = new SoapHeader(self::SOAP_NAMESPACE, 'SecurityContext', $auth);
            $soap->__setSoapHeaders($header);
    

    Also, because it's https request I needed to add some ssl options:

        // set stream context opts
        $opts = array(
            "ssl" => array(
                "verify_peer" => false,
                "verify_peer_name" => false,
            ),
        );
        // set options
        $options = array(
            'encoding' => 'UTF-8',
            'soap_version' => SOAP_1_2,
            'cache_wsdl' => WSDL_CACHE_NONE,
            'connection_timeout' => 15,
            'login' => self::SOAP_USERNAME,
            'password' => self::SOAP_PASSWORD,
            'stream_context' => stream_context_create($opts),
        );
    
    评论

报告相同问题?

悬赏问题

  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。
  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了