Wednesday, October 15, 2008

Applying Patches to JDeveloper/WebLogic using Smart Update. (Fixing the ADF vs WebService issue in 11)

A really nasty bug that made it in to the boxer release is the total failure if you mix ADF and web services in the same application. Fortunately we have a patch for this now; but it is not obvious how you might go about applying this if your are not familiar with the bea smart update tool.

First of all you need a bea account, you can get this from support.bea.com. I am told that you wont need a support license for this particular patch. Then you need to go to %ORACLE_HOME%/utils/bsu and run either bsu.sh or bsu.cmd depending on your platform.

When you are logged in make select the "JDeveloper" installation that you want to patch. Don't confuse this other plain "WebLogic" installs you might have hanging around.

Then make sure the "Get Patches" tab is selected and select the menu item Patches -> Retrieve Patch. In this case the patch ID is "RFRS" and the passcode "VGJ16G15". Download the patch, just agree to any dialogs that come up.

Now you can go to the "Manage Patches" tab to find the patch you have just downloaded and press the apply icon.

The patch should now move to the "Default" table and is now ready to test. Restart WebLogic | JDeveloper and hopefully the problem will go away.

In case google is watching you expect the following stack trace when deploying a web service if this patch is not applied:

Target state: deploy failed on Server srg 
 [java] java.lang.NullPointerException 
 [java]     at weblogic.wsee.wsdl.WsdlTypes.collectNamespaces(WsdlTypes.java:213) 
 [java]     at weblogic.wsee.wsdl.WsdlTypes.collectNamespaces(WsdlTypes.java:229) 
 [java]     at weblogic.wsee.wsdl.WsdlTypes.collectNamespaces(WsdlTypes.java:229) 
 [java]     at weblogic.wsee.wsdl.WsdlTypes.parse(WsdlTypes.java:151) 
 [java]     at weblogic.wsee.wsdl.WsdlDefinitions.parseChild(WsdlDefinitions.java:520) 

4 comments:

Seb said...

Hi,

I'm on a mac and I couldn't get the update to work.
I had to modify the bsu.sh script to increase heap memory. Here is the content of the modified file :

#!/bin/sh

JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

"$JAVA_HOME/bin/java" -Xms64m -Xmx256m -jar patch-client.jar $*

Gerard Davison said...

seb,

Thanks for your feedback, I have raised a bug for this. (7488219)

Gerard

Oriane said...

Hello Gerard,

Do you know if this patch is included in the latest available version of JDev/WebLogic (which I just downloaded).

Thanks.

Olivier

Gerard Davison said...

Hi,

I am pretty sure it is, the way to make sure is to run the wizard and it would be listed under the installed patches.

Sorry to be a little vague; but we have quite a build paths at the moment. I am pretty sure that it was in JDeveloper 11 Patchset 1 which is what you can download from OTN at the moment.

It wont be part of any stand-alone weblogic install, you will need to apply that separately,

Gerard