SOAP Curl PHP 请求

SOAP Curl PHP request

提问人:Sergei 提问时间:1/9/2023 更新时间:1/9/2023 访问量:40

问:

我试图尝试获得令牌,但答案总是空白的。我做错了什么?

        $post_string = '
    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/"> 
       <soap:Header/> 
       <soap:Body> 
          <tem:GetToken> 
             <tem:WebChanelID>8</tem:WebChanelID> 
             <tem:AccessCode>444555</tem:AccessCode> 
          </tem:GetToken> 
       </soap:Body> 
    </soap:Envelope> 
    ';
    $soap_do = curl_init(); 
    curl_setopt($soap_do, CURLOPT_URL,            "https://hma.ecvi.ru/service/webform.wsdl.php" );   
    curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10); 
    curl_setopt($soap_do, CURLOPT_TIMEOUT,        10); 
    curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true );
    curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false);  
    curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false); 
    curl_setopt($soap_do, CURLOPT_POST,           true ); 
    curl_setopt($soap_do, CURLOPT_POSTFIELDS,    $post_string); 
    curl_setopt($soap_do, CURLOPT_HTTPHEADER,     array('Content-Type: text/xml; charset=utf-8', 'Content-Length: '.strlen($post_string) )); 
    
    $result = curl_exec($soap_do);
    $err = curl_error($soap_do);  

我需要得到一个答案,但它总是空白的。

PHP 卷曲 肥皂

评论

0赞 Syscall 1/9/2023
你试过而不是吗?curl_setopt($soap_do, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($soap_do, CURLOPT_POST, true);
0赞 Syscall 1/9/2023
和的内容是什么?$result$err
0赞 Marcel 1/11/2023
你能解释一下为什么你用curl而不是php-soap吗?使用 SoapClient 和 SoapServer 类将使使用起来更加简单。甚至捕获错误也比使用 curl 函数更简单。卷曲有具体原因吗?

答: 暂无答案