Feb 23

Another fancy error message that took me some time to figure out. I haven’t even found the entire reason yet, but found a workaround.
The error is thrown by accessing the repository catalog in the Contao Backend.

Ok, since i use a Gentoo Installation, that is always up2date, but sometimes runs into some dependency problems i wasn’t sure if the SOAP part of PHP has some generic error. First try was to search for the WSDL path in the files.

I found it only once, contaoroot/system/config/config.php :
$GLOBALS[‘TL_CONFIG’][‘repository_wsdl’]      = ‘http://www.contao.org/services/repository.wsdl’;
I downloaded the file, placed it locally and changed the value. Worked, so the SOAP part of PHP is working.

After some more fiddling around, checking with tcpdump, it doesn’t even try to connect to the outside world, so i’m assuming i have some other network/naming related issues since this stuff runs on a VM with a RFC1918 private IP but with access to the internet.

Anyway, the better workaround was to use my proxy by adding the following to the config:
$GLOBALS[‘TL_CONFIG’][‘useProxy’] = true;
$GLOBALS[‘TL_CONFIG’][‘proxy_url’] = ‘http://172.20.20.11:3128’;

Original Error Message:
[22-Feb-2012 21:35:50 UTC] PHP Fatal error: Uncaught exception ‘SoapFault’ with message ‘SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www.contao.org/services/repository.wsdl’ : Start tag expected, ‘<‘ not found
‘ thrown in /var/www/xxxxx.de/system/modules/rep_client/RepositoryBackendModule.php on line 139

 

 

3 Responses to “contao soapfault : Start tag expected, ‘<'”

  1. l_andrey says:

    Hi,

    I’ve found the same issue in Magento running on Gentoo Linux.
    SoapClient fails in two different places in code. It looks like some generic issue in PHP under Gentoo.
    Did you find any solution for that?

    BR,
    Andrey

  2. Hoschie says:

    Sorry no, haven’t looked further, just used my proxy workaround.

  3. l_andrey says:

    I’ve found solution.
    It can be fixed by rebuilding PHP with -curlwrappers USE flag (or with –without-curlwrapper parameter to ./configure in general case).
    The issue is linked to HTTP 1.1 chunked data transfer. Workaround with proxy works, because by default proxies work with HTTP 1.0
    More details in my blog: http://andrey.legaev.com/2012/05/gentoo-php-5313-soapfault-start-tag.html

    — Andrey.

Leave a Reply

You must be logged in to post a comment.

preload preload preload