2016-10-06 2 views
0

임 2 일 동안 고생하고 인터넷에서 발견 한 거의 모든 것을 시도합니다. header securityContext에 username과 password가있는 SOAP 서비스가 있지만 PHP에서 해당 양식의 데이터를 제공하는 방법을 모릅니다.헤더 securityContext의 PHP SOAP 자격 증명

이 필요 헤더 XML :

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

답변

0

허, 내가이 일을 할 수 있었다. 누군가가 비슷한 문제를 안고 있다면 필요한 것은 무엇인가. 헤더 값을 추가

부 :

// 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), 
    ); 
: 또한

$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); 

, 내가 어떤 SSL 옵션을 추가하는 데 필요한 HTTPS 요청 때문에