Etiquetas: wsrp liferay v6.0

Basics of WSRP #

Quoting for the specification itself:

The Web Services for Remote Portlets specification defines a web service interface for accessing and interacting with interactive presentation-oriented web services.

But... since we have Web Services and we have Portlets, why do we need WSRP then?

Well, it is true that you can provide platform-independent access to our services via Web Services. However, to allow the user access to those services you would need to build a presentation logic and user interface. And sometimes, that can take many effort and time, to develop, compile and deploy the presentation to the end-user.

And that is the key in the WSRP definition: presentation-oriented web services.

WSRP specification is about going much further and allow portals to display remote portlets inside their pages, as if locallly deployed, without requiring any additional programming by the developers.

So you will be providing access to your business logic but also providing the user interface!

In order to do so, WSRP define the following actors:

  • Producer: A Web Service that offers one or more portlets and is described using a WSDL document.
  • Consumer: The Web Service Client that gather all the components allowing for the presentation to the end user.
  • Portlets
  • End Users

WSRP in Liferay #

Liferay supports WSRP 2.0 specification and can act as a WSRP Producer and Consumer.

From the image above, Liferay portal server can be used as a WSRP Producer, hosting portlets that will be consumed by other Liferay portal servers acting as WSRP Consumers.

So, with WSRP you are delivering both, data and presentation in a way that decouples deployment and delivery of your portlets.

And with Liferay you don't need any extra development in order to start enjoying WSRP advantages just deploy the WSRP plugin porltlet and start using it!

Deploy WSRP plugin #

As you know, there are different ways of deploying a plugin in the portal, we are going to deploy the WSRP plugin through the UI, so go to the 'Control Panel' and 'Plugins Installation' and click on 'Install more portlet':

Look for WSRP and install it:

Once installed, refresh your page and you will be able to see it available in the 'Control Panel':

And as easy as that you can just start creating producers and consumers for your portal.

Liferay Producer #

Let's go ahead and create a producer. Go to the 'Producers' tab in the WSRP portlet and click the 'Add Producer' button:

Now, you can see here a list of portlets that your producer may use. Let's stick pick the 'Currency Converter' and, of course, the 'Hello World':

Once you click the Save button the portal will have generated a WSDL to define your producer. To be able to see the URL click 'Action' -> 'Edit':

Copying that URL to the browser you will see the WSDL definition for your producer.

Liferay Consumer #

For the purposes of this exercise we are going to use the same Liferay installation as producer and consumer, but we could go with this WSDL definition to the Liferay server acting as consumer and define the consumer pointing to another server.

For now, let's go to the 'Consumers' tab and click the 'Add Consumer' button:

Give it a name, add the URL to the WSDL for the producer and click 'Save':

Lastly, we need to define the portlets that the end-user will be able to use from this consumer. To do so, go to the list of consumers and in 'Actions' click 'Manage Portlets':

Then, add the two portlets that this producer is exposing to the consumer, so that the end-user can used them in the portal:

And.... done!!

Accessing Remote Portlets #

Now, let's use the remote portlets from the portal. Go back to your community and click the 'Add Application' in the dock bar, 'More...' and go to the WSRP category:

Add them to your page:

There you go! You are consuming 'remote' portlets with Liferay WSRP implementation.

Custom Remote Portlets #

You can make your custom developed portlets remotely accessible by setting to 'true' the <remotable> tag in your liferay-portlet.xml:

<liferay-portlet-app>
	
	<portlet>
		<portlet-name>RemotePortletTest</portlet-name>
		<remoteable>true</remoteable>
….......

By doing this your custom portlet will appear in the list of portlets available when creating a WSRP producer, so you can expose all your custom developed portlets to be used by consumers.

Portlets Modes #

All three standard portlet modes (VIEW, EDIT, HELP) are supported by Liferay's implementation of WSRP.

Since the EDIT mode requires the user to be authenticated, you will need to enable request header authentication in your portal, specially on the producer for the credentials to be propagated through HTTP headers.

This is done by adding a reference to a Liferay class com.liferay.portal.security.auth.RequestHeaderAutoLogin to the property auto.login.hooks in your portal-ext.properties, (to be used with another security product such as Tivoli Access Manager, etc.)

For fine-tune your HTTP settings have a look at the HTTP section in the portal.properties and system.properties

Promedio (10 Votos)
La valoración media es de 5.0 estrellas de 5.
Comentarios
Respuestas anidadas Autor Fecha
Hi Ruth Coca, Really useful explanation on the... sasi Kanth 4 de noviembre de 2010 4:52
Wow: nice article, Ruth. Why don't you create a... Juan Fernández 4 de noviembre de 2010 5:53
Nice article. I would have to try this Sandeep Nair 5 de noviembre de 2010 22:43
Hello Ruth, I was able to do the WSRP setup as... Andy Verbunt 29 de diciembre de 2010 7:16
This posts looks very informative. You may need... Kiran Kanaparthi 21 de enero de 2011 18:44
If using LR as a WSRP consumer of a non-LR WSRP... Amit Aggarwal 10 de enero de 2011 19:56
We used this approach for communicating from LR... Kiran Kanaparthi 21 de enero de 2011 18:48
as well as remoteable=true, it also requires... David O'Meara 17 de febrero de 2011 20:29
We have remote portlets working just fine, but... Tom Redman 12 de febrero de 2013 4:59
Maybe I am missing something here but looking... Jelmer Kuperus 21 de febrero de 2011 9:48
An excellent yet quite informative and... Sushil Mayengbam 23 de junio de 2011 0:03
Hey, Has anyone run into the problem of not... Adi Bart 21 de septiembre de 2011 15:49
Seems to happen to me as well, The WSDL URL... Chris Bacigalupo 16 de julio de 2013 13:35
I had the same problem, because of a wrong... Gerhard Karl 17 de enero de 2014 1:35
This info is all very well, but doesn't help if... Matt Quartermain 11 de noviembre de 2011 3:17
Hi I've followed the initial three steps and... Rohit Shirodkar 8 de marzo de 2012 19:20
Hi all, I wish to use LR as WSRP 2.0 producer... Paolino Gini 31 de julio de 2012 7:24
Simple, Straight-Forward and Concise. Thanks... Ashok Kumar 10 de junio de 2013 21:51
This is really helpful article. I have... Sachin Dhus 19 de junio de 2014 5:53
Any idea - why this must be happening? Nilesh Gundecha 24 de junio de 2014 2:44

Hi Ruth Coca,

Really useful explanation on the WSRP porltet.

I will try and enable for my custom portlet also.

Thanx
Publicado el día 4/11/10 4:52.
Wow: nice article, Ruth. Why don't you create a blog entry about this so that more people can read about this?
Keep the good job coming! emoticon
Publicado el día 4/11/10 5:53.
Nice article. I would have to try this
Publicado el día 5/11/10 22:43.
Hello Ruth,

I was able to do the WSRP setup as described in your post (although I'm using LR 6.0.5).

The portlet shows the text "Welcome to Liferay ..." just as in your screenshot. However, I'd like to have the actual content which should be something like "Hello World".

Did I forget something?

Thanks,
Andy.
Publicado el día 29/12/10 7:16.
If using LR as a WSRP consumer of a non-LR WSRP producer, what methods of identity propagation does it support? Does it automatically send the user's screen name or id in a HTTP header? if so, which header?
Publicado el día 10/01/11 19:56.
This posts looks very informative.
You may need to change the DTD to Liferay6 in both liferay-
portlet.xml, and liferay-display.xml.
Like to be able to add remoteable tag.

<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.0.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_0_0.dtd">
and
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 6.0.0//EN" "http://www.liferay.com/dtd/liferay-display_6_0_0.dtd"> respectively.
Publicado el día 21/01/11 18:44 en respuesta a Andy Verbunt.
We used this approach for communicating from LR consumer to other Producer, used renderRequest.getUserPrincipal() which sends the user info for identification.
Publicado el día 21/01/11 18:48 en respuesta a Amit Aggarwal.
as well as remoteable=true, it also requires instanceable=true (or atleast not false)
Currently testing event support with LR6SP1 but no luck as yet...
Publicado el día 17/02/11 20:29.
Maybe I am missing something here but looking at the code it seems that it would be unwise to configure RequestHeaderAutoLogin
It basically checks if a LIFERAY_SCREEN_NAME header is present in the request and if it is automatically logs the user in for that screen name. No credentials are checked
It would be really easy for a malicious user to craft a request that would give full access to someone's account
Publicado el día 21/02/11 9:48.
An excellent yet quite informative and illustrative article!
Publicado el día 23/06/11 0:03.
Hey,

Has anyone run into the problem of not being able to set up the consumer. I tried these steps but I get the following error message.

URL does not point to a valid WSRP producer.

Im using Liferay 6.0
Any pointers much appreciated!
Publicado el día 21/09/11 15:49 en respuesta a Sushil Mayengbam.
This info is all very well, but doesn't help if you want to install a producer that you want to use on another machine.

Logging on via "localhost" will generate a URL (as indicated above) with "localhost" in it. So when you try to access this producer as a consumer on another machine, nothing you enter as a URL will allow to to connect to it.

What you have to do is log in under the name of your machine's proxy: e.g. "http://initrode55:8080" and then the URL will look like:
http://initrode:8080/wsrp-portlet/wsdl/11019
or whatever.

Also note that this is fine using Liferay 6.0.6 running Tomcat, but when I tried it on Liferay 6.0,5 with JBoss in it, you can *only* log in via localhost, which is inadequate behaviour.

Also note that Liferay 6 seems to support WSRP v 2 only. In theory, you can access it as v 1.1 (e.g. for SharePoint, which is still only v 1.1 compatible), but we have been unable to get this to work.

This post also fails to provide sufficient details as to what the liferay-portlet.xml needs to be shaped like. When importing a custom portlet which has not necessarily been developed using the Liferay IDE (we don't currently use that tool), you have to craft that file from scratch.

Here's an example of what the liferay-portlet.xml should look like (we think):

<liferay-portlet-app>
<portlet>
<portlet-name>(Portlet name)</portlet-name>
<instanceable>true</instanceable>
<remoteable>true</rem­oteable>
<header-portlet-css>/css/(css-filename).css</header-portlet-css>
<header-po­rtlet-javascript>/js/(JavaScript file name).js</header-portlet-javascript>
</portlet>
<role-mapper>
<role-name>admin­istrator</role-name>
<role-link>Administrator</role-link>
</role-mapper>
<role­-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-ma­pper>
<role-mapper>
<role-name>power-user</role-name>
<role-link>Power User</role-link>
</role-mapper>
<role-mapper>
<role-name>user</role-name>
<r­ole-link>User</role-link>
</role-mapper>
</liferay-portlet-app>

Also note the "role-mapper" sections look as though they ought to correlate with this, which is supposed (we think) to happen in the portlet.xml:


<security-role-ref>
<role-name>administrator</role-name>
<­/security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</­security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
­ </security-role-ref>
<security-role-ref>
<role-name>user</role-name>
<­/security-role-ref>

... in the <portlet> element.

However, take this with suspicion, as we have still not been able to get this to work with SharePoint.
Publicado el día 11/11/11 3:17.
Hi
I've followed the initial three steps and found that after downloading the wsrp-portlet-6.0.6.1.war from the Plugins installation screen while hot deployment,
The tomcat isnt able to open the zip file. I'm not sure why this error is coming up. It tries to unzip file for 9 times and then adds WSRP portlet to black list. Any help would be greatly appreciated.
Please refer the logs below:


at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
03:00:54,218 INFO [PortletHotDeployListener:220] Registering portlets for opens
ocial-portlet
03:00:54,421 WARN [SAXReaderImpl:429] XSD validation is diasabled because org.a
pache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apac
he.xerces.xni.parser.XMLParserConfiguration
03:00:54,437 WARN [SAXReaderImpl:429] XSD validation is diasabled because org.a
pache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apac
he.xerces.xni.parser.XMLParserConfiguration
03:00:54,890 WARN [SAXReaderImpl:429] XSD validation is diasabled because org.a
pache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apac
he.xerces.xni.parser.XMLParserConfiguration
03:00:55,015 WARN [SAXReaderImpl:429] XSD validation is diasabled because org.a
pache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apac
he.xerces.xni.parser.XMLParserConfiguration
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/opensocial-portlet/WEB-INF/classes/portlet.properties
03:00:55,0­31 INFO [PortletHotDeployListener:374] 2 portlets for opensocial-port
let are available for use
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/opensocial-portlet/WEB-INF/classes/service.properties
03:00:55,7­18 INFO [DialectDetector:69] Determining dialect for MySQL 5
03:00:55,718 INFO [DialectDetector:49] Using dialect org.hibernate.dialect.MySQ
LDialect
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/opensocial-portlet/WEB-INF/classes/service.properties
03:01:02,0­00 INFO [AutoDeployDir:172] Processing wsrp-portlet-6.0.6.1.war. This
is attempt 3.
03:01:02,000 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.Aut
oDeployException: java.util.zip.ZipException: error in opening zip file
com.liferay.portal.kernel.deploy.auto.AutoDeployException: java.util.zip.ZipExce
ption: error in opening zip file
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:76)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isHookPl
ugin(BaseAu­toDeployListener.java:40)
at com.liferay.portal.deploy.auto.HookAutoDeployListener.deploy(HookAuto
DeployListe­ner.java:38)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.processFile(AutoD
eployDir.ja­va:180)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(Aut
oDeployDir.­java:221)
at com.liferay.portal.kernel.deploy.auto.AutoDeployScanner.run(AutoDeplo
yScanner.ja­va:49)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
Mar 9, 2012 3:01:08 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory sevencogs-hook
03:01:09,562 INFO [HotDeployEvent:95] Plugin sevencogs-hook requires google-map
s-portlet, kaleo-web, mail-portlet, sevencogs-mobile-theme, sevencogs-theme, soc
ial-networking-portlet, web-form-portlet
03:01:09,562 INFO [HotDeployUtil:137] Queueing sevencogs-hook for deploy becaus
e it is missing sevencogs-mobile-theme, sevencogs-theme, social-networking-portl
et, web-form-portlet
Mar 9, 2012 3:01:09 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory sevencogs-mobile-theme
03:01:10,062 INFO [ThemeHotDeployListener:78] Registering themes for sevencogs-
mobile-theme
03:01:10,703 INFO [ThemeHotDeployListener:89] 1 theme for sevencogs-mobile-them
e is available for use
03:01:10,703 INFO [HotDeployUtil:153] sevencogs-hook is still in queue because
it is missing sevencogs-theme, social-networking-portlet, web-form-portlet
Mar 9, 2012 3:01:10 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory sevencogs-theme
03:01:11,203 INFO [ThemeHotDeployListener:78] Registering themes for sevencogs-
theme
03:01:12,000 INFO [AutoDeployDir:172] Processing wsrp-portlet-6.0.6.1.war. This
is attempt 4.
03:01:12,000 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.Aut
oDeployException: java.util.zip.ZipException: error in opening zip file
com.liferay.portal.kernel.deploy.auto.AutoDeployException: java.util.zip.ZipExce
ption: error in opening zip file
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:76)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isHookPl
ugin(BaseAu­toDeployListener.java:40)
at com.liferay.portal.deploy.auto.HookAutoDeployListener.deploy(HookAuto
DeployListe­ner.java:38)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.processFile(AutoD
eployDir.ja­va:180)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(Aut
oDeployDir.­java:221)
at com.liferay.portal.kernel.deploy.auto.AutoDeployScanner.run(AutoDeplo
yScanner.ja­va:49)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
03:01:12,484 INFO [ThemeHotDeployListener:89] 1 theme for sevencogs-theme is av
ailable for use
03:01:12,484 INFO [HotDeployUtil:153] sevencogs-hook is still in queue because
it is missing social-networking-portlet, web-form-portlet
Mar 9, 2012 3:01:12 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory social-networking-portlet
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/social-networking-portlet/WEB-INF/classes/service.prope
rties
03:­01:13,812 INFO [DialectDetector:69] Determining dialect for MySQL 5
03:01:13,812 INFO [DialectDetector:49] Using dialect org.hibernate.dialect.MySQ
LDialect
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/social-networking-portlet/WEB-INF/classes/service.prope
rties
Loa­ding file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/social-networking-portlet/WEB-INF/classes/service.prope
rties
03:­01:14,578 INFO [HookHotDeployListener:394] Registering hook for social-netwo
rking-portlet
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/social-networking-portlet/WEB-INF/classes/portal.proper
ties
03:0­1:14,750 INFO [HookHotDeployListener:649] Hook for social-networking-portle
t is available for use
03:01:14,781 INFO [PortletHotDeployListener:220] Registering portlets for socia
l-networking-portlet
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/social-networking-portlet/WEB-INF/classes/portlet.prope
rties
03:­01:16,000 INFO [PortletHotDeployListener:374] 8 portlets for social-networki
ng-portlet are available for use
03:01:16,000 INFO [HotDeployUtil:153] sevencogs-hook is still in queue because
it is missing web-form-portlet
Mar 9, 2012 3:01:16 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory tunnel-web
Mar 9, 2012 3:01:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory web-form-portlet
03:01:19,750 INFO [PortletHotDeployListener:220] Registering portlets for web-f
orm-portlet
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/web-form-portlet/WEB-INF/classes/portlet.properties
03:01:20,765­ INFO [PortletHotDeployListener:369] 1 portlet for web-form-portlet
is available for use
03:01:20,765 INFO [HotDeployUtil:101] Deploying sevencogs-hook from queue
03:01:21,109 INFO [HookHotDeployListener:394] Registering hook for sevencogs-ho
ok
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/sevencogs-hook/WEB-INF/classes/portal.properties
03:01:21,265 INFO [HookHotDeployListener:649] Hook for sevencogs-hook is availa
ble for use
Mar 9, 2012 3:01:21 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory wsrp-portlet
03:01:22,000 INFO [AutoDeployDir:172] Processing wsrp-portlet-6.0.6.1.war. This
is attempt 5.
03:01:22,000 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.Aut
oDeployException: java.util.zip.ZipException: error in opening zip file
com.liferay.portal.kernel.deploy.auto.AutoDeployException: java.util.zip.ZipExce
ption: error in opening zip file
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:76)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isHookPl
ugin(BaseAu­toDeployListener.java:40)
at com.liferay.portal.deploy.auto.HookAutoDeployListener.deploy(HookAuto
DeployListe­ner.java:38)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.processFile(AutoD
eployDir.ja­va:180)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(Aut
oDeployDir.­java:221)
at com.liferay.portal.kernel.deploy.auto.AutoDeployScanner.run(AutoDeplo
yScanner.ja­va:49)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/wsrp-portlet/WEB-INF/classes/service.properties
03:01:24,296 INFO [PortletHotDeployListener:220] Registering portlets for wsrp-
portlet
03:01:24,562 INFO [PortletHotDeployListener:374] 2 portlets for wsrp-portlet ar
e available for use
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/wsrp-portlet/WEB-INF/classes/service.properties
03:01:24,984 INFO [DialectDetector:69] Determining dialect for MySQL 5
03:01:24,984 INFO [DialectDetector:49] Using dialect org.hibernate.dialect.MySQ
LDialect
Loading file:/E:/liferay/liferay-portal-tomcat-6.0.6-20110225/liferay-portal-6.0
.6/tomca­t-6.0.29/webapps/wsrp-portlet/WEB-INF/classes/service.properties
Mar 9, 2012 3:01:26 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Mar 9, 2012 3:01:28 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Mar 9, 2012 3:01:28 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/1156 config=null
Mar 9, 2012 3:01:28 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 147003 ms
03:01:32,000 INFO [AutoDeployDir:172] Processing wsrp-portlet-6.0.6.1.war. This
is attempt 6.
03:01:32,000 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.Aut
oDeployException: java.util.zip.ZipException: error in opening zip file
com.liferay.portal.kernel.deploy.auto.AutoDeployException: java.util.zip.ZipExce
ption: error in opening zip file
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:76)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isHookPl
ugin(BaseAu­toDeployListener.java:40)
at com.liferay.portal.deploy.auto.HookAutoDeployListener.deploy(HookAuto
DeployListe­ner.java:38)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.processFile(AutoD
eployDir.ja­va:180)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(Aut
oDeployDir.­java:221)
at com.liferay.portal.kernel.deploy.auto.AutoDeployScanner.run(AutoDeplo
yScanner.ja­va:49)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
03:01:42,000 INFO [AutoDeployDir:172] Processing wsrp-portlet-6.0.6.1.war. This
is attempt 7.
03:01:42,000 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.Aut
oDeployException: java.util.zip.ZipException: error in opening zip file
com.liferay.portal.kernel.deploy.auto.AutoDeployException: java.util.zip.ZipExce
ption: error in opening zip file
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:76)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isHookPl
ugin(BaseAu­toDeployListener.java:40)
at com.liferay.portal.deploy.auto.HookAutoDeployListener.deploy(HookAuto
DeployListe­ner.java:38)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.processFile(AutoD
eployDir.ja­va:180)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(Aut
oDeployDir.­java:221)
at com.liferay.portal.kernel.deploy.auto.AutoDeployScanner.run(AutoDeplo
yScanner.ja­va:49)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
03:01:52,000 INFO [AutoDeployDir:172] Processing wsrp-portlet-6.0.6.1.war. This
is attempt 8.
03:01:52,000 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.Aut
oDeployException: java.util.zip.ZipException: error in opening zip file
com.liferay.portal.kernel.deploy.auto.AutoDeployException: java.util.zip.ZipExce
ption: error in opening zip file
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:76)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isHookPl
ugin(BaseAu­toDeployListener.java:40)
at com.liferay.portal.deploy.auto.HookAutoDeployListener.deploy(HookAuto
DeployListe­ner.java:38)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.processFile(AutoD
eployDir.ja­va:180)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(Aut
oDeployDir.­java:221)
at com.liferay.portal.kernel.deploy.auto.AutoDeployScanner.run(AutoDeplo
yScanner.ja­va:49)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
03:02:02,000 INFO [AutoDeployDir:172] Processing wsrp-portlet-6.0.6.1.war. This
is attempt 9.
03:02:02,750 ERROR [AutoDeployDir:197] com.liferay.portal.kernel.deploy.auto.Aut
oDeployException: java.util.zip.ZipException: error in opening zip file
com.liferay.portal.kernel.deploy.auto.AutoDeployException: java.util.zip.ZipExce
ption: error in opening zip file
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:76)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isHookPl
ugin(BaseAu­toDeployListener.java:40)
at com.liferay.portal.deploy.auto.HookAutoDeployListener.deploy(HookAuto
DeployListe­ner.java:38)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.processFile(AutoD
eployDir.ja­va:180)
at com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(Aut
oDeployDir.­java:221)
at com.liferay.portal.kernel.deploy.auto.AutoDeployScanner.run(AutoDeplo
yScanner.ja­va:49)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at com.liferay.portal.kernel.deploy.auto.BaseAutoDeployListener.isMatchi
ngFile(Base­AutoDeployListener.java:61)
... 5 more
03:02:02,750 INFO [AutoDeployDir:203] Add wsrp-portlet-6.0.6.1.war to the black
list
Publicado el día 8/03/12 19:20.
Hi all,
I wish to use LR as WSRP 2.0 producer and the consume the portlet in another portlet framework non based on LR (eg. JBoss Portal), is it possible? how to do this?

thanks
Paolo
Publicado el día 31/07/12 7:24 en respuesta a Rohit Shirodkar.
We have remote portlets working just fine, but we have been unable to get *remote* events to work, they work from within the same container just fine. And from a cursor look over the web forums, it seems they just don't work, and there is really no interest in fixing them. Has anybody ever gotten WSRP events to work remotely?
Publicado el día 12/02/13 4:59 en respuesta a David O'Meara.
Simple, Straight-Forward and Concise. Thanks for the amazing post.
Publicado el día 10/06/13 21:51.
Seems to happen to me as well, The WSDL URL contains valid WSDL content
Publicado el día 16/07/13 13:35 en respuesta a Adi Bart.
I had the same problem, because of a wrong proxy configuration.
Publicado el día 17/01/14 1:35 en respuesta a Adi Bart.
This is really helpful article. I have configured this & working properly on 'http' but not working on 'https'. Consumer is not able to understand wsdl which is pointing to producer which is running on SSL. Please share info.
Publicado el día 19/06/14 5:53.
Any idea - why this must be happening?
Publicado el día 24/06/14 2:44 en respuesta a Sachin Dhus.