Expand my Community achievements bar.

SOLVED

How do you create a SOAP service in CQ5 (AEM)

Avatar

Level 3

Does anyone know how to publish a SOAP service in CQ5? Found the following link but this looks more like a hack. Is there any other way to do it?

1 Accepted Solution

Avatar

Correct answer by
Level 10

AEM does not have the libs (including CXF) to expose a web service. You have really 2 choices. Assume you want to expose JCR data as a web service. You can follow that link. It talks about what you need to do. 

Or 2 - you can setup a web service on a web server (ie Tomcat) and code a Java bean and use Apache CXF and the JCR API. THe bean will expose a WSDL and use the JCR API to perform CRUD (Create, Replace, Update, and Delete) operations on the JCR Data. 

[img]CQWSDL.png[/img]

View solution in original post

6 Replies

Avatar

Correct answer by
Level 10

AEM does not have the libs (including CXF) to expose a web service. You have really 2 choices. Assume you want to expose JCR data as a web service. You can follow that link. It talks about what you need to do. 

Or 2 - you can setup a web service on a web server (ie Tomcat) and code a Java bean and use Apache CXF and the JCR API. THe bean will expose a WSDL and use the JCR API to perform CRUD (Create, Replace, Update, and Delete) operations on the JCR Data. 

[img]CQWSDL.png[/img]

Avatar

Level 3

Thanks mate. I rather go with the 2nd option as the 1st seems to be too much of a hack.

Avatar

Level 2

How to access JCR API from bean on tomcat? Please reply.

Avatar

Level 2

I would also go with the option of setting up a separate Tomcat.

Getting Apache CXF to work as SOAP service within the OSGi runtime of AEM will be very complex, if not impossible due to dependency conflicts.

Take a look at Apache Mule, the concept is interesting!