带CURL的PHP​​中的SOAP请求

带CURL的PHP​​中的SOAP请求,第1张

带CURL的PHP​​中的SOAP请求

经过测试,可以正常工作!

  • 使用https,用户名密码
            <?php     //Data, connection, auth    $dataFromTheForm = $_POST['fieldName']; // request data from the form    $soapUrl = "https://connecting.website.com/soap.asmx?op=DoSomething"; // asmx URL of WSDL    $soapUser = "username";  //  username    $soapPassword = "password"; // password    // xml post structure    $xml_post_string = '<?xml version="1.0" encoding="utf-8"?>  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">    <soap:Body>      <GetItemPrice xmlns="http://connecting.website.com/WSDL_Service"> // xmlns value to be set to your's WSDL URL        <PRICE>'.$dataFromTheForm.'</PRICE>       </GetItemPrice >    </soap:Body>  </soap:Envelope>';   // data from the form, e.g. some ID number       $headers = array(         "Content-type: text/xml;charset="utf-8"",         "Accept: text/xml",         "Cache-Control: no-cache",         "Pragma: no-cache",         "SOAPAction: http://connecting.website.com/WSDL_Service/GetPrice",          "Content-length: ".strlen($xml_post_string),     ); //SOAPAction: your op URL        $url = $soapUrl;        // PHP cURL  for https connection with auth        $ch = curl_init();        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);        curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        curl_setopt($ch, CURLOPT_USERPWD, $soapUser.":".$soapPassword); // username and password - declared at the top of the doc        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);        curl_setopt($ch, CURLOPT_TIMEOUT, 10);        curl_setopt($ch, CURLOPT_POST, true);        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); // the SOAP request        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);        // converting        $response = curl_exec($ch);         curl_close($ch);        // converting        $response1 = str_replace("<soap:Body>","",$response);        $response2 = str_replace("</soap:Body>","",$response1);        // convertingc to XML        $parser = simplexml_load_string($response2);        // user $parser to get your data out of XML response and to display it.?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存