# \[5.2\] Service mehrfach überschreiben

**URL:** <https://forum.shopware.com/t/5-2-service-mehrfach-uberschreiben/46188>\
**Category:** Programmierung\
**Created:** [7. Juni 2017 um 08:49 UTC](https://forum.shopware.com/t/5-2-service-mehrfach-uberschreiben/46188 "2017-06-07T08:49:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![DerFabi](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@DerFabi](https://forum.shopware.com/u/DerFabi)\
**Post date:** [7. Juni 2017 um 08:49 UTC](https://forum.shopware.com/t/5-2-service-mehrfach-uberschreiben/46188/1 "2017-06-07T08:49:32Z")

</div>

Hallo zusammen,

ich habe gerade folgendes Problem. Und zwar versuche ich, den Service RegisterServiceInterface zu überschreiben. Dies funktioniert auch wunderbar für mein Plugin. Nun kommt aber ein weiteres Plugin dazu, welches auch den selben Service anspricht (Plugin ist leider verschlüsselt). Nachdem ich dieses installiere, erhalte ich einen 503. Welches ist die sauberste Möglichkeit, dass beide Plugins den selben Service nutzen können ohne das ein 503 entsteht?

&nbsp;

Danke für die Hilfe 😉

---

<div class="post-metadata">

**Author:** ![derwunner](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@derwunner](https://forum.shopware.com/u/derwunner)\
**Post date:** [8. Juni 2017 um 06:20 UTC](https://forum.shopware.com/t/5-2-service-mehrfach-uberschreiben/46188/2 "2017-06-08T06:20:30Z")

</div>

Hallo,

was sagt denn der 503er Fehler genau aus? Fehlermeldung bzw. Debug Meldung?

Also prinzipiell heißt das ja, dass das verschlüsselte Plugin versucht etwas aufzurufen, was es entweder nicht in Deiner Service Implementation gibt, oder es erwartet einen anderen return Wert. Ohne die genaue Fehlermeldung ist das aber nur Rätselraten.

Du kannst außerdem Services jederzeit überschreiben, in jedem Event. Vielleicht würde es auch helfen, es auf das richtige Event einzugrenzen?

&nbsp;

Du könntest auch per Reflection einiges herausfinden. Das muss ja zur Laufzeit entschlüsselt werden und dann kannst Du z. B. mittels get\_class oder get\_class\_methods oder debug\_backtrace einiges heraus finden.

Eine Notlösung wäre z. B. auch, dass Du per Reflection jeweils in den aufgerufenen Methoden des Service prüfst, ob der Caller das verschlüsselte Plugin ist oder Deines und je nachdem dann einen anderen Code ausführst.

&nbsp;

&nbsp;

MFG

&nbsp;

derwunner
