Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 1.12 KB

metadata.md

File metadata and controls

36 lines (24 loc) · 1.12 KB

Driver metadata

Dealing with ext-soap issues

Duplicate types

Ext-soap does not add any namespace or unique identifier to the types it knows. You can read more about this in the known ext-soap issues section. Therefore, we added some strategies to deal with duplicate types:

IntersectDuplicateTypesStrategy

Enabled by default when using DefaultEngineFactory::create().

This duplicate types strategy will merge all duplicate types into one big type which contains all properties.

RemoveDuplicateTypesStrategy

This duplicate types strategy will remove all duplicate types it finds.

You can overwrite the strategy on the DefaultEngineFactory object inside the client factory:

<?php

use Phpro\SoapClient\Soap\DefaultEngineFactory;
use Phpro\SoapClient\Soap\ExtSoap\Metadata\Manipulators\DuplicateTypes\RemoveDuplicateTypesStrategy;
use Phpro\SoapClient\Soap\Metadata\MetadataOptions;

$engine = DefaultEngineFactory::create(
    $options, $transport,
    MetadataOptions::empty()->withTypesManipulator(
        new RemoveDuplicateTypesStrategy()
    )
);