Skip to main content

Otris SOAP

Vor der Übergabe eines Dokumentes an die Otris SOAP Schnittstelle ist es möglich Modifikationen am Dokument aber auch an den Verbindungsparametern vorzunehmen. Hier ein Beispiel für einen solchen UserExit:

<?php

use Squeeze\xDoc;
use Squeeze\xReturnObject;

// vor Squeeze 2.5: BeforeExportOtrisSoap anstatt BeforeOtrisSoapExport
function BeforeExportOtrisSoap(xDoc $doc, array $soapDoc): xReturnObject
{
    try {

        $company = $doc->getFieldByName('Company');
        if ($company === null) {
            // return an error if the Squeeze field does not exist
            return new xReturnObject(false, 500, 'Field Company does not exist', $soapDoc);
        }

        // If the value of the field Company is equal 1000
		if ($company->getValue()->value == '1000') {
		    // use a different server
			$soapDoc['parameter']['ServerUrl'] = 'http://123.123.123.123:11001';
		}

        // return a new result with the modified $soapDoc variable
        return new xReturnObject(true, 200, 'UserExit BeforeExportOtrisSoap successful', $soapDoc);

    } catch (Exception $e) {
        // in case of an exception return an error
        return new xReturnObject(false, 500, $e->getMessage(), $soapDoc);
    }
}