Friday, March 13, 2009

doing battle with WSRP, Part II

Had a great session with Oracle technical support over the trouble I have been having with portletizing ADF Faces. The analyst mapped out an upgrade path for me which will solve all my problems; he demonstrated on his upgraded scenario using ias (instead of my, and using Portal repository, plus the mandatory updates (instead of my, and also if I am going to deploy to OAS, that I make sure I have applied the web center jar file that WSRP-enables your particular OC4J instance that you have designated for exposing ADF apps via WSRP.

If I do all this, he demonstrated that the same ear I was having problems with, worked like a champ! YAY.

(The SR is 7381737.994 if you need it for reference. If you cannot access it, please leave a comment for this blog entry, and I will see if our situations are similar enough to warrent further action.)


Anonymous said...

Hi Micheal,

I cannot find the SR 7381737.994.

Here is my situation.

I am trying to register portletized ADF application as WSRP provider on Portal . My ADF application is deployed on a standalone OC4J . When I try to register this portletized ADF applicaiton as WSRP provider I get the below error on WSRP registration page in portal.

An error occurred while trying to refresh the provider. (WWC-43190)++
An error occurred during the call to the WSRP Provider: Java stack trace from root exception:
java.rmi.ServerException: Internal Server Error (java.lang.NoClassDefFoundError: oracle/ias/cache/ObjectNotFoundException)
at com.sun.xml.rpc.client.StreamingSender._raiseFault(
at com.sun.xml.rpc.client.StreamingSender._send(
at oracle.webdb.wsrp.WSRP_v1_ServiceDescription_PortType_Stub.getServiceDescription(
at Source)
. (WWC-43273)

When I checked the logs on standalone OC4J for my adf application I see the below error, whenever I try to regisetr as wsrp provider.

09/04/01 14:44:50.962 satvkadfportletexample: ERROR: caught throwable: java.lang.NoClassDefFoundError: oracle/ias/cache/ObjectNotFoundException
java.lang.NoClassDefFoundError: oracle/ias/cache/ObjectNotFoundException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(
at java.lang.Class.getConstructor0(
at java.lang.Class.newInstance0(
at java.lang.Class.newInstance(
at com.sun.xml.rpc.server.http.ea.ImplementorInfo.createImplementor(
at com.sun.xml.rpc.server.http.ea.ImplementorFactory.getImplementorFor(
at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(
at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(
at javax.servlet.http.HttpServlet.service(
at javax.servlet.http.HttpServlet.service(
at com.evermindhttp://Oracle Containers for J2EE 10g ( .server.http.ResourceFilterChain.doFilter(
at oracle.webdb.wsrp.server.ContextFilter.doFilter(Unknown Source)
at com.evermindhttp://Oracle Containers for J2EE 10g ( .server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher
at com.evermindhttp://Oracle Containers for J2EE 10g ( .server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher
at com.evermindhttp://Oracle Containers for J2EE 10g ( .server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler
at com.evermindhttp://Oracle Containers for J2EE 10g ( .server.http.HttpRequestHandler.processRequest(HttpRequestHandler
at com.evermindhttp://Oracle Containers for J2EE 10g ( .server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler
at com.evermindhttp://Oracle Containers for J2EE 10g (
at com.evermindhttp://Oracle Containers for J2EE 10g (
at com.evermindhttp://Oracle Containers for J2EE 10g ( .util.ReleasableResourcePooledExecutor$

I have checked the class ObjectNotFoundException and it is found in cache.jar which is in $STANDALONE_OC4J_HOME/javacache/lib.

The portletization of my ADF application is complete and the url http://mystandalone:8888/satvkadfportletexample/portlets?WSDL does return WSDL document.

Can you figure out what step I am missing.I am really sure that I am missing something.

PS:It is the same with sample applciation as well.
PPS: Sorry for the lengthy post!

Michael A. Fons said...


I have not run into your particular situation. I have some questions for you though:
1. Did you upgrade you portal ias mid-tier to Apply mandatory patches?
2. What did you do to your oc4j to wsrp-enable it? There is a web-center jar file that you need to run, and then an adjustment to an xml file that you need to change in order to do this.

I will be happy to send you the text of the SR in an email; or you could request it from Oracle tech support if you like. My email is michael_fons at yahoo dot com.

Michael F.

Anonymous said...

Hi Micheal,

Thanks for your reply.

Yes our OAS is and Portal is on . Also the mandatory patches for wsrp have been applied as per Metalink note

The 2nd point interests me though. To wsrp enable my oc4j, I have installed portlet container i.e by running running wsrp-intall.jar . I suppose this is the webcenter jar you have mentioned. But I have not made any xml changes.

Can you throw some light on it. Also I have emailed you on your yahoo , so please do send the SR text.

Thanks a lot again!

Michael A. Fons said...

OK, Venkat! I believe we are getting closer to a problem that I HAVE experienced. As you will see from the SR contents that I sent you there is a new equivalent to the wsrp-install.jar that is for the "newer" servers. It is called something like portlet-server-install.jar, and you can get it by following the following link (as per the SR).
( Oracle Port
let Container and PDK-Java

THAT, my friend is the GOOD news. The not-so-good-news is that you may have to reinstall your server in order to get this right...I do not know how to back out the wsrp-install.jar install. This wsrp-install.jar seems to be meant for the 10.1.2.x iAS/OC4J, and it seems to mess up the function of the OC4J somewhat when it is applied to 10.1.3 OC4J.

So: if you were to install a fresh instance of OC4J (or 3.3?) and apply this newer .jar to your installation instead of wsrp-install.jar, I think your life will improve.

Please note in the March 30 instructions on the SR it says that AFTER you install this portlet-server-install.jar you need to make a change per Note 752220.1 (fixes Java.Lang.Noclassdeffounderror: Javax/Xml/Soap/Soapelement Deploying Standalone Application error, by adding a library reference to server.xml)

Man, you are on your way to SALVATION, man. lol