Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

AEM 6.3 integration with Apache CXF

Avatar

Level 1

Hi,

We are migrating from AEM ver 5.6.1 to 6.3 and stuck with an issue where we are making a call to a SOAP service endpoint via proxy created using Apache CXF ver 2.7.3 and I am seeing the SOAP request is not getting created properly. So I implemented a custom interceptor using which I was able to correct the SOAP request but after the correction, I am still seeing the bad response.

The SOAP response is getting stuck at UNMARSHALL phase where I am getting the following exception.

org.apache.cxf.phase.PhaseInterceptorChain Interceptor for {http://Paymetric/XiPaySoap30}XiPayWS#{http://Paymetric/XiPaySoap30}SoapOp has thrown exception, unwinding now

org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element (uri:"http://Paymetric/XiPaySoap30/message/", local:"soapOpResult"). Expected elements are <{}soapOpResult>

Could anyone please help?

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi,

Yes we have the community articles to address this use case - Apache CXF to invoke web service in AEM.

1. One community article is based on Geo IP information i.e., http://www.webservicex.net/geoipservice.asmx?wsdl  - Adobe Experience Manager Help | Creating AEM Services using Apache CXF that consume web services  - It also applicable to AEM 6.x

2. Other one as Scott mentioned is based on to get information of cities i.e., http://www.webservicex.net/New/Home/ServiceDetail/56 - Creating an Experience Manager 6.3 HTL Component that displays data from a SOAP Web Service  - This used HTL!!

Hope this helps!1

Thanks,

Ratna Kumar.

View solution in original post

2 Replies

Avatar

Level 10

You can use Apache CFX to invoke a 3rd party Soap Service. We have an article that shows you how using CFX -- Creating an Experience Manager 6.3 HTL Component that displays data from a SOAP Web Service

This Experience Manager example invokes a third-party web service located at:

http://www.webservicex.net/New/Home/ServiceDetail/56 (GetCitiesByCountry)

In our example -- we are using Java Proxy classes that invoke the SOAP service.

Avatar

Correct answer by
Level 10

Hi,

Yes we have the community articles to address this use case - Apache CXF to invoke web service in AEM.

1. One community article is based on Geo IP information i.e., http://www.webservicex.net/geoipservice.asmx?wsdl  - Adobe Experience Manager Help | Creating AEM Services using Apache CXF that consume web services  - It also applicable to AEM 6.x

2. Other one as Scott mentioned is based on to get information of cities i.e., http://www.webservicex.net/New/Home/ServiceDetail/56 - Creating an Experience Manager 6.3 HTL Component that displays data from a SOAP Web Service  - This used HTL!!

Hope this helps!1

Thanks,

Ratna Kumar.