cxf: WSDL dynamisch erzeugen (zur Laufzeit)

puddah

Aktives Mitglied
Hallo,

stehe zur Zeit vor der Aufgabe die WSDL für einen Webservice dynamisch mit CXF zu erzeugen, weiss aber nicht wie bzw. ob das mit cxf überhaupt geht. Das Problem ist, dass eine Reihe von Datenstrukturen (xsd's) zur Laufzeit eingelesen und der WSDL beschreibung hinzugefügt werden sollen (die reinen Service-Operationen bleiben also immer gleich). Der Webservice ist über Spring configuriert. Hab da bereits das Attribut wsdlLocation ausprobiert, aber dies erlaubt lediglich die definition einer statischen WSDL. Dann bin ich über die Klasse ServiceWSDLBuilder gestolpert, hab aber leider keinerlei Doku gefunden, wie ich das ganze einbinden kann. Hat jemand ne Idee wie sowas zu lösen wäre bzw. evtl. einen anderen Ansatz?

Danke und Gruß
Puddah
 
Ja das tut er, aber er generirert dir halt WSDL aus anhand der annotierten Bean, die als WebService in Spring konfiguriert ist. Was ich vor hab ist in diesen Prozess einzugreifen und ihm ein paar XSDs an die Hand geben, die er als wsdlTypes mit einbindet. Da is die Frage, wie geht das bzw. kriegt man das überhaupt hin?
 
ah ok danke, das sieht schon mal viel versprechend aus, aber was ich nicht ganz verstehe ist wie ich das ganze jetzt mit CXF verdrahte?
 
Mit purem CXF weiß ich nicht, aber du nutzt doch eh schon Spring, du kannst doch das SpringServlet einfach auf eine feste Adresse packen und diese als Adresse für das WSDL rausgeben. CXF selber kann doch parallel laufen.

Beispiel:
CXF: /bla/webservice
Spring /bla/wsdl
 

Zurück
Oben