Liferay 7 GA4: Quali sono le novità su Apache CXF?

Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style

L’ultimo rilascio di Liferay Portal 7 CE GA4 del 28 giugno 2017 è stato molto significativo riguardo il framework Apache CXF che Liferay ha adottato per lo stack JAX-WS/JAX-RS. La modifica più rilevante è l’aggiornamento dalla versione 3.0.3 alla 3.1.9 (di dicembre 2016). I moduli OSGi interessati alla modifica fanno parte del gruppo apps:foundation:portal-remote:

Chi di voi abbia letto l’articolo Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style, ricorderà che era basato sulla GA2 di Liferay e sui bundle Apache CXF 3.1.6 necessari per lo sviluppo del client SOAP.

Sulla GA4 di Liferay, lo sviluppo di un client SOAP non richiede più l’installazione di tutti i bundle Apache CXF indicati su Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style ma è più che sufficiente l’installazione dei seguenti bundle:

I primi tre bundle della lista sono utilizzati dal modulo portal-remote-soap-extender ma non sono esportati, è necessario quindi eseguire l’installazione affinché il client SOAP funzioni correttamente. L’ultimo bundle della lista è richiesto da Apache CXF Runtime Simple Frontend, quello esportato da Liferay è la versione 2.1.0 non compatibile (e tal proposito ieri ho fatto una pull-request sul repository di Liferay). In Figura 1 sono mostrati i bundle Apache CXF e il client SOAP di esempio installati sull’istanza Liferay 7 CE GA4.

Liferay 7 CE GA4 Apache CXF & SOAP Client OSGi Bundle

Figura 1 – Liferay 7 CE GA4 Apache CXF & SOAP Client OSGi Bundle

Qualora la vostra installazione Liferay risieda su JBoss EAP o Wildfly, consiglio di procedere con la disattivazione del modulo org.jboss.as.webservices onde evitare comuni errori (come quelli a seguire), causati da versioni diverse del framework Apache CXF caricate dal Class Loader.

  • java.lang.ClassCastException: Cannot cast org.apache.cxf.wsdl11.WSDLManagerImpl to org.apache.cxf.wsdl.WSDLManager
  • java.lang.IllegalAccessError: tried to access class org.apache.cxf.BusFactory$BusHolder from class org.apache.cxf.BusFactory

Il servizio SOAP che ho in più occasioni utilizzato come esempio, (anche nell’articolo Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style) non è più disponibile, approfitterò quindi per pubblicare a breve un esempio di client SOAP con lo scopo d’integrare Liferay con il sistema di CRM Salesforce.

Per approfondimenti sul supporto JAX-WS e JAX-RS potreste seguire il mio intervento all’ultimo Symposium LIferay Italy 2016 (video + slide).

12 Condivisioni

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

Potrebbero interessarti anche...

TIBCO JasperReports Server & JBoss EAP 7.2Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c

In questo video tutorial vi mostrerò come installare step-by-step TIBCO Jasper Reports Server 7.5 Community Edition su RedHat JBoss EAP 7.2, utilizzando CentOS 8.1 come sistema operativo e PostgreSQL come database server.

Vedremo come affrontare l'installazione di Jasper Reports Server senza l'ausilio dell'installer; questa è l'opzione solitamente adottata in ambiti enterprise. I punti salienti di questo tutorial sono:

  • Quali sono i requisiti software
  • Quali sono i requisiti hardware
  • Download del software
  • Layout d’installazione
  • Installazione di OpenJDK 11
  • Installazione di PostgreSQL 10
  • Installazione di JBoss EAP 7.2.0
  • Configurazione & Installazione di Jasper Reports Server
  • Configurazione di JBoss EAP 7.2.0
  • Start di Jasper Reports Server