# Problem mit Verbindung zur Rest-Api

**URL:** <https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [26. September 2012 um 16:25 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878 "2012-09-26T16:25:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![theexplainer](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@theexplainer](https://forum.shopware.com/u/theexplainer)\
**Post date:** [26. September 2012 um 16:25 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/1 "2012-09-26T16:25:08Z")

</div>

Hi, vielleicht kann mir jemand helfen, ich hab mal versucht das Rest-Api Tutorial nachzuvollziehen, leider henge ich schon bei der Authentifizierung, die aber laut meinem Server-Admin alle Voraussetzungen hat. Mein Skript: [code]\<?php if (isset($\_SERVER[‚Authorization‘])) {  
auth = preg\_split('/\s+/', trim(\_SERVER[‚Authorization‘]));  
if (strtolower($auth[0]) == ‚basic‘ && count($auth) \>= 2) { $data = explode(":", base64\_decode($auth[1])); if (count(data) \\>= 2) { \_SERVER[‚PHP\_AUTH\_USER‘] = array\_shift(data); \_SERVER[‚PHP\_AUTH\_PW‘] = join(’:’, $data); } } } class ApiClient { const METHODE\_GET = ‚GET‘; const METHODE\_PUT = ‚PUT‘; const METHODE\_POST = ‚POST‘; const METHODE\_DELETE = ‚DELETE‘; protected $validMethods = array( self::METHODE\_GET, self::METHODE\_PUT, self::METHODE\_POST, self::METHODE\_DELETE ); protected $apiUrl; protected $cURL; public function \_\_construct($apiUrl, $username, $apiKey) { $this-\>apiUrl = substr($apiUrl, -1) != ‚/‘ ? $apiUrl . ‚/‘ : $apiUrl; //Initializes the cURL instance $this-\>cURL = curl\_init(); curl\_setopt($this-\>cURL, CURLOPT\_RETURNTRANSFER, true); curl\_setopt($this-\>cURL, CURLOPT\_HTTPAUTH, CURLAUTH\_DIGEST); curl\_setopt($this-\>cURL, CURLOPT\_USERPWD, $username . ‚:‘ . $apiKey); curl\_setopt($this-\>cURL, CURLOPT\_HTTPHEADER, array( ‚Content-Type: application/json; charset=utf-8‘, )); } public function call($url, $method = self::METHODE\_GET, $data = array()) { if (!in\_array($method, $this-\>validMethods)) { throw new Exception('Invalid HTTP-Methode: ’ . $method); } $dataString = json\_encode($data); curl\_setopt($this-\>cURL, CURLOPT\_URL, $this-\>apiUrl . $url); curl\_setopt($this-\>cURL, CURLOPT\_CUSTOMREQUEST, $method); curl\_setopt($this-\>cURL, CURLOPT\_POSTFIELDS, $dataString); $result = curl\_exec($this-\>cURL); $httpCode = curl\_getinfo($this-\>cURL, CURLINFO\_HTTP\_CODE); return $this-\>prepareResponse($result, $httpCode); } protected function prepareResponse($result, $httpCode) { echo "

## HTTP: $httpCode

"; if (null === $decodedResult = json\_decode($result, true)) { $jsonErrors = array( JSON\_ERROR\_NONE =\> ‚Es ist kein Fehler aufgetreten‘, JSON\_ERROR\_DEPTH =\> ‚Die maximale Stacktiefe wurde erreicht‘, JSON\_ERROR\_CTRL\_CHAR =\> ‚Steuerzeichenfehler, möglicherweise fehlerhaft kodiert‘, JSON\_ERROR\_SYNTAX =\> ‚Syntaxfehler‘, ); echo "

## Could not decode json

"; echo "json\_last\_error: " . $jsonErrors[json\_last\_error()]; echo "  
Raw:  
"; echo "

```
" . print\_r($result, true) . "

```

"; return; } if (!isset($decodedResult[‚success‘])) { echo „Invalid Response“; return; } if (!$decodedResult[‚success‘]) { echo "

## No Success

"; echo "

" . $decodedResult[‚message‘] . "

"; return; } echo "

## Success

"; if (isset($decodedResult[‚data‘])) { echo "

```
" . print\_r($decodedResult['data'], true) . "

```

"; } return $decodedResult; } } $client = new ApiClient( //URL des Shopware Rest Servers ‚[http://www.webshop-programmierung.at/api](http://www.webshop-programmierung.at/api)‘, //Benutzername ‚ds‘, //API-Key des Benutzers ‚xxxxxxxxxxxxxxxxxxxxx‘ ); $client-\>call(‚articles/3‘, ApiClient::METHODE\_GET); echo $client; ?\> [/code] und hier die Fehlermeldung: HTTP: 401 No Success Invalid or missing auth Beim direkten Aufruf über die URL komm ich auch nicht über die Passworteingabe hinaus.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [24. Oktober 2012 um 14:15 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/2 "2012-10-24T14:15:41Z")

</div>

Habe nun das gleiche Problem. Konntest du es zu deiner Zeit lösen?

---

<div class="post-metadata">

**Author:** ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)\
**Post date:** [24. Oktober 2012 um 17:50 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/3 "2012-10-24T17:50:54Z")

</div>

funktioniert bei mir ohne probleme in 403. ` $client = new ApiClient( //URL des Shopware Rest Servers 'http://bui-shopware-dev.de/WEB/shopware/4/api/', //Benutzername 'admin', //API-Key des Benutzers '3xcLdu1ul5Eplybm2Kv3m8JP7mgJJke2uSw85adz' ); print\_r ($client-\>call('articles/2', ApiClient::METHODE\_GET)) ` allerdings habe ich das ` if (isset($\_SERVER['Authorization'])) ... ` weggelassen.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [24. Oktober 2012 um 18:14 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/4 "2012-10-24T18:14:45Z")

</div>

Muss bei mir an der Shopware-Installation liegen. Selbst [http://www.meineDomain.de/api](http://www.meineDomain.de/api) funktioniert nicht. Es kommt die Authentifizierung ich gebe den im Backend angelegten API User und Key ein, aber der Benutzer wird nicht angenommen.

---

<div class="post-metadata">

**Author:** ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)\
**Post date:** [24. Oktober 2012 um 18:25 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/5 "2012-10-24T18:25:37Z")

</div>

ist der evntl. nicht in der gruppe local\_admins ?

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [24. Oktober 2012 um 18:28 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/6 "2012-10-24T18:28:25Z")

</div>

Doch ist er. Habe auch extra noch einen neuen Benutzer angelegt.

---

<div class="post-metadata">

**Author:** ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)\
**Post date:** [24. Oktober 2012 um 18:36 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/7 "2012-10-24T18:36:26Z")

</div>

dann debugge doch mal ein bisschen in engine/Shopware/Plugins/Default/Core/RestApi/Bootstrap.php::onFrontPreDispatch()

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [24. Oktober 2012 um 18:58 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/8 "2012-10-24T18:58:49Z")

</div>

Also hier habe ich das Problem: $identity = $result-\>getIdentity(); Das Ganze für mich nun zur engine/Shopware/Components/Auth/Adapter/default.php Leider blick ich hier nicht wirklich durch.

---

<div class="post-metadata">

**Author:** ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)\
**Post date:** [24. Oktober 2012 um 19:10 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/9 "2012-10-24T19:10:28Z")

</div>

der benutzer muss übrigens auch aktiviert sein… ich blick’ da bei dieser massigen vererbung und $this-\>\_adapter auch nicht durch, zumal es bei mir ja auch funktioniert. evntl. liegts an der php/mysql version? hier: PHP 5.4.6/5.5.28 jeweils ubuntu x64

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [24. Oktober 2012 um 19:21 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/10 "2012-10-24T19:21:36Z")

</div>

Server ist DF und MYSQL 5.1.60 Hatte vorhin erst von SW4.0 auf SW4.0.3 geupdatet. Evtl. muss ich den Shop mal neu aufziehen… ☹ uWamp hatte bei mir zuletzt auch funktioniert.

---

<div class="post-metadata">

**Author:** ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)\
**Post date:** [24. Oktober 2012 um 19:37 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/11 "2012-10-24T19:37:38Z")

</div>

[quote=“ottscho”] Evtl. muss ich den Shop mal neu aufziehen… ☹ [/quote] das kann gut sein. ich selbst habe noch keine updates vorgenommen, sondern immer den shop neu installiert. aber ich bin ja auch kein shop-betreiber sondern “nur” programmierer 🙂 naja, berichte mal ob das geholfen hat.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [24. Oktober 2012 um 21:33 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/12 "2012-10-24T21:33:42Z")

</div>

so, jetzt weiß ich das es am Server liegt. DF verwendet fastcgi. nun habe ich in die htaccess wie im Tutorial beschrieben diese Zeilen eingefügt: `<ifmodule mod_fastcgi.c>
    AddHandler php5-fcgi .php
    Action php5-fcgi /php5-fcgi
    Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
</ifmodule>` Leider ohne Erfolg. Verwendet von euch jemand Domainfactory und hat die REST API am Laufen?

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [24. Oktober 2012 um 22:06 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/13 "2012-10-24T22:06:31Z")

</div>

doch kein FastCGI, so langsam blick ich es nicht mehr… ist schon zu spät.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [25. Oktober 2012 um 09:13 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/14 "2012-10-25T09:13:29Z")

</div>

Moin, ich habe nun den ganzen Shop komplett neu aufgesetzt. Leider ohne Erfolg. Mein Problem bleibt bestehen… Hat jemand eine Idee? Gibt es auf User, welcher bei DF sind und können dies mal testen? Danke

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [25. Oktober 2012 um 10:06 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/15 "2012-10-25T10:06:36Z")

</div>

Problem ist gelöst danke DF Support. Folgendes muss in die .htaccess eingefügt werden. RewriteRule .\* - [E=HTTP\_AUTHORIZATION:%{HTTP:Authorization}] Dann klappt das auch 🙂 Shopware, evtl könnte ihr dies in das Tutorial aufnehmen. Danke

---

<div class="post-metadata">

**Author:** ![radox1](https://avatars.discourse-cdn.com/v4/letter/r/e19b73/32.png) [@radox1](https://forum.shopware.com/u/radox1)\
**Post date:** [25. Oktober 2012 um 15:28 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/16 "2012-10-25T15:28:23Z")

</div>

Aber nur wenn PHP über CGI eingebunden ist. 😉

---

<div class="post-metadata">

**Author:** ![Andre\_K](https://avatars.discourse-cdn.com/v4/letter/a/ea5d25/32.png) [@Andre\_K](https://forum.shopware.com/u/Andre_K)\
**Post date:** [17. Februar 2014 um 22:28 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/17 "2014-02-17T22:28:39Z")

</div>

Hallo Ottscho, hattest Du später noch einmal Probleme mit d)f? Nutzt Du php 5.49 fastcgi bei d)f (im Admin-Panel kann die Version und Standard, fastcgi etc. gewählt werden)? Mit Standard geht es bei mir, mit fastcgi nicht. Danke André

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [18. Februar 2014 um 07:36 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/18 "2014-02-18T07:36:20Z")

</div>

Nein, ich hatte keine Probleme mehr. Aber nutze es auch nicht ständig.

---

<div class="post-metadata">

**Author:** ![Andre\_K](https://avatars.discourse-cdn.com/v4/letter/a/ea5d25/32.png) [@Andre\_K](https://forum.shopware.com/u/Andre_K)\
**Post date:** [23. Februar 2014 um 16:54 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/19 "2014-02-23T16:54:46Z")

</div>

Der Vollständigkeit halber: Die API läuft mit der Shopware-Version 4.2.1 bei d)f auch unter fastcgi einwandfrei.

---

<div class="post-metadata">

**Author:** ![bkraemer](https://avatars.discourse-cdn.com/v4/letter/b/7993a0/32.png) [@bkraemer](https://forum.shopware.com/u/bkraemer)\
**Post date:** [5. Juni 2014 um 10:49 UTC](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878/20 "2014-06-05T10:49:51Z")

</div>

[quote=“ottscho”] RewriteRule .\* - [E=HTTP\_AUTHORIZATION:%{HTTP:Authorization}] [/quote] DANKE!!! Auch wenn der Post schon einige Zeit her ist. Dank Google bin ich darauf gestoßen und es war die richtige Lösung! Danke!!! 🙂

[Nächste Seite](https://forum.shopware.com/t/problem-mit-verbindung-zur-rest-api/8878.md?page=2)
