首页 > 解决方案 > 使用基本身份验证工作的 PHP SOAP 请求

问题描述

我正在尝试找到一种方法来设置一个 PHP 文件,该文件将使用基本用户名发送 SOAP 请求并将身份验证传递给提供者,然后获取响应并将其写入同一文件夹中的文件。

它应该在每次调用时重写或更新文件。

详细链接: https ://www.ct4partners.com/ws/ctproductsinstock.asmx

标签: phpsoap

解决方案


下面的简单示例:

<?php
/* Method GetCTProductGroups
 <GetCTProductGroups xmlns="http://www.ct4partners.com/B2B"> <== 1. method 
      <username>string</username>  <===  2. param 
      <password>string</password>   <=== 2. param
    </GetCTProductGroups>
 */

$urlToWsdl = 'https://www.ct4partners.com/ws/ctproductsinstock.asmx?wsdl';

$client = new SoapClient($urlToWsdl);

$request = array(
    'username' => 'login', //2. param
    'password' => 'pass'    //2. param
);

$client->GetCTProductGroups($request); //1. call method

$xml = $client->__getLastResponse(); // Get XML

//if response not empty (You must provide real login details / real data param)
if(isset($xml))
{
    $dom = new DOMDocument;
    $dom->preserveWhiteSpace = FALSE;
    $dom->loadXML(
            $xml,
            LIBXML_HTML_NOIMPLIED | 
            LIBXML_HTML_NODEFDTD |  
            LIBXML_NOERROR |        
            LIBXML_NOWARNING        
        );

    //Save XML as a file
    $dom->save('response.xml');
}

推荐阅读