Для всех, кто сталкивался с этой ошибкой. Попробуйте отключить кэш WSDL из файла php.ini или из параметра в вызове SOAP.
Проблема в том, что PHP по умолчанию кэширует файл WSDL во временной папке. После первого кэширования файл PHP продолжает использовать этот файл. Обновляется только через 24 часа (по умолчанию ttl для кеша).
Так что, если вы измените свой WSDL-файл, PHP подхватит старый, что приведет к ошибке, подобной OP. Мэтт, ваша проблема была решена с помощью ссылки на файл, который никогда не кэшируется.
Причина, по которой он кэшируется по умолчанию, потому что ваш сервер должен запросить файл, а затем проанализировать его, что требует немного выборки и обработки.
У вас есть два варианта: либо изменить соответствующую переменную в вашем php.ini, либо отправить параметр вместе с вашим вызовом SOAP.
Например:
$client = new SoapClient($webservice, array('classmap' => $soap_class_map, 'cache_wsdl' => WSDL_CACHE_NONE));
Надеюсь, это поможет.