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 10.1.2.3 (instead of my 10.1.2.0.2), and using Portal repository 10.1.4.2, plus the mandatory updates (instead of my 10.1.4.0), and also if I am going to deploy to OAS 10.1.3.4, 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.)

4 comments:

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 10.1.4.2 . My ADF application is deployed on a standalone OC4J 10.1.3.3 . 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(StreamingSender.java:384)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:245)
at oracle.webdb.wsrp.WSRP_v1_ServiceDescription_PortType_Stub.getServiceDescription(WSRP_v1_ServiceDescription_PortType_Stub.java:63)
at oracle.webdb.wsrp.client.design.v1.OraWSRP_v1_ServiceDescription_PortType.getServiceDescription(Unknown 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(Class.java:2357)
at java.lang.Class.getConstructor0(Class.java:2671)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)
at com.sun.xml.rpc.server.http.ea.ImplementorInfo.createImplementor(ImplementorInfo.java:38)
at com.sun.xml.rpc.server.http.ea.ImplementorFactory.getImplementorFor(ImplementorFactory.java:73)
at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:129)
at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java
:65)
at oracle.webdb.wsrp.server.ContextFilter.doFilter(Unknown Source)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher
.java:623)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher
.java:370)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler
.java:871)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.processRequest(HttpRequestHandler
.java:453)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler
.java:221)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor
.java:303)
at java.lang.Thread.run(Thread.java:595)


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.


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

Michael A. Fons said...

Venkar,

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 10.1.2.3? Apply mandatory patches?
2. What did you do to your oc4j 10.1.3.3 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 10.1.2.3 and Portal is on 10.1.4.2 . Also the mandatory patches for wsrp have been applied as per Metalink note https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_id=460362.1&p_database_id=NOT

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!
-Venkat

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). http://www.oracle.com/technology/products/webcenter/pdk.html
http://www.oracle.com/technology/products/webcenter/portlet_download.html
(http://download.oracle.com/otndocs/tech/webcenter/files/pdksoftware.zip) Oracle Port
let Container and PDK-Java 10.1.3.2

THAT, my friend is the GOOD news. The not-so-good-news is that you may have to reinstall your 10.1.3.3 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 10.1.3.4 (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