# SOAP in Shopware

**URL:** <https://forum.shopware.com/t/soap-in-shopware/32630>\
**Category:** Programmierung\
**Created:** [30. November 2015 um 10:33 UTC](https://forum.shopware.com/t/soap-in-shopware/32630 "2015-11-30T10:33:44Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![KMUdo](https://avatars.discourse-cdn.com/v4/letter/k/f4b2a3/32.png) [@KMUdo](https://forum.shopware.com/u/KMUdo)\
**Post date:** [30. November 2015 um 10:33 UTC](https://forum.shopware.com/t/soap-in-shopware/32630/1 "2015-11-30T10:33:44Z")

</div>

Guten Tag Ich möchte gerne mit SOAP eine Abfrage machen. Im Shopware ist SOAP aktiviert und alles auf grün bei den Systemeigenschaften. Ich benutze ein lokales wsdl-file. Die SOAP-Version habe ich auf 1.1 gesetzt. Wenn ich die Abfrage auf dem Server, aber “ausserhalb” von Shopware ausführe, funktioniert die Abfrage. Wenn ich aber dieselbe Abfrage in einem beliebigen Ordner im Shopware (momentan Views/frontend/\_public/) ausführe, kommt die Meldung: `[faultstring] =\> Could not connect to host [faultcode] =\> HTTP` An was kann das liegen? Warum kann die Abrage vom Server funktionieren, aber von Shopware nicht? Hier mein Client: `$client = new SoapClient("MeinLokales.wsdl", array( 'login' =\> $user, 'password' =\> $pw, 'encoding' =\> "utf-8", 'soap\_version' =\> \SOAP\_1\_1 ));` Hier meine Response-Anfrage: `$response = $client-\>Fetch($params);`

---

<div class="post-metadata">

**Author:** ![marcuskreusch](https://avatars.discourse-cdn.com/v4/letter/m/b5ac83/32.png) [@marcuskreusch](https://forum.shopware.com/u/marcuskreusch)\
**Post date:** [30. November 2015 um 11:22 UTC](https://forum.shopware.com/t/soap-in-shopware/32630/2 "2015-11-30T11:22:13Z")

</div>

Hallo kmudo, es gibt Hoster, die den HTTP-Zugriff auf sich selbst aus Stabilitätsgründen verbieten. Um herauszufinden, ob das bei dir der Fall ist, könntest du einen curl- oder file\_get\_contents()-Call z.B. auf deine Startseite versuchen. Viele Grüße Marcus

---

<div class="post-metadata">

**Author:** ![KMUdo](https://avatars.discourse-cdn.com/v4/letter/k/f4b2a3/32.png) [@KMUdo](https://forum.shopware.com/u/KMUdo)\
**Post date:** [30. November 2015 um 15:27 UTC](https://forum.shopware.com/t/soap-in-shopware/32630/3 "2015-11-30T15:27:14Z")

</div>

Hallo Marcus Danke für Deine schnelle Antwort. Der Hoster lässt es zu, denn ich kann mein SOAP ausführen, wenn es nicht im Shopware-Verzeichnis ist. =\> Wenn der SOAP-Call ausserhalb von Shopware auf demselben Server ausgeführt wird, funktioniert es. Gibt es sonstige Blocker, die das korrekte Ausführen nicht zulassen?

---

<div class="post-metadata">

**Author:** ![pino](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/pino/32/14373_2.png) [@pino](https://forum.shopware.com/u/pino)\
**Post date:** [30. November 2015 um 16:26 UTC](https://forum.shopware.com/t/soap-in-shopware/32630/4 "2015-11-30T16:26:17Z")

</div>

hi, hast du ggf. ne htaccess einstellung für https vorgenommen, oder shop-konfig immer SSL? ist nur so ein gedanke.

---

<div class="post-metadata">

**Author:** ![KMUdo](https://avatars.discourse-cdn.com/v4/letter/k/f4b2a3/32.png) [@KMUdo](https://forum.shopware.com/u/KMUdo)\
**Post date:** [1. Dezember 2015 um 09:33 UTC](https://forum.shopware.com/t/soap-in-shopware/32630/5 "2015-12-01T09:33:42Z")

</div>

Hi Pino Dein Ansatz hat mir geholfen, danke. Mit der SSl läuft alles auf Standart. Somit ist dies nicht das Problem. Das Problem liegt an der PHP-Version… Ich habe von der Version 5.6 auf 5.5 zurückgestuft und voilà, es funktioniert! Ich versuche dem Problem auf den Grund zu kommen und poste meine Erfahrungen für die nächsten Entwickler, die eventuell auf das Problem stossen.

---

<div class="post-metadata">

**Author:** ![KMUdo](https://avatars.discourse-cdn.com/v4/letter/k/f4b2a3/32.png) [@KMUdo](https://forum.shopware.com/u/KMUdo)\
**Post date:** [1. Dezember 2015 um 09:53 UTC](https://forum.shopware.com/t/soap-in-shopware/32630/6 "2015-12-01T09:53:08Z")

</div>

Wenn man weiss woran es liegt, kommt man schnell zum Ergebnis… 🙂 Jetzt läuft der SOAP in der PHP-Version 5.5 UND 5.6 :thumbup: Mein Code vorher: `$client = new SoapClient("MeinLokales.wsdl", array( 'login' =\> $user, 'password' =\> $pw, 'encoding' =\> 'UTF-8', 'soap\_version' =\> SOAP\_1\_1, ));` Mein Code Jetzt: (Minimale Anforderung) `$opts = array( 'ssl' =\> array('ciphers'=\>'RC4-SHA', 'verify\_peer'=\>false, 'verify\_peer\_name'=\>false) ); $client = new SoapClient("MeinLokales.wsdl", array( 'login' =\> $user, 'password' =\> $pw, 'encoding' =\> 'UTF-8', 'soap\_version' =\> SOAP\_1\_1, 'stream\_context' =\> stream\_context\_create($opts) ));` Um sicher zu gehen könnte man: `$opts = array( 'ssl' =\> array('ciphers'=\>'RC4-SHA', 'verify\_peer'=\>false, 'verify\_peer\_name'=\>false) ); $client = new SoapClient("MeinLokales.wsdl", array( 'login' =\> $user, 'password' =\> $pw, 'encoding' =\> 'UTF-8', 'verifypeer' =\> false, 'verifyhost' =\> false, 'soap\_version' =\> SOAP\_1\_1, 'trace' =\> 1, 'exceptions' =\> 1, 'connection\_timeout' =\> 180, 'stream\_context' =\> stream\_context\_create($opts) ));` Ich kann SOAP\_1\_2 nicht testen, da mein wsdl SOAP\_1\_1 braucht. Hoffe das hilft 😉
