2017-07-27 3 views
0

Ich habe zwei identische CXF 3.1-Webdienste, Service_A und Service_B, die dieselben WSDL-Dateien haben. Service_A wird auf Server_X und Service_B auf Service_Y bereitgestellt. Gibt es eine Möglichkeit, einen CXF-Webdienst Service_C zu implementieren, der auf Server_Z bereitgestellt wird und die Rolle eines dynamischen Proxy-Webdiensts spielt? Service_C sollte dieselbe WSDL-Datei wie Service_A und Service_B haben, leitet die SOAP-Anforderungen jedoch an Service_A oder Service_B um und sendet die SOAP-Antwort an den Client zurück. Vielen Dank im Voraus!Dynamic Proxy CXF-Webdienst

Antwort

0

Sie können das tun. Ihr Dienst C empfängt die Anforderung und ruft den entsprechenden Endpunkt entweder in Dienst A oder Dienst B in alternativer Weise (Round Robin) auf und gibt an den Client die Antwort zurück, die der Aufruf an den Dienst A oder B zurückgegeben hat.

Ansonsten würde ich vorschlagen, Apache oder Nginx anstelle von Service C auf Server Z zu verwenden, um diesen Lastenausgleich für Sie zu erledigen. Ein Load Balancer wird Ihre Anfragen an den Service A oder B viel besser weiterleiten als an Ihren Service C.

+0

Vielen Dank für Ihre Antwort! Gibt es eine Möglichkeit, den Webdienst C generisch zu codieren, ohne dass Operationsklassen generiert werden müssen? –

+0

Sie hätten die Endpunkte von A und die Endpunkte von B in Webdienst C implementiert. Dienst C erhält die Anforderung und kann die entsprechenden Endpunkte von Dienst A oder Dienst B aufrufen. – Ramil

+0

Wie programmgesteuert erreichen? Ich habe einen Servlet-Filter implementiert und ich habe nicht gearbeitet. –