mohdnazrul/laravel-ctos

此包已被弃用且不再维护。作者建议使用mohdnazrul/laravel-ctos包代替。

使用 Laravel 5.4 及以上版本(CTOS WSDL)的 Soap 客户端

v1.1.0 2018-04-24 03:42 UTC

This package is auto-updated.

Last update: 2024-03-04 04:35:43 UTC


README

此库允许查询 CTOS - B2B API 的注册用户。

您需要提供的访问详情才能调用 API。有关数据数组/XML中的确切参数,请参考您的离线文档。

如果您不知道这是什么,那么您可能不需要或想要这个库。

配置

.env 文件

当前通过 .env 文件配置允许设置以下变量

  • CTOS_ENV=UAT
  • CTOS_URL='[http://api.endpoint/url/](http://api.endpoint/url/)'
  • CTOS_USERNAME=demouser
  • CTOS_PASSWORD=demopassword
  • CTOS_ACCOUNT_CODE=ACC_CODE
  • CTOS_COMPANY_CODE=COMPANY_CODE

可用函数

** 1. 设置记录 **

     $records = new Records($party_type, $basic_group_code, $iclc_no, $nicbr_no, $name,
                    $mobile_no, $ref_no, $distribution_code, $purpose_code, $purpose_content,
                    $state_code, $country_code, $include_consent, $include_ctos, $include_trex, $include_ccris,
                    $summary, $include_ccris_supplementary, $include_dcheque, $include_fico, $include_sme_financial_health_indicator,
                    $include_fico_capacity_index, $include_latest_ssm, $entity_key_confirm);

** 2. 设置批量 CTOS **

   $batch = new Batch('0009', '0',
                    'http://ws.cmctos.com.my/ctosnet/request', $this->company_code,
                    $this->account_code, $this->soapUser, '1');

** 3. 设置批量请求 **

 $xml = $batch->XMLBatchWithRecords('request', $records->getRequestXMLFormat('request'));

** 4. 设置格式为 HTML 转义的 XML 并将其放入信封内 **

 $dataXML = $ctos->setXMLPostString(htmlentities($xml), true);

** 5. 设置 CTOS 的可变头 **;

 $content_type = 'text/xml;charset=\"utf-8\"';
                $accept = 'text/xml';
                $cache_control = 'no-cache';
                $pragma = 'no-cache';
                $soap_action = '';
                $ctos->setHeader($content_type, $accept, $cache_control, $pragma, $soap_action, true);

** 6. 连接 CTOS **

  $ctos->connect();

** 7. 获取响应 **

  $res = $ctos->getResponse();

此函数尝试从 CTOS 获取报告数据并返回 XML 响应;在连接错误的情况下,它返回

如果请求成功但查询导致数据相关错误,返回的数组将包含以下字段

code:包含从 CTOS 收到的错误代码

error:包含从 CTOS 收到的错误消息

成功请求返回请求的报告的 XML

  • FOR LARAVEL 设置配置:-
   composer require mohdnazrul/laravel-ctos
  • 执行 composer require mohdnazrul/laravel-ctos
   ....
   'providers'=> [
     .
     MohdNazrul\CTOSLaravel\CTOSServiceProvider::class,
     .
   ],
   'aliases' => [
      .
      'CTOSApi' => MohdNazrul\CTOSLaravel\CTOSServiceFacade::class,
      '
    ],
  • 在 config/app.php 中添加以下语法
php artisan vendor:publish --tag=ctos 
  • 根据您的账户,可以编辑 config/ctos.php 中的默认配置 CBM,如下所示
return [
    'env' => env('CTOS_ENV', 'UAT'),
    'url' => env('CTOS_URL', 'http://locahost'),
    'username' => env('CTOS_USERNAME', 'xml'),
    'password' => env('CTOS_PASSWORD', '123456'),
    'account_code' => env('CTOS_ACCOUNT_CODE', 'account_code'),
    'company_code' => env('CTOS_COMPANY_CODE', 'company_code')
];