3. Mai 2012

PHP SOAP-ERROR: Encoding: Violation of encoding rules

3. Mai 2012 - Geschrieben von Martin - Keine Kommentare

Gestern ist dieses Problem bei mir aufgetreten, und ich habe keine Lösung gefunden. Wahrscheinlich liegt es am WSDL, welches von Lotus Domino generiert wurde. Dies beinhält komplexe Strukturen an denen die Standard PHP SOAP Extension wohl scheitert.

So sah mein Code bis dahin aus:

<?php
$client = new SoapClient('http://meinsoapserver.de/?WSDL');
$response = $client->__soapCall('getArticles');

Leider warf er immer folgenden Fehler:

SOAP-ERROR: [Client] Encoding: Violation of encoding rules

Mehr oder weniger aus Verzweiflung habe ich dann mal die „NuSOAP“ Bibliothek getestet, welche SOAP ohne die PHP Extension implementiert und darüberhinaus noch Caching, usw. was mich aber in dem Moment nicht interessiert hat ;-)

<?php
$client = new nusoap_client('http://meinsoapserver.de/?WSDL', true);
$response = $client->call('getArticles');

Taterataaa, und schon gehts.