<?php
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/Fixtures/AttachmentType.php';
require __DIR__ . '/Fixtures/AttachmentRequest.php';
require __DIR__ . '/Fixtures/base64Binary.php';
use BeSimple\SoapCommon\Helper as BeSimpleSoapHelper;
use BeSimple\SoapClient\SoapClient as BeSimpleSoapClient;
use Fixtures\AttachmentRequest;
use Fixtures\base64Binary;
$options = array(
'soap_version' => SOAP_1_1,
'features' => SOAP_SINGLE_ELEMENT_ARRAYS, // make sure that result is array for size=1
'trace' => true, // enables use of the methods SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse and SoapClient->__getLastResponseHeaders
'attachment_type' => BeSimpleSoapHelper::ATTACHMENTS_TYPE_MTOM,
'cache_wsdl' => WSDL_CACHE_NONE,
'classmap' => array(
'base64Binary' => 'Fixtures\base64Binary',
'AttachmentRequest' => 'Fixtures\AttachmentRequest',
),
'connection_timeout' => 1,
);
$sc = new BeSimpleSoapClient(__DIR__.'/MTOM.wsdl', $options);
try {
$b64 = new base64Binary();
$b64->_ = 'This is a test. :)';
$b64->contentType = 'text/plain';
$attachment = new AttachmentRequest();
$attachment->fileName = 'test123.txt';
$attachment->binaryData = $b64;
var_dump($sc->attachment($attachment));
} catch (Exception $e) {
var_dump($e);
}
|