Ajout des modules ColissimoWs et ColissimoLabel.php

Ne pas oublier de vérifier si les tables nécessaires sont bien créées en BDD.
This commit is contained in:
2020-05-07 11:45:31 +02:00
parent 28b21af6c8
commit 649c92e52f
114 changed files with 21550 additions and 8312 deletions

View File

@@ -0,0 +1,29 @@
<?php
/*************************************************************************************/
/* Copyright (c) Franck Allimant, CQFDev */
/* email : thelia@cqfdev.fr */
/* web : http://www.cqfdev.fr */
/* */
/* For the full copyright and license information, please view the LICENSE */
/* file that was distributed with this source code. */
/*************************************************************************************/
/**
* Created by Franck Allimant, CQFDev <franck@cqfdev.fr>
* Date: 06/09/2019 01:27
*/
namespace ColissimoWs\Soap;
use ColissimoPostage\ServiceType\Generate;
class GenerateWithAttachments extends Generate
{
const DEFAULT_SOAP_CLIENT_CLASS = '\ColissimoWs\Soap\SoapClientWithAttachements';
public function getRawResponse()
{
return self::getSoapClient()->getRawResponse();
}
}

View File

@@ -0,0 +1,62 @@
<?php
namespace ColissimoWs\Soap;
/**
* This class can be overridden at your will.
* Its only purpose is to show you how you can use your own SoapClient client.
*/
class SoapClientWithAttachements extends \SoapClient
{
/**
* Final XML request
* @var string
*/
public $lastRequest;
/**
* @var string
*/
protected $rawResponse;
/**
* @see SoapClientWithAttachements::__doRequest()
*/
public function __doRequest($request, $location, $action, $version, $oneWay = null)
{
/**
* Colissimo does not support type definition
*/
$request = str_replace(' xsi:type="ns1:outputFormat"', '', $request);
$request = str_replace(' xsi:type="ns1:letter"', '', $request);
$request = str_replace(' xsi:type="ns1:address"', '', $request);
$request = str_replace(' xsi:type="ns1:sender"', '', $request);
/**
* Colissimo returns headers and boundary parts
*/
$response = parent::__doRequest($this->lastRequest = $request, $location, $action, $version, $oneWay);
$this->rawResponse = $response;
/**
* So we only keep the XML envelope
*/
$response = substr($response, strpos($response, '<soap:Envelope '), strrpos($response, '</soap:Envelope>') - strpos($response, '<soap:Envelope ') + strlen('</soap:Envelope>'));
return '<?xml version="1.0" encoding="UTF-8"?>' . trim($response);
}
/**
* Override it in order to return the final XML Request
* @return string
* @see SoapClientWithAttachements::__getLastRequest()
*/
public function __getLastRequest()
{
return $this->lastRequest;
}
public function getRawResponse()
{
return $this->rawResponse;
}
}