![]() ![]() ![]() ![]() ![]() ![]() |
This document provides information on upgrading from WebLogic Integration 8.1.x, 8.5.x, 9.x, or 10.2 to Oracle WebLogic Integration 10g Release 3 (10.3). Topics discussed include:
Before beginning the upgrade process, go through the Upgrading Oracle WebLogic Application Environments Guide. This guide describes the procedures to upgrade your application environment to Oracle WebLogic 10g Release 3 (10.3). An application environment includes applications, the WebLogic domains in which they are deployed, any application data associated with the domain, and may include external resources, such as database servers, firewalls, load balancers, and LDAP servers.
The Oracle WebLogic Upgrade Wizard allows you to upgrade domains created only in WebLogic Integration 8.1.x and higher. The WLI domain upgrade plug-in supports cluster enabled domains.
At a high-level, the steps performed by Oracle WebLogic Integration during a domain upgrade are as follows:
file store
, WseeFileStore
, and the JMS server, WseeJmsServer, and its associated JMS module.P13n
) applications.JWSQueueTransport
EJB, if it is present in the domain.SQLAuthenticator
security provider to the domain. Note: | The users portaladmin and weblogic are added to the SQLAuthenticator security provider. You can remove these users from the DefaultAuthenticator security provider after the domain is upgraded. |
pointbase.ini
file is updated to set database.home
, documentation.home
and pbembedded.lic
for PointBase v5.1. weblogic_eval
and the associated data source JDBC driver URLs accordingly fixed. setDomainEnv.cmd
and setDomainEnv.sh
.At a high-level, the steps performed by Oracle WebLogic Integration during a domain upgrade are as follows:
P13n
) applications.For more information on the domain upgrade process and things you need to keep in mind during upgrade, see Upgrading a Oracle WebLogic Domain.
A domain created in production mode, opens in development mode when upgraded from WLI 9.2 or 10.2 to Oracle WebLogic Integration 10g Release 3 (10.3). The work around to update the development domain to a production domain is as follows:
The logic of selecting jrockit/Sun JDK in production mode is defined in the BEA_HOME
\wlserver_10.3\common\bin\commEnv.cmd file.
The domain upgrade wizard supports the following upgrade modes:
The following sections provide instructions for:
The following sections describe how to upgrade a WebLogic domain using the Oracle WebLogic Upgrade Wizard in graphical mode:
Note: | The console from which you are running the Upgrade Wizard in graphical mode must support a Java-based GUI. If you attempt to start the Upgrade Wizard in graphical mode on a system that cannot support a graphical display, the invocation fails and an error message is displayed. |
To start the Oracle WebLogic Upgrade Wizard in graphical mode and upgrade a WebLogic domain on a Windows platform, choose the Domain Upgrade Wizard option from the Windows Start Menu:
Start > All Programs > Oracle WebLogic > WebLogic Server 10gR3 > Tools > Domain Upgrade Wizard
Note: | You can only use this option if you do not have to customize the environment to specify JDBC driver classes. |
To start the Oracle WebLogic Upgrade Wizard in graphical mode and upgrade a WebLogic domain from a Windows command prompt or on a UNIX platform:
CLASSPATH
environment variable and WL_HOME
\server\bin
to the PATH
environment variable, where WL_HOME
refers to the top-level installation directory for Oracle WebLogic Server. WL_HOME
\server\bin\setWLSenv
script to set both variables.\common\bin\upgrade.cmd
/common/bin/upgrade.sh
The log file will be available in the BEA_HOME
/user_projects/upgrade_logs
directory.
The following command can also be used to upgrade a domain.
java weblogic.Upgrade [-type domain] [-out
file]
Two arguments are optional: -type
and -out
. Include these arguments if you want to override the default values for the following:
-type
option, a domain upgrade is performed. stdout
) and error messages are written. If you do not specify a file with the -out
option, such messages are written to the command window, and a summary of messages is displayed at the end of the upgrade process. After you run the command, the Oracle WebLogic Upgrade Wizard opens, as shown in the following figure.
The following table summarizes the steps in the procedure to upgrade a domain using the Oracle WebLogic Upgrade Wizard.
You can upgrade a WLI domain from WLI 10.2 to WLI 10.2 with WebLogic Portal 10.2.
If you install both WLI 10.2 and WLP 10.2 and then create a new domain, you do not encounter any problem with the domain.
Note: | By default, Oracle WebLogic Integration 10g Release 3 (10.3) is installed with Oracle WebLogic Portal. |
Note: | Only Oracle WebLogic Server domains can be upgraded in the Silent mode. |
In some circumstances, for example, when the domain resides on a remote machine, it is not practical to use the Oracle WebLogic Upgrade Wizard in graphical mode. In such situations, you can use the wizard in silent mode to upgrade the WebLogic domain.
To start the Oracle WebLogic Upgrade Wizard in silent mode and upgrade a WebLogic domain:
CLASSPATH
environment variable and WL_HOME
\server\bin
to the PATH
environment variable, where WL_HOME
refers to the top-level installation directory for Oracle WebLogic Server. WL_HOME
\server\bin\setWLSenv
script to set both variables.
cd c:\bea\user_projects\domains\
domain
where domain
specifies the name of the domain.
java weblogic.Upgrade -mode silent -type domain [-responses
xmlfile] [-out
file]
The following arguments are optional: -responses
and -out
. Include these arguments if you want to override the default values for the following:
-responses
option, the wizard uses the default values during the upgrade process. For more information about the format of the XML file and the default values, see
Silent Upgrade XML Script Reference.stdout
) and error messages are written. If you do not specify a file with the -out
argument, these messages are written to the command window.When you are upgrading stateful JPD applications from WebLogic Integration 9.x you could encounter the following error:
java.io.InvalidClassException: javax.xml.namespace.QName; local class
incompatible: stream classdesc serialVersionUID = 4418622981026545151, local class serialVersionUID = -9120448754896609940
This issue is due to a known bug in the JDK.
After upgrading the domain, before you restart the server for the upgraded domain, the suggested solution for systems running on:
Add the flag -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
to the JAVA_OPTIONS
variable in the startWeblogic.cmd
file, located under the domain_home\bin directory to ensure a successful running process. Modify set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS%
set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS%
"-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
"
Modify the SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}
-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"
Oracle WebLogic Integration 10g Release 3 (10.3) provides a set of utilities that allow you to upgrade your 8.1.x, 8.5.x, 9.x, and 10.2 applications to Oracle WebLogic Integration 10g Release 3 (10.3). This section describes how to upgrade applications built using Oracle WebLogic Integration.
Note that during upgrade, the logic and intent of the application is not altered. Oracle WebLogic Integration simply migrates the code to make it compatible with Oracle WebLogic Integration 10g Release 3 (10.3). This would involve changes like making the applications compatible with the Eclipse Framework and converting Javadoc annotations to JSR-175 compliant annotations, among others.
Note: | Code migration happens only when you upgrade from 8.1.x, 8.5.x applications to 10g Release 3 (10.3) not when you migrate from 9.x or 10.2. |
Verify that you have completed the following tasks:
<transaction-isolation-level>
<transaction-timeout>
<message-transaction-timeout>
<ejb-concurrency-strategy>
<web-tier-controls>
<async-dispatch-policy>
For more information, see Configuring Applications for Production Deployment in Deploying Applications to WebLogic Server.
Application upgrade is a three-step process: going through a list of items that will be upgraded, performing the application upgrade, and fixing errors reported in the log to ensure your applications run in WebLogic Integration 10g Release 3 (10.3) without any problems.
You can choose to upgrade your user applications using the Import Wizard or the Command Line utility - both provided by Oracle Workshop for WebLogic. Alternatively, you could use an Ant task.The subsequent sections describe these methods.
Notes: |
weblogic-application.xml
file.weblogic-application.xml
file as follows:
<wls:library-name>sb-transport-control-10.0</wls:library-name>
<wls:specification-version>10.0</wls:specification-version>
<wls:implementation-version>10.0</wls:implementation-version>
The Application Upgrade allows you to add this entry to the weblogic-application.xml
file during upgrade from any WLI version to Oracle WebLogic Integration 10g Release 3 (10.3).
In this example, the eventset declaration for Callback method onTaskCompleted and also its implementation in AdvanceTaskCtrlImpl.java throws an exception which is as expected.
BasicTaskCtrl.java
-------------------------------------------
@ControlExtension()
@com.bea.control.TaskAnnotations.TaskCreate(taskPlanId =
@com.bea.control.TaskAnnotations.TaskPlanID(path = '/Worklist/Compatibility 8.1.x', version = 9.0f,
worklistHostApplicationId = 'worklist-ejbs-81x'),
isControlLevelAnno = true)
public interface BasicTaskCtrl extends TaskControl
{
...................
@EventSet()
public interface Callback extends TaskControl.Callback {
/**
* @jc:task-event event-type='complete' response='{response}'
*/
@com.bea.control.TaskAnnotations.TaskEventAnno(eventType =
com.bea.wli.worklist.api.events.data.TaskEvent.Type.COMPLETE,
responseParamName = '{response}')
void onTaskCompleted(WliBaseWFTODocument response)throws Exception;
}
}
AdvanceTaskCtrlImpl.java
--------------------------------------------
public class AdvanceTaskCtrlImpl implements AdvanceTaskCtrl, ControlSource
{
...................
/**
* @common:control
*/
@org.apache.beehive.controls.api.bean.Control()
private cn.ccb.clpm.wli.control.BasicTaskCtrl basicTaskCtrl;
@EventHandler(field = 'basicTaskCtrl',
eventSet = BasicTaskCtrl.Callback.class,
eventName = 'onTaskCompleted')
public void basicTaskCtrl_onTaskCompleted(WliBaseWFTODocument response)
throws Exception
{
...................
}
}
You can use the Import Wizard provided by Oracle Workshop for WebLogic to upgrade your applications to Oracle WebLogic Integration 10g Release 3 (10.3). The wizard does not alter the logic and intent of the existing 8.1.x or 8.5.x application, nor extract the application from any source repository. It migrates the 8.1.x or 8.5.x source artifacts into the Oracle WebLogic Integration 10g Release 3 (10.3) source and project model. However, it retains the 8.1.x or 8.5.x Javadoc annotations as they do not require any special processing in Oracle WebLogic Integration 10g Release 3 (10.3). These annotations are also retained to facilitate any manual processing that may be required after upgrading the application.
The Import Wizard executes the following tasks:
src
directory.Note: | When you upgrade an 8.1.x or 8.5.x application with an EJB or non-web or non-utility project that uses JPD or Process Proxy to make an RMI call to the business process, do not add a process facet to all the non-web or non-utility projects. Instead, add the Library (Process Libraries) to the project's java build path as follows: |
Note: | When you build the application after upgrade, the Eclipse log contains an InvocationTargetException for an application upgraded from WLI 8.1.x or 8.5.x to Oracle WebLogic Integration 10g Release 3 (10.3). The steps to re-create this exception are as follows: |
Note: | The steps to remove this exception are as follows: |
For a step by step guide to upgrade an 8.1.x or 8.5.x application to Oracle WebLogic Integration 10g Release 3 (10.3), see Upgrading the 8.1 Application Source.
During the upgrade from 9.x to Oracle WebLogic Integration 10g Release 3 (10.3), the IDE updates project metadata, moves your facets to version Oracle WebLogic Integration 10g Release 3 (10.3), and requires a version 10.0 server. The project files are updated to Oracle WebLogic Integration 10g Release 3 (10.3) and not the source.
The key changes during the upgrade are as follows:
For a step by step guide to upgrade an 9.x application to Oracle WebLogic Integration 10g Release 3 (10.3), see Upgrading the 9.2 Application Source.
Note: | Once the upgrade to Oracle WebLogic Integration 10g Release 3 (10.3) is complete, you must redo any manual changes you made to the 9.x project before the upgrade. |
Oracle Workshop for WebLogic also provides a command line utility that converts the entire 8.1.x or 8.5.x application to work with Oracle WebLogic Integration 10g Release 3 (10.3).
The utility does not check out or delete files. It also does not check in the newly upgraded files automatically. It just copies the essential files over to the Oracle WebLogic Integration 10g Release 3 (10.3) workspace for migration.
Note: | When you run the command line utility, use a 1.5 implementation of the JRE. Ensure that the classpath includes <%ECLIPSE_HOME%>/eclipse/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar . |
The command to upgrade your application is as follows:
java – cp <%ECLIPSE_HOME%>/eclipse/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar
-Dwlw.application=%WORK_FILE%
-Dweblogic.home=%WL_HOME%
org.eclipse.core.launcher.Main
-application com.bea.workshop.upgrade81.upgradeStarter
-data %WORKSPACE%
-pluginCustomization %PREFS_FILE%
Specifies a properties file used to set options for the upgrade. Replace the
PREFS_FILE with the name of a properties file containing a number of key-value pairs. The possible properties are:
|
|
Note: | To upgrade 9.x applications to Oracle WebLogic Integration 10g Release 3 (10.3), you have to use Oracle Workshop for WebLogic, as there is no command line utility available to upgrade 9.x applications to Oracle WebLogic Integration 10g Release 3 (10.3). The metadata is upgraded when you open the project in the IDE. |
You can use the Ant task to upgrade from WLI 8.1.x or 8.5.x to Oracle WebLogic Integration 10g Release 3 (10.3).
The command line upgrade contains an Ant task. You can locate the class of the Ant task in the wlw-upgrade.jar
, deployed in the %BEA_HOME%/tools/eclipse_pkgs/2.0/pkgs/eclipse/plugins/com.bea.workshop.upgrade81_1.0.100.CR376510
folder.
Note: | When you run the Ant task, ensure that the <%ECLIPSE_HOME%>/eclipse/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar is on the classpath of the task, as specified by the classpathref attribute in the following sample Ant task. |
A following sample shows the content of the Ant task (upgrade.xml):
<!-- Upgrade.xml : Target to upgrade the 8.1.x or 8.5.x app to Darjeeling -->.
<target name="workshopUpgrade">
<echo message="Upgrading 8.1.x or 8.5.x located at ${WORK_FILE} to ${WORKSPACE}" />
<path id="eclipse.classpath">
<pathelement path="${env.CLASSPATH}" />
<fileset dir="${PKGS.HOME}/eclipse/plugins/" includes="com.bea.workshop.**/wlw-upgrade.jar" />
</path>
<taskdef name="upgradeTask"
classname="com.bea.workshop.upgrade81.cmdline.UpgradeTask"
classpathref="eclipse.classpath" />
<upgradeTask data=%WORKSPACE%
eclipseHome=%ECLIPSE_HOME%
weblogicHome=%WL_HOME%
pluginCustomization=%PREFS_FILE%
wlwApplication=%WORK_FILE%/>
</target>
The following example shows how you can invoke the Ant task to perform an application upgrade from the command line:
ant -f Upgrade.xml workshopUpgrade -DWORK_FILE=C:\xyz\allWorkflows3.work -DWORKSPACE=C:\tempcmdupgrade
Note: | There is no Ant task available to upgrade applications from WLI 9.x to Oracle WebLogic Integration 10g Release 3 (10.3). |
Oracle WebLogic Integration 10g Release 3 (10.3) generates a log of the upgrade changes, errors, and warnings, irrespective of the upgrade process you choose. If you use the wizard, this log is displayed in a dialog that you can review before the process is complete.
The log file is generated after the upgrade is completed and it is saved as:
UPGRADE_WORKSPACE_HOME\.metadata\upgrade.log
A log message in the file appears as follows:
!SUBENTRY 1 com.bea.workshop.upgrade81 severity_level date time
!MESSAGE Upgrade-related message.
The severity level contains two numbers with the same meaning. The date and time entries refer to when the upgrade was attempted. The upgrade-related message describes what was done, warned about, or the error that occurred. The following is a snippet containing two log entry examples:
!SUBENTRY 1 com.bea.workshop.upgrade81 2 2 2006-02-27 17:17:53.687
!MESSAGE The 9.2 control context only supports a subset of the 8.1 control context APIs. Please see the Oracle Workshop for WebLogic upgrade documentation for more information.
!SUBENTRY 1 com.bea.workshop.upgrade81 1 1 2006-02-27 17:17:53.687
!MESSAGE The import "com.bea.control.JwsContext" needs to be updated.
You might encounter certain outages while trying to deploy your upgraded application. For information on outages, see the “Known Limitations” section, in Oracle WebLogic Integration Release Notes.
Here are a few examples for manually changing the XQuery file:
Example 1: XQuery 2002 file generated after MFL to XML Transformation:
let $CYCC_TO_IMPACTDataLine1 := $_CYCC_TO_IMPACTDataLineDoc
return
<CYCC_TO_IMPACTDataLine>
<cycc_line>
<line_action>{
data($CYCC_TO_IMPACTDataLine1/cycc_line/line_action) }</line_action>
</cycc_line>
</CYCC_TO_IMPACTDataLine>
The above XQuery should be changed using the value of namespace in the schema generated from corresponding MFL as follows:
declare namespace ns0 = 'mfl/cycctoimpactdataline'
let $CYCC_TO_IMPACTDataLine1 := $_CYCC_TO_IMPACTDataLineDoc
return
<ns0:CYCC_TO_IMPACTDataLine>
<ns0:cycc_line>
<ns0:line_action>{
data($CYCC_TO_IMPACTDataLine1/cycc_line/line_action) }</ns0:line_action>
</ns0:cycc_line>
</ns0:CYCC_TO_IMPACTDataLine>
Example 2: Xquery 2002 MFL to XML transformation which does root element mapping from MFL Object to XML Document
$_tcp_TagLen_PackedDoc
Above Xquery should now be changed to include namespace using XML Tags (tcp_TagLen_Packed
)
declare namespace ns0='mfl/tcptaglenpacked'
<ns0:tcp_TagLen_Packed>
<ns0:TagLen_Packed>{ data($_tcp_TagLen_PackedDoc/TagLen_Packed)
}</ns0:TagLen_Packed>
</ns0:tcp_TagLen_Packed>
Before you use any XML file in the business process involving XML to MFL transformation, update this input XML file by declaring the namespace value in the XML Schema (using the namespace value in the corresponding XML schema) and qualifying every element of the input XML with this namespace
<tcp_TagLen_Packed><TagLen_Packed>385</TagLen_Packed></tcp_TagLen_Packed>
The above XML should be changed to by declaring the namespace value in the XML Schema and qualifying every element of the input XML with this namespace:
<ns0:tcp_TagLen_Packed
xmlns:ns0=\'mfl/tcptaglenpacked\'><ns0:TagLen_Packed>385</ns0:TagLen_Packed></ns0:tcp_TagLen_Packed>
After the upgrade is complete, you can optionally build and deploy the upgraded application (upgraded from 8.1.x or 8.5.x to 10g Release 3 (10.3)) to verify if the upgrade is successful. You can ensure that the required files have been moved or are available in the correct locations as follows:
build/EJB
directory.wli-process.xml
, wli-subscriptions.xml
, and wlw-manifest.xml
should be available in the build/processoutput/WEB-INF/
directory.Note: | The wlw-manifest.xml file provides information about the server resources referenced in an EAR file. Server administrators should examine the wlw-manifest.xml file to determine the resources necessary for successful deployment.In 8.x, the wlw-manifest.xml file was generated in META-INF/wlw-manifest.xml of the enterprise application. In 10.x, this file is generated in the WEB-INF directory of each web application. |
wli-channels.xml file
in the UtilProject\build\classes\channeloutput
directory.
![]() ![]() ![]() |