Ojdeploy and wldeploy with ant on hudson
Hi.
I'm using Hudson CI.
I also have ant build script to prepare ear for deployment (ojdeploy) and deploy this ear to WLS (wldeploy).
If I want to deploy my app to server I do following:
$PATH_TO_MY_JDEV_INSTALL/wlserver_10.3/server/bin/setWLSEnv
ant deploySo as you can see first of all I have to set some environmental variables (PATH and CLASSPATH) and after that I can run ant.
How to do same in Hudson? I have tried to execute command (setWLSEnv) and after that invoke ant but problem is that these two commands are executed separately. So in second step (when invoking ant) env. variables are not set even though at first step setWLSEnv was successfully executed.
Also tried to execute
$PATH_TO_MY_JDEV_INSTALL/wlserver_10.3/server/bin/setWLSEnvbefore starting hudson and I get following error:
[wldeploy] weblogic.security.internal.encryption.EncryptionServiceException: weblogic.security.internal.encryption.EncryptionServiceException: weblogic.security.internal.encryption.EncryptionServiceException: [Security:090219]Error decrypting Secret Key java.lang.SecurityException: The provider self-integrity check failed.
[wldeploy] at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.<init>(JSafeEncryptionServiceImpl.java:341)
[wldeploy] at weblogic.security.internal.encryption.JSafeEncryptionServiceFactory.getEncryptionService(JSafeEncryptionServiceFactory.java:48)
[wldeploy] at weblogic.security.UserConfigFileManager.initEncryptionRead(UserConfigFileManager.java:689)
[wldeploy] at weblogic.security.UserConfigFileManager.getUsernameAndPassword(UserConfigFileManager.java:171)
[wldeploy] at weblogic.deploy.utils.MBeanHomeTool.processUsernameAndPassword(MBeanHomeTool.java:411)
[wldeploy] at weblogic.deploy.api.tools.deployer.Jsr88Operation.connect(Jsr88Operation.java:295)
[wldeploy] at weblogic.deploy.api.tools.deployer.Deployer.perform(Deployer.java:137)
[wldeploy] at weblogic.deploy.api.tools.deployer.Deployer.runBody(Deployer.java:88)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:158)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:115)
[wldeploy] at weblogic.Deployer.run(Deployer.java:70)
[wldeploy] at weblogic.Deployer.mainWithExceptions(Deployer.java:62)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:597)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.invokeMain(WLDeploy.java:419)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.execute(WLDeploy.java:349)
[wldeploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:597)
[wldeploy] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[wldeploy] at org.apache.tools.ant.Task.perform(Task.java:348)
[wldeploy] at org.apache.tools.ant.Target.execute(Target.java:357)
[wldeploy] at org.apache.tools.ant.Target.performTasks(Target.java:385)
[wldeploy] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[wldeploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[wldeploy] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[wldeploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[wldeploy] at org.apache.tools.ant.Main.runBuild(Main.java:758)
[wldeploy] at org.apache.tools.ant.Main.startAnt(Main.java:217)
[wldeploy] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[wldeploy] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
[wldeploy] Caused by: weblogic.security.internal.encryption.EncryptionServiceException: weblogic.security.internal.encryption.EncryptionServiceException: [Security:090219]Error decrypting Secret Key java.lang.SecurityException: The provider self-integrity check failed.
[wldeploy] at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.createCiphers(JSafeEncryptionServiceImpl.java:420)
[wldeploy] at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.create3DESKeyContext(JSafeEncryptionServiceImpl.java:359)
[wldeploy] at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.<init>(JSafeEncryptionServiceImpl.java:331)
[wldeploy] ... 34 more
[wldeploy] Caused by: weblogic.security.internal.encryption.EncryptionServiceException: [Security:090219]Error decrypting Secret Key java.lang.SecurityException: The provider self-integrity check failed.
[wldeploy] at weblogic.security.internal.encryption.JSafeSecretKeyEncryptor.decryptSecretKey(JSafeSecretKeyEncryptor.java:116)
[wldeploy] at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.createCiphers(JSafeEncryptionServiceImpl.java:395)
[wldeploy] ... 36 moreAnd also at the beginning of build (from hudson) there is error like:
[taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.
Trying to override old definition of datatype wldeployIf I run that same ant script from command line with the same properties file as described above it works fine.
Any ideas?
Regards
Well, an easy solution would be to put the two commands into one batch file and call this batch file from Hudson.
Timo
Similar Messages
-
Ojdeploy and Hudson - how do we stop - quick question
Hi All
In our simple script that's used in Hudson, We use ojdeploy -buildfile a.xml -define application.root=/root/test
It works fine when everything compiles but when it fails, the script continues executing with errors which leads to false build status as pass since the shell script runs to the end of file.
How to do use in the shell script with ojdeploy to give a non-0 error number in shell script when ojdeploy fails ?
Any simple concrete example would be great.
ThanksIn your shell script, you should be able to get the result of the previous process using "$?". So you could evaluate that after calling ojdeploy and if that contains an error code, you should be able to exit your script.
If you want to use the Ant task, you need to define the task:
<taskdef name="ojdeploy" classname="oracle.jdeveloper.deploy.ant.OJDeployAntTask" uri="oraclelib:OJDeployAntTask"
classpath="<put the path to your jdeveloper home here>\jdeveloper\jdev\lib\ant-jdeveloper.jar"/>Then you can use ojdeploy (here to run a deployment profile specified in the workspace):
<ora:ojdeploy xmlns:ora="oraclelib:OJDeployAntTask"
executable="<put the path to your jdeveloper home here>\jdeveloper\jdev\bin\ojdeploy.exe"
failonerror="true"
ora:buildscript="${WORKSPACE}\build_workspace.xml"
ora:statuslog="${WORKSPACE}\build_log.xml">
<ora:deploy>
<ora:parameter name="basedir" value="${WORKSPACE}\<directory of the application>"/>
<ora:parameter name="workspace" value="<name of your workspace file in the basedir>"/>
<ora:parameter name="profile" value="<deployment profile name>"/>
<ora:parameter name="outputfile" value="<name of the ear file to be created>"/>
</ora:deploy>
</ora:ojdeploy>We're building on Windows as you can see, so you might need to adjust the paths and the executable for Linux.
You might also take a look at:
http://one-size-doesnt-fit-all.blogspot.fr/2010/11/using-ojdeploy-and-ant-for-creating-adf.html
http://javaosdev.blogspot.fr/2011/12/ojdeploy-documentation-for-tool.html
Sascha -
Hello,
I'm new to FlexPMD. I have just generated my firsts reports. I try to generate HTML reports.
I browse the documentation, this forum and the web and I find informations to :
- generate documentation with Hudson
- generate documentation with Maven
- generate documentation with XSLT pmd.xml -> html
Ok, I try to keep it simple. So I don't want to use Hudson.
I'm using ANT, and I currently don't want to install/learn Maven.
I'm using FlexUnit with ANT. And It's really simple to generate reports :
<junitreport todir="${report.flexunit.loc}">
<fileset dir="${report.flexunit.loc}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${report.flexunit.loc}/html" />
</junitreport>
I'm really new to FlexPMD, so I don't have currently a big knowledge, but it seems impossible to generate a HTML report just like junitreport. (1 line in an ANT task)
I test the XSLT transformation found on this forum (thread "XSLT pmd.xml -> html"). It's really cool. But it's seems difficult, for example, to extract the wrong code part and add it to the HTML page.
So, what is the simpler solution to generate HTML report just with FlexPMD/ANT ?
Thanks !Hello,
Currently you generate a PMD report with ANT like this :
<! -- define taskdef -->
< taskdef name="pmd" classname="com.adobe.ac.pmd.ant.FlexPmdAntTask" classpath="${build.pmd.loc}/flex-pmd-ant-task-${flexpmd.version}.jar">
< classpath>
< path refid="flexpmd.base" />
< pathelement location="${build.pmd.loc}/commons-lang-2.4.jar" />
< pathelement location="${build.pmd.loc}/flex-pmd-core-${flexpmd.version}.jar" />
< pathelement location="${build.pmd.loc}/flex-pmd-ruleset-api-${flexpmd.version}.jar" />
< pathelement location="${build.pmd.loc}/flex-pmd-ruleset-${flexpmd.version}.jar" />
< pathelement location="${build.pmd.loc}/plexus-utils-1.0.2.jar" />
< /classpath>
< /taskdef>
then generate XML report like this :
< pmd sourceDirectory="${src.loc}" outputDirectory="${report.loc}" ruleSet="${build.pmd.loc}/rules.xml"/>
The XML contains some file nodes :
< file name="/Users/user/workspace/AS3_UTILS/src/utils/align/gridAlignSpaceNumber.as">
< violation beginline="22" endline="22" begincolumn="0" endcolumn="27" rule="adobe.ac.pmd.rules.naming.TooShortVariable" ruleset="All Flex Rules" package="utils.align" class="gridAlignSpaceNumber.as" externalInfoUrl="" priority="5">This variable name is too short (3 characters minimum, but 1 actually). Detects when a field, local, or parameter has a very short name< /violation>
< /file>
The message is in the text node < violation>TEXT< /violation>
For me, we miss an important part of the message : the portion of the "bad" code.
It could be very usefull if PMD can generate something like this :
< file name="">
< violation beginline="" endline="" begincolumn="" endcolumn="" rule="" ruleset="" package="" class="gridAlignSpaceNumber.as" externalInfoUrl="" priority="">
< description>TEXT< /description>
< code><CDATA[MY CODE
MY CODE
MY CODE]>< /code>
< /violation>
< /file>
With this, we can generate "full" HTML report with XSLT transform easily.
I understand that it modify the standard XML schema of the output.
So, perharps it could be an option like this :
< pmd fullDescription="true" sourceDirectory="${src.loc}" outputDirectory="${report.loc}" ruleSet="${build.pmd.loc}/rules.xml"/>
What do you think ?
Thanks ! -
Change manifest file in existing EAR file with ANT task
Hi,
I use ant task (ojdeploy) to create EAR files from ADF application.
Now I want to add the application version number to MANIFEST.MF.
Is it possible to do the manifest file modification IN THE EXISTING EAR FILE (or while creating the EAR file with ojdeploy) with ant task or do I have to do the modification in the source MANIFEST.MF and after this create EAR file with ojdeploy?
BTW: I tried the <ear> task to create the EAR file instead of using ojdeploy but I was not able to find the needed deployment descriptor (appxml="application.xml") in my ADF appication.
regards
PeterHi Peter,
I don't know of a way to do it directly in ANT/ojdeploy. However, you could try exploding the EAR, updating the manifest, and recreating the EAR - cumbersome and slow, but it should work.
John -
Hello everyone,
I'm not sure if the title is proper, but I have a project to upgrade to weblogic 10, along with the upgrade I'm going to enhance the build files. Currently we have 450 ant file. There are many dependencies and all build files have hardcoded paths such "c:\sourcecode ...". Our application is about 6000000 lOC. Anyway, my job is to replace these paths with properties and change some old ant tasks.
You now imagine what I'm going to go through. Obviously, I need to edit 450 (can build tool for that) and do check in and out. Then test to make sure I didn't missed up with the dependency.
I'm no expert in ANT but we did some evaluation to ANT, Maven, Jam and we found ANT is the best fit for our environment because we have some structuring issues.
While working I have got this idea, however I'm not sure if it's the best, so I hope you can help here and give me your advice.
I will create a utilityBuild.xml. This ant file will contain the entire tasks we perform in all the 450. Rest of 450 ant will perform call to this utilityBuild.xml whenever it needs to do something e.g .
{color:#008000}<!-- Create Jar file of the classes in the ${tempdir} and then apply appc compilation on them-->{color}
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="appc"/>
Note: UTILITYBUILD = utilityBuild.xml
UtilityBuild.xml has this task as
{color:#008000}<!-- Perform weblogic.appc on the given Jar file to generate the Skeleton files -->{color}
<target name="appc" depends="jar.ejb" >
<java classname="weblogic.appc" fork="yes">
<sysproperty key="weblogic.home" value="${WL_HOME}"/>
<arg line="-compiler javac ${appdir}/${jarfile}"/>
<classpath>
<pathelement path="$classpath"/>
</classpath>
</java>
</target>
The {color:#ff0000}*benefit*{color} of doing this is {color:#ff0000}*if we decide to use wlcompile and wlappc instead of the above we only need to change one place utilityBuild.xml*{color} . I understand that I can make a custom ant task instead of relying on the properties that's passed when calling the child ant task.
{color:#0000ff}*For complete Source file* {color}
UtilityBuild.xml
<project name="SIMIS" basedir=".">
<!-- set global properties for this build -->
<property environment="env"/>
<property file="gosi.properties"/>
<target name="maketempdir" description="Create ${tempdir} directory">
<echo message="#### S T A R T B U I L D I N G ####"/>
<echo message="Started on ${TODAY} at ${TSTAMP}"/>
<mkdir dir="${tempdir}"/>
<mkdir dir="${tempdir}/META-INF"/>
<copy todir="${tempdir}/META-INF">
<fileset dir="${xmldir}">
<include name="*.xml"/>
</fileset>
</copy>
</target>
<!-- Clean all build related dirs, jars and xmls -->
<target name="cleantemp" description="Deletes ${build.dir}/** and ${dist.dir}/**." >
<delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${clientclasses}" includes="**/*EJB.class"/>
<fileset dir="${tempdir}" includes="**/*"/>
</delete>
<delete dir="${tempdir}"/>
<echo message="#### E N D B U I L D I N G ####"/>
</target>
<!-- Perform weblogic.appc on the given Jar file to generate the Skeleton files -->
<target name="appc" depends="jar.ejb" >
<java classname="weblogic.appc" fork="yes">
<sysproperty key="weblogic.home" value="${WL_HOME}"/>
<arg line="-compiler javac ${appdir}/${jarfile}"/>
<classpath>
<pathelement path="$classpath"/>
</classpath>
</java>
</target>
<target name="jar.ejb" >
<jar jarfile="${appdir}/${jarfile}"
basedir="${tempdir}" update="yes">
</jar>
</target>
<target name="javac">
<javac srcdir="${sourcedir}" destdir="${destinationdir}" includes="${include}" excludes="${exclude}" classpath="${classpath}" />
</target>
<target name="copy" description="copy contents to directory">
<copy todir="${todir}">
<fileset dir="${fromdir}">
<include name="${include}"/>
<exnclude name="${exclude}"/>
</fileset>
</copy>
</target>
<target name="clean" description="clean contents of directory">
<delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${cleandir}" includes="${include}" excludes="${exclude}"/>
</delete>
</target>
<target name="delete" description="delete entire directory">
<delete dir="${deletedir}"/>
</target>
<!-- deploy split directory application -->
<target name="deploy"
description="Deploy ear to WebLogic on ${wls.hostname}:${wls.port}.">
<wldeploy
user="${wls.username}"
password="${wls.password}"
adminurl="t3://${wls.hostname}:${wls.port}"
debug="true"
action="deploy"
source="${appdir}/${jarfile}"
failonerror="${failondeploy}"/>
</target>
</project>
CMN_Core_Session.xml (one of the 450 files)
<project name="default" default="build">
<!-- Specific Properties to this file. Please don't change these names, because it has been used by the ${UTILITYBUILD} -->
<property file="../gosi.properties"/>
<property name="srcdir" value="${SOURCE_CODE}/gosi/core"/>
<property name="xmldir" value="${SOURCE_CODE}/gosi/core/projects/session"/>
<property name="jarfile" value="CMN_Session.jar"/>
<!-- Main build task for this ant file -->
<target name="build" description="Builds components.">
<!-- Create Temp folders and copy the deployment descriptor their -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="maketempdir"/>
<!-- Compile the java classes in to ${clientclasses} -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="javac">
<property name="sourcedir" value="${srcdir}"/>
<property name="destinationdir" value="${clientclasses}"/>
<property name="include" value="**/*Session.java,**/*SessionHome.java"/>
<property name="exclude" value="**/*MaintainDateChangeSession.java,**/*MaintainDateChangeSessionEJB.java,**/*MaintainDateChangeSessionHome.java,**/*MaintainHolidaysSession.java,**/*MaintainHolidaysSessionEJB.java,**/*MaintainHolidaysSessionHome.java,**/*StartupUtilitySession.java,**/*StartupUtilitySessionEJB.java,**/*StartupUtilitySessionHome.java,**/UserSession.java"/>
</ant>
<!-- Compile the java classes again in to ${tempdir} this folder will be used to create the Jar file -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="javac">
<property name="sourcedir" value="${srcdir}"/>
<property name="destinationdir" value="${tempdir}"/>
<property name="include" value="**/*Session.java,**/*SessionHome.java,**/*SessionEJB.java"/>
<property name="exclude" value="**/*MaintainDateChangeSession.java,**/*MaintainDateChangeSessionEJB.java,**/*MaintainDateChangeSessionHome.java,**/*MaintainHolidaysSession.java,**/*MaintainHolidaysSessionEJB.java,**/*MaintainHolidaysSessionHome.java,**/*StartupUtilitySession.java,**/*StartupUtilitySessionEJB.java,**/*StartupUtilitySessionHome.java,**/UserSession.java"/>
</ant>
<!-- Create Jar file of the classes in the ${tempdir} and then apply appc compilation on them-->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="appc"/>
<!-- Remove all file in ${tempdir} -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="cleantemp"/>
</ant>
</target>
<!-- Main deploy task for this ant file -->
<target name="deploy" description="Deploy the components">
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="deploy"/>
</ant>
</target>
</project>
gosiProperties file
### Build Files Properties File ###
-- Configure the global properties for the ant build files
-- You may need to change this section to match your machine
BEA_HOME=C:/bea
SIMIS_DOMAIN=${BEA_HOME}/gosiprojects/server/simis
WL_HOME=${BEA_HOME}/wlserver_10.0/server
JAVA_HOME=${BEA_HOME}/jdk150_06
SOURCE_CODE=C:/sourcecode
ROOT=${SOURCE_CODE}/build_files
UTILITYBUILD=UtilityBuild.xml
-- Here we set the JARs directory and server and client classes
appdir=${SIMIS_DOMAIN}/applications
tempdir=${SIMIS_DOMAIN}/classes
clientclasses=${SIMIS_DOMAIN}/clientclasses
serverclasses=${SIMIS_DOMAIN}/serverclasses
web-inf=${appdir}/GOSI/WEB-INF/classes
startup=${appdir}/StartUp/WEB-INF/classes
-- Set the ClassPath for the ant tool
classpath=${JAVA_HOME}/lib/tools.jar;${WL_HOME}/lib/weblogic.jar;${WL_HOME};${SIMIS_DOMAIN}/APP-INF/lib/CMN_DMS_WS_RequestClient.jar;
Thanks and regards
Edited by: Nawaf on Mar 9, 2008 8:18 AMAny idea, I'm looking for your opinion, what do you think of the above
-
Wldeploy/wlserver Ant tasks & cruisecontrol output
Hi,
We are using the wlserver and wldeploy Ant tasks with cruisecontrol. We have found that the output from these tasks in included in the cruise email which is sent out, and are looking for a way to redirect this output to a file so that cruise doesn't think that this is warning output from the JVM. Currently, with all the deploy messages weblogic publishes cruise thinks that our code has 500 warnings.
I would expect that this should be easy, but can't figure out for the life of me how to do it.
RegardsI'm coming back a few month later, and don't remember how I solved this problem. Today, I'm sure it is resolved, the task looks like this :
<wldeploy action="deploy"
source="${weblogic.deploy.dir}/${module.name}.ear"
name="${module.name}"
user="${weblogic.user}"
password="${weblogic.password}"
verbose="true"
adminurl="${weblogic.adminurl}"
debug="true"
targets="${weblogic.servers.name}" />
It should work since I've upgraded from WL 8.1 SP2 to WL 8.1 SP4.
Regards
Bernard -
Building the ADF 11g project with ANT or MAVEN
I want to automate the build process of my project using ant or maven. Is there already some build scripts for ant / maven. which can compile and package it using the structure which JDeveloper follows?
Anthony,
You probably can. However, since I wrote the original article, I have changed my way of thinking on this; at the time I wrote the article, ojdeploy was not working - now it is. Installing JDev on a build machine takes a bit of space, but it's not a big deal; it doesn't require a license or anything. If I were doing this today, there is no way I would consider anything but ojdeploy for doing the build - it guarantees that what I set up in JDev is what gets built. The one thing that could make me change my mind is if and when JDeveloper gets fully-baked Maven support, including keeping a POM in synch with any libraries added to a project, but that's neither here today nor a certainty, since Oracle hasn't made any specific announcements that I am aware of about the direction of Maven support in JDev.
We did have a discussion about this on the [url http://groups.google.com/group/adf-methodology/browse_thread/thread/52f7aab00d201b4c/bec6e076a7c82520?lnk=gst&q=ojdeploy#bec6e076a7c82520]ADF Enterprise Methodology Group a while back, and I recall quite a discussion in the forums as well about ojdeploy vs ANT/Maven. I used to be more of a "purist" mindset (i.e. don't make me install an IDE on the build server), but if you like, don't think of it as an IDE in this function - it doesn't require a user to operate it, it's just another build tool that you'd install on the server. That build tool can be integrated with ANT using the ojdeploy tasks.
John -
Hello!
I built up a web site and I want to test them using ANT. It works fine with other web page, however it doesn't work with web pages with "session" statement. For example in login.jsp I have the following statement
session.setAttribute("user", request.getParameter("userName"));
And if the user's name and password are correct, the user is directed to home.jsp, where i have the following statement to retrieve the user's name:
String id=session.getAttribute("user").toString();
In order to test the above 2 pages with ANT, I have the following code in builder.xml:
<?xml version='1.0'?>
<project name="proj" default="test" basedir=".">
<target name="test">
<get src="http://path/login.jsp?userName=id&passWord=1111" dest="1.html" />
</target>
</project>
When I run the script, I get the error that the home.jsp cannot be opened (see below)
[get] Error opening connection java.io.IOException: Server returned HTTP response code: 500 for URL: http://path/home.jsp
I am pretty sure the above error is caused by the "session" statement, because if I remove the statement in home.jsp, the page can be correctly opened. But I really need the "session" statement, Can someone tell me how to deal with it?
thanks a million.Usually with a 500 error there's more detail in a server log somewhere. Can you find anything in stderr.log or some such?
-
Hello!
I built up a web site and I want to test them using ANT. It works fine with other web page, however it doesn't work with web pages with "session" statement. For example in login.jsp I have the following statement
session.setAttribute("user", request.getParameter("userName"));
And if the user's name and password are correct, the user is directed to home.jsp, where i have the following statement to retrieve the user's name:
String id=session.getAttribute("user").toString();
In order to test the above 2 pages with ANT, I have the following code in builder.xml:
<?xml version='1.0'?>
<project name="proj" default="test" basedir=".">
<target name="test">
<get src="http://path/login.jsp?userName=id&passWord=1111" dest="1.html" />
</target>
</project>
When I run the script, I get the error that the home.jsp cannot be opened (see below)
[get] Error opening connection java.io.IOException: Server returned HTTP response code: 500 for URL: http://path/home.jsp
I am pretty sure the above error is caused by the "session" statement, because if I remove the statement in home.jsp, the page can be correctly opened. But I really need the "session" statement, Can someone tell me how to deal with it?
thanks a million.One mistake i find in your code is while retreiving the session value its session.getAttribute("userName"), as you stored the value using the parameter 'userName'. Is it not causing problem. Please check...
-
Install instructions for Search Modeler and integrating with Apps 11i
Below are all the steps I took for creating integrating Search Modeler with an Oracle E-Business Suite 11.5.10.2 ATG RUP 7 instance called ERNIE.
Much thanks to Oracle Support ( Rajesh Ghosh, Vikas Soolapani and Roger Ford), as this simply wouldn't have been possible without them.
There are a few things in this document that may not be pertinent to your environment if you're doing this. I've made attempts to clarify those possibly optional sections in the documentation.
I've broken the document down into the following multiple parts
o Setting up a new RedHat 4.8 x86 server called ausSEARCHdev (The server is in AUStin, TX, is dedicated to SEARCH, and is for our DEV environment)
o SES (Secure Enterprise Search 10.1.8.2 install
o SES 10.1.8.4 patchset install
o SES CPU patch apply
o Standalone OC4J and ADF installation
o Search Modeler installation and configuration
o Configure ERNIE Apps instance to be on valid self-signed SSL certificate
o Import ERNIE SSL certificate into SES and Search Modeler
using aussearchdev initially
rh4 x86, default oracle build
** htop and collectl are open source free performance monitoring packages we utilize**
--start
install htop and collectl
wget http://dag.wieers.com/rpm/packages/htop/htop-0.7-1.el4.rf.i386.rpm
rpm -ivh htop-0.7-1.el4.rf.i386.rpm
wget http://downloads.sourceforge.net/project/collectl/collectl/collectl-3.4.0-4/collectl-3.4.0-4.noarch.rpm?use_mirror=voxel
rpm -ivh collectl-3.4.0-4.noarch.rpm
chkconfig collectl on
service collectl start
**We still need to install the necessary rpms so that collectl logs are compressed
--end
useradd -u 501 oracle
groupadd -g 504 dba
usermod -G 504 oracle
verification:
[root@aussearchdev ~]# su - oracle
[oracle@aussearchdev ~]$ id
uid=501(oracle) gid=501(oracle) groups=501(oracle),504(dba)
passwd oracle
** /mnt/oraclebackup is a network dumpspot we use to hold Software installs, RPMs, etc
** /mnt/rpms is a network dumpspot we use to hold ISOs for OS software such as Redhat Linux
mkdir /mnt/oraclebackup
mkdir /mnt/rpms
add the following to /etc/fstab
XXXXXXX:/patches/oraclebackup /mnt/oraclebackup nfs defaults,hard,nolock 0 0
XXXXXXX:/esxpress/nfs /mnt/rpms nfs rw,addr=XXX.XXX.XXX.XXX 0 0
mount /mnt/rpms
Next need to install various oracle needed RPMs.
cd /mnt/rpms/rh40_upd8/RedHat/RPMS/
rpm -ivh perl-Compress-Zlib-1.42-1.el4.i386.rpm
rpm -ivh libaio-devel-0.3.105-2.i386.rpm
rpm -ivh sysstat-5.0.5-25.el4.i386.rpm
rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
service collectl restart
cd /tmp
wget http://oss.oracle.com/el4/oracle-validated/oracle-validated-1.0.0-18.el4.i386.rpm
rpm -ivh oracle-validated-1.0.0-18.el4.i386.rpm
Now we should have all the RPMs we need.
cd /etc/sysconfig/oracle-validated
./oracle-validated-verify
cd /var/log/oracle-validated/results
more orakernel.log
uname -a
should return 2.6.9 or higher
rpm -qa|grep gcc-
should return 3.4.3 or higher
rpm -qa|grep glibc
should return 2.3.4-2.9 or higher
rpm -qa|grep make
should return 3.80 or higher
rpm -qa|grep binutils
should return 2.15.92.0.2 or higher
rpm -qa|grep openmotif
should return 2.2.3-9.RHEL4.1 or higher
rpm -qa|grep compat-db
should return 4.1.25-9 or higher
rpm -qa|grep setarch
should return 1.6-1 or higher
cat /proc/sys/kernel/sem
should return 250 32000 100 128 or higher (250 32000 100 142 in our case)
cat /proc/sys/kernel/shmall (1073741824 in our case)
should return 2097152 or higher
cat /proc/sys/kernel/shmmax
should return half the size of physical memory (4294967295 in our case - NO LARGER on 32-bit OS)
cat /proc/sys/kernel/shmmni
should return 4096
cat /proc/sys/fs/file-max
should return 65536 (327679 in our case)
cat /proc/sys/net/ipv4/ip_local_port_range
should return 1024 65000
values in /etc/security/limits.conf set by oracle-validated rpm, no changes necessary
add the following line to /etc/pam.d/login
session required /lib/security/pam_limits.so
add the following to /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
mkdir -p /d01/oracle
chmod 777 /d01/oracle
init 6 the box (aka reboot)
Time to start the SES 10.1.8.2 installer
running SES 10.1.8.2 installer
as oracle
cd /mnt/oraclebackup/deathstar_patches/SES/SES10182
./runInstaller
search server name sesprod
administrative password XXXXXXXX for dev,
http port 7777
destination path /d01/oracle/10.1.8/sesdev (dev)
data storage path /d01/oracle/sesdevdata (dev)
next
inventory /d01/oracle/oraInventory
dba group
run orainstroot.sh as requested
continue
all tests should pass, continue
finished clean
tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
Now we need to get to 10.1.8.4 of SES
(yes, you need to keep the system up)
cd /mnt/oraclebackup/deathstar_patches/SES/SES10184/ses_10184pst_linux/
./runInstaller
Destination, choose sesdev
Next
Patchset successful
tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
Apply CPU Patch to SES
CPU JAN 10 says patch 9119261 is required - but patch requires extended support contract
CPU OCT 09 says patch 8836540 is required - but patch requires extended support contract
CPU JUL 09 says patch 8534394 is required - but patch requires extended support contract
CPU APR 09 says patch 8290534 is required - and you can actually download it
Need opatch from 6880880
cp -r /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/OPatch $ORACLE_HOME
export PATH=$ORACLE_HOME/OPatch:$PATH
shut down everything
cd $ORACLE_HOME/bin
./searchctl stopall
cd /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/8290534
opatch apply
cd $ORACLE_HOME/cpu/CPUApr2009
**Note: your sys password is what you set for your administrative password above
sqlplus "sys/XXXXXX" as sysdba;
startup
@catcpu
@?/rdbms/admin/utlrp
shutdown immediate
exit
cd /d01/oracle/10.1.8/sesdev/cpu/view_recompile/
sqlplus "sys/XXXXXXX" as sysdba;
startup upgrade;
@view_recompile_jan2008cpu.sql
@?/rdbms/admin/utlrp
shutdown immediate
cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/ext
mv mail.jar $HOME/mail.jar.backup02222010
mv mailapi.jar $HOME/mailapi.jar.back02222010
cp /d01/oracle/10.1.8/sesdev/search/lib/mail.jar .
SES 10.1.8.4 is now installed and updated with latest available CPU
tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
we're going to go with the standalone OC4j 10.1.3.3 and Oracle ADF 10.1.3.3 method
The URLs for these products are
http://blogs.oracle.com/ebssearch/2009/10/available_now_oracle_search_modeler_11_for_oracle_e-business_suite_11i.html
and specifically
OC4J - http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
ADF - http://www.oracle.com/technology/software/products/jdev/htdocs/adfinstaller10133.html
OC4J install
First you need to have Java 1.5 on the machine. Latest is 1.5.0_22. Package is in /mnt/oraclebackup/deathstar_patches/SES
as root on aussearchdev
cd /usr/local
cp /mnt/oraclebackup/deathstar_patches/SES/jdk-1_5_0_22-linux-i586.bin .
chmod 700 jdk-1_5_0_22-linux-i586.bin
./jdk-1_5_0_22-linux-i586.bin
yes
install OC4J just by copying over the directory
as oracle on aussearchdev
mkdir -p /d01/oracle/oc4j
cd /d01/oracle/oc4j
cp -r /mnt/oraclebackup/deathstar_patches/SES/oc4j/* .
ADF install
vi /mnt/oraclebackup/deathstar_patches/SES/adf/adfinstaller.properties
change the following
OracleHome = /mnt/oraclebackup/deathstar_patches/SES/adf
DesHome = /d01/oracle/oc4j/
type = OC4J
as root
cd /usr/bin
rm java
(yes)
ln -s /usr/local/jdk1.5.0_22/bin/java
su - oracle
java -version should now return 1.5.0_22
export JAVA_HOME=/usr/local/jdk1.5.0_22
cd /mnt/oraclebackup/deathstar_patches/SES/adf
java -jar runinstaller.jar -version
returns The version for the ADF libraries being installed is 10.1.3.41.57 - yes, that is apparently 10.1.3.3.
java -jar runinstaller.jar adfinstaller.properties
output looks good, do not be concerned by
WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/bc4j' whilst deleting bc4j application
WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/datatags' whilst deleting datatags application
as it was trying to delete the old version that didn't exist
Start OC4J
as oracle on aussearchdev
export JAVA_HOME=/usr/local/jdk1.5.0_22
export ORACLE_HOME=/d01/oracle/oc4j
cd $ORACLE_HOME/bin
./oc4j -start
you will be prompted for password - we're setting it. use XXXXXXXXXX
after it's up, kill it (ctrl-c) and restart it with
nohup ./oc4j -start &
last lines in nohup.out is
Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
10/02/23 03:22:38 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
So now on to search modeler installation, going by Installation steps in Note 781366.1
8326128 - This is not a patch to be applied to the Apps, keep reading
as oracle on aussearchdev
cd /mnt/oraclebackup/deathstar_patches/SES/8326128
mkdir -p /d01/oracle/oc4j/uploaded
vi build.properties, changing
installation.type=OC4J
oracle.home=/d01/oracle/oc4j
deploy.server=aussearchdev.domainname.com
deploy.port=23791
web.port=7777
password=XXXXXXXXX
extra.classpath=/d01/oracle/oc4j/uploaded
now set the following environment values in your ssh session
export ORACLE_HOME=/d01/oracle/oc4j
export JAVA_HOME=/usr/local/jdk1.5.0_22
export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
ant main
whole bunch of stuff to screen, errors due to undeploy something that doesn't exist. Finished after a minute with
BUILD SUCCESSFUL
Total time: 58 seconds
Now on to post install steps
restart OC4j
cd $ORACLE_HOME/bin
./modeler.sh -shutdown -port 23791 -password r*l*r*0*
export ORACLE_HOME=/d01/oracle/oc4j
export JAVA_HOME=/usr/local/jdk1.5.0_22
export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
nohup ./modeler.sh -start &
end of nohup.out should show
Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
Try going to http://aussearchdev:8888/modeler/faces/ModelerHome.jsp
Should get login screen, but wait, we haven't installed Oracle Apps interface yet...
Next let's do the Apps side of things
Going by note 953378.1
Using ERNIE (a development instance of E-Business Suite running 11.5.10.2 ATG RUP 7)
as applmgr on ausernieapp (ausernieapp is our app tier)
shut down apps services
apps patch 8225631
verify all the pre-req patches are in ERNIE
select * from ad_bugs where bug_number = '5903765';
select * from ad_bugs where bug_number = '6372396';
select * from ad_bugs where bug_number = '3219567';
select * from ad_bugs where bug_number = '3264822';
select * from ad_bugs where bug_number = '3261254';
select * from ad_bugs where bug_number = '5161676';
select * from ad_bugs where bug_number = '3036401';
select * from ad_bugs where bug_number = '3263588';
select * from ad_bugs where bug_number = '3264818';
select * from ad_bugs where bug_number = '3218526';
select * from ad_bugs where bug_number = '3263645';
select * from ad_bugs where bug_number = '4206794';
select * from ad_bugs where bug_number = '3262486';
select * from ad_bugs where bug_number = '3261243';
select * from ad_bugs where bug_number = '2614213';
select * from ad_bugs where bug_number = '3262159';
select * from ad_bugs where bug_number = '2819091';
select * from ad_bugs where bug_number = '3412795';
patch went in smooth
Log in to ERNIE Apps GUI as sysadmin user responsibility
Give users such as sysadmin FND Search Crawler responsibility
Go to system profile options, set
set FND: Search Enabling Flag to Y at site level
as applmgr on ausernieapp
cd /d01/oracle/ernieappl/fnd/11.5.0/patch/115/sql
sqlplus apps/$APPS_PWD @AFSRCHCF
Enter SES endpoint URL [e.g. http://ap637atg.us.oracle.com:7780]: http://aussearchdev.domainname.com:7777
Enter Apps Admin username [e.g. sysadmin]: sysadmin
Enter Apps Admin password: sysadmin_password
Enter SES Admin username [e.g. eqsys]: eqsys
Enter SES Admin password: eqsyspassword <-- This is the same as sys's password
on aussearchdev as oracle
had to kill modeler and start all the processes, so
kill -9 the modeler oc4j process, then
cd $ORACLE_HOME/bin
./searchctl startall
enter the password when prompted
in IE browser go to
http://aussearchdev.domainname.com:7777/search/admin
log in with eqsys password
global settings tab
identity management setup
click circle next to oracle.search.plugin.security.identity.ebs.EBS12IdentityPliginMgr
(yes, we're going with 12 even though we use Oracle Apps 11i)
http end point https://ausernieapp.domainname.com:8443/webservices/AppSearch/SecurityService
username sysadmin
password XXXXXXX
finish
Global Settings
Federation Trusted Entitites
####entity name sysadmin
####Entity Password XXXXXXXX
According to web conference with Oracle, this should NOT be eqsys but instead be sysadmin from above.
Select the Use Entity Plug-in for authentication check box
add
Trying to go to http://aussearchdev.domainname.com:7777/search/query/search and login (sysadmin / password)
stop midtier on both SES and Apps
cd $ORACLE_HOME/bin
./searchctl stopall
./adstpall.sh apps/$APPS_PWD on EBS app tier
start midtier on both SES and Apps
cd $ORACLE_HOME/bin
./searchctl startall
./adstrtal.sh apps/$APPS_PWD on EBS app tier
Now try and log in to Oracle SES user interface to verify the configuration
http://aussearchdev.domainname.com:7777/search/query
Now start up modeler again
export JAVA_HOME=/usr/local/jdk1.5.0_22
export ORACLE_HOME=/d01/oracle/oc4j
export PATH=$ORACLE_HOME/bin:$PATH
cd $ORACLE_HOME/bin
nohup ./modeler.sh -start &
Works now.
Now go to http://aussearchdev.domainname.com:8888/modeleradmin/AdminHome.jsp log in as oc4jadmin/XXXXXXX
Configure new target
Target Type 11i
Description ERNIE
Name ERNIE
EBS Database Host Name auserniedb
EBS Database Port 1521
EBS Database SID ERNIE
username apps
password XXXXXXXXx
oc4jadmin XXXXXXXx
export JAVA_HOME=/usr/local/jdk1.5.0_22
export ORACLE_HOME=/d01/oracle/oc4j
export PATH=$ORACLE_HOME/bin:$PATH
cd $ORACLE_HOME/j2ee/home
java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXXXX -addDataSourceConnectionPool -name "ERNIE2-pool" -factoryClass "oracle.jdbc.pool.OracleDataSource" -dbUser "apps" -dbPassword "XXXXXXX" -url "jdbc:oracle:thin:@auserniedb.domainname.com:1521:ERNIE" -applicationName appsearch
java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXX -addManagedDataSource -name "ERNIEDS" -jndiLocation "jdbc/ERNIEDS" -connectionPoolName "ERNIE2-pool" -applicationName appsearch
http://aussearchdev.domainname.com:8888/modeler/faces/ModelerHome.jsp
So, creating a self signed SSL certificate for ERNIE EBS instance (this will not work if you use an SSL certificate for another server like say, PROD)
doing this on ausernieapp
openssl genrsa -des3 -out ausernieapp.key 1024
PEM key is ausernieapp
openssl req -new -key ausernieapp.key -out ausernieapp.csr
PEM key is ausernieapp
Country US
State Texas
Locality Austin
Organization Name Corporation
Organizational Unit Name Information Technology
Common Name ausernieapp.domainname.com
Email address [email protected]
No challenge password
No optional company name
Now let's remove the passphrase from the key
cp ausernieapp.key ausernieapp.key.orig
openssl rsa -in ausernieapp.key.orig -out ausernieapp.key
Now let's generate a self-signed certificate
openssl x509 -req -days 1000 -in ausernieapp.csr -signkey ausernieapp.key -out ausernieapp.crt
Install the private key and certificate
cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.crt
cp server.crt server.crt.backup.03102010
chown applmgr:applmgr server.crt.backup.03102010
cp $HOME/ausernieapp.crt /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.crt/server.crt
cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.key/
cp server.key server.key.backup.03102010
cp $HOME/ausernieapp.key /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.key/server.key
chown applmgr:applmgr server.key.backup.03102010
bounce apache as applmgr
cd /d01/oracle/erniecomn/admin/scripts/ERNIE_ausernieapp
./adapcctl.sh stop
./adapcctl.sh start
In IE
https://ausernieapp.domainname.com:8443
Continue
Click on Certificate Error next to URL bar
Install Certificate -> Next-> Place all certificates in the following store -> trusted root certificate authorities ->finish
close browser, back to https://ausernieapp.domainname.com:8443
no errors,
Next step will be to import key into the SES and Search modelers
as oracle on aussearchdev
cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/security/
cp cacerts cacerts.backup.03102010
scp root@ausernieapp:/root/ausernieapp.crt .
export LANG=c
export PATH=$ORACLE_HOME/jdk/bin:$PATH
keytool -keystore ./cacerts -storepass changeit -alias rootausernieapp -import -trustcacerts -file ausernieapp.crt
--output
Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Serial number: b4e92089cf73076f
Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
Certificate fingerprints:
MD5: 2C:6B:EE:1A:63:6D:XX:A6:05:90:F6:XX:DD:88:F7:80
SHA1: F8:DC:E5:2A:3E:68:XX:E1:EA:E4:75:AE:CC:4F:4A:10:2F:8A:FE:9B
Trust this certificate? [no]: yes
Certificate was added to keystore
Now load our cert
keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
keytool -list -v -keystore ./cacerts now shows
Alias name: rootausernieapp
Creation date: Mar 10, 2010
Entry type: trustedCertEntry
Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Serial number: b4e92089cf73076f
Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
Certificate fingerprints:
MD5: 2C:6B:EE:1A:63:6D:CB:XX:05:90:F6:78:DD:88:F7:80
SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:FA:9E:10:2F:8A:FE:9B
Now we need to load it into the search modeler keystore
as root on aussearchdev
export JAVA_HOME=/usr/local/jdk1.5.0_22/
export PATH=$JAVA_HOME/bin:$PATH
cd /usr/local/jdk1.5.0_22/jre/lib/security/
scp root@ausernieapp:/root/ausernieapp.crt .
output
keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
Enter keystore password: changeit
Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Serial number: b4e92089cf73076f
Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
Certificate fingerprints:
MD5: 2C:6B:EE:1A:63:6D:CB:A1:05:90:F6:78:DD:88:F7:80
SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:4F:9E:10:2F:8A:FE:9B
Trust this certificate? [no]: yes
Certificate was added to keystore
[root@aussearchdev security]#
output
For troubleshooting, if you go to end of /d01/oracle/10.1.8/sesdev/search/data/config/crawler.dat
you can modify the logLevel from the default of 4 to 2 to get better debug data. No services need to be restarted, it will become active with the next crawl.
While talking with Oracle, they mentioned the following patches
The patches identified 8321527 and 7586924 are SES patches to help with indexing
They also identified patch 9103851 which is an apps patch dealing with responsibilities <-- This is not yet available
Applying patch 7586924
as oracle on aussearchdev
cd $ORACLE_HOME/bin
./searchctl stopall
cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/7586924
opatch apply
cd $ORACLE_HOME/bin
./searchctl startall
sqlplus eqsys/XXXXXX@SESDEV
define SCH_NAME=EQSYS
define PROXY_USER=EQPROXY
define INST_USER=EQ_TEST
@$ORACLE_HOME/search/admin/eq0pkh.sql
@$ORACLE_HOME/search/admin/eq0plb.sql
@$ORACLE_HOME/search/admin/eq0bug_7586924.sql
cd $ORACLE_HOME/search/data/config/
cp crawler.dat crawler.dat.backup.03102010
vi crawler.dat
We're using the Oracle E-Business Suite R12 crawler, so we will add the line
USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
as the line immediately preceding IMPORT -
so the end of the file looks like this:
# system properies: separated by space for multiple system properties or define multiple SYSTEM_PROPERTIES
# logLevel values: DEBUG(2), INFO(4), WARN(6), ERROR(8), FATAL(10)
SYSTEM_PROPERTIES -Doracle.search.logLevel=4 -Doracle.search.log=oracle.search.util.Log4jImpl
USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
IMPORT -
Now on to patch 8321527
cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/8321527
cd $ORACLE_HOME/bin
./searchctl stopall
cd -
opatch apply
cd $ORACLE_HOME/bin
./searchctl startall
sqlplus eqsys/XXXXXXX@SESDEV
define SCH_NAME=EQSYS
define PROXY_USER=EQPROXY
select object_name from user_objects where status = 'INVALID';
--should be no rows selected
@$ORACLE_HOME/search/admin/eq0pkh.sql
@$ORACLE_HOME/search/admin/eq0plb.sql
--should be no rows selected
restart SES
cd -
./searchctl stopall
./searchctl startallBelow are all the steps I took for creating integrating Search Modeler with an Oracle E-Business Suite 11.5.10.2 ATG RUP 7 instance called ERNIE.
Much thanks to Oracle Support ( Rajesh Ghosh, Vikas Soolapani and Roger Ford), as this simply wouldn't have been possible without them.
There are a few things in this document that may not be pertinent to your environment if you're doing this. I've made attempts to clarify those possibly optional sections in the documentation.
I've broken the document down into the following multiple parts
o Setting up a new RedHat 4.8 x86 server called ausSEARCHdev (The server is in AUStin, TX, is dedicated to SEARCH, and is for our DEV environment)
o SES (Secure Enterprise Search 10.1.8.2 install
o SES 10.1.8.4 patchset install
o SES CPU patch apply
o Standalone OC4J and ADF installation
o Search Modeler installation and configuration
o Configure ERNIE Apps instance to be on valid self-signed SSL certificate
o Import ERNIE SSL certificate into SES and Search Modeler
using aussearchdev initially
rh4 x86, default oracle build
** htop and collectl are open source free performance monitoring packages we utilize**
--start
install htop and collectl
wget http://dag.wieers.com/rpm/packages/htop/htop-0.7-1.el4.rf.i386.rpm
rpm -ivh htop-0.7-1.el4.rf.i386.rpm
wget http://downloads.sourceforge.net/project/collectl/collectl/collectl-3.4.0-4/collectl-3.4.0-4.noarch.rpm?use_mirror=voxel
rpm -ivh collectl-3.4.0-4.noarch.rpm
chkconfig collectl on
service collectl start
**We still need to install the necessary rpms so that collectl logs are compressed
--end
useradd -u 501 oracle
groupadd -g 504 dba
usermod -G 504 oracle
verification:
[root@aussearchdev ~]# su - oracle
[oracle@aussearchdev ~]$ id
uid=501(oracle) gid=501(oracle) groups=501(oracle),504(dba)
passwd oracle
** /mnt/oraclebackup is a network dumpspot we use to hold Software installs, RPMs, etc
** /mnt/rpms is a network dumpspot we use to hold ISOs for OS software such as Redhat Linux
mkdir /mnt/oraclebackup
mkdir /mnt/rpms
add the following to /etc/fstab
XXXXXXX:/patches/oraclebackup /mnt/oraclebackup nfs defaults,hard,nolock 0 0
XXXXXXX:/esxpress/nfs /mnt/rpms nfs rw,addr=XXX.XXX.XXX.XXX 0 0
mount /mnt/rpms
Next need to install various oracle needed RPMs.
cd /mnt/rpms/rh40_upd8/RedHat/RPMS/
rpm -ivh perl-Compress-Zlib-1.42-1.el4.i386.rpm
rpm -ivh libaio-devel-0.3.105-2.i386.rpm
rpm -ivh sysstat-5.0.5-25.el4.i386.rpm
rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
service collectl restart
cd /tmp
wget http://oss.oracle.com/el4/oracle-validated/oracle-validated-1.0.0-18.el4.i386.rpm
rpm -ivh oracle-validated-1.0.0-18.el4.i386.rpm
Now we should have all the RPMs we need.
cd /etc/sysconfig/oracle-validated
./oracle-validated-verify
cd /var/log/oracle-validated/results
more orakernel.log
uname -a
should return 2.6.9 or higher
rpm -qa|grep gcc-
should return 3.4.3 or higher
rpm -qa|grep glibc
should return 2.3.4-2.9 or higher
rpm -qa|grep make
should return 3.80 or higher
rpm -qa|grep binutils
should return 2.15.92.0.2 or higher
rpm -qa|grep openmotif
should return 2.2.3-9.RHEL4.1 or higher
rpm -qa|grep compat-db
should return 4.1.25-9 or higher
rpm -qa|grep setarch
should return 1.6-1 or higher
cat /proc/sys/kernel/sem
should return 250 32000 100 128 or higher (250 32000 100 142 in our case)
cat /proc/sys/kernel/shmall (1073741824 in our case)
should return 2097152 or higher
cat /proc/sys/kernel/shmmax
should return half the size of physical memory (4294967295 in our case - NO LARGER on 32-bit OS)
cat /proc/sys/kernel/shmmni
should return 4096
cat /proc/sys/fs/file-max
should return 65536 (327679 in our case)
cat /proc/sys/net/ipv4/ip_local_port_range
should return 1024 65000
values in /etc/security/limits.conf set by oracle-validated rpm, no changes necessary
add the following line to /etc/pam.d/login
session required /lib/security/pam_limits.so
add the following to /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
mkdir -p /d01/oracle
chmod 777 /d01/oracle
init 6 the box (aka reboot)
Time to start the SES 10.1.8.2 installer
running SES 10.1.8.2 installer
as oracle
cd /mnt/oraclebackup/deathstar_patches/SES/SES10182
./runInstaller
search server name sesprod
administrative password XXXXXXXX for dev,
http port 7777
destination path /d01/oracle/10.1.8/sesdev (dev)
data storage path /d01/oracle/sesdevdata (dev)
next
inventory /d01/oracle/oraInventory
dba group
run orainstroot.sh as requested
continue
all tests should pass, continue
finished clean
tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
Now we need to get to 10.1.8.4 of SES
(yes, you need to keep the system up)
cd /mnt/oraclebackup/deathstar_patches/SES/SES10184/ses_10184pst_linux/
./runInstaller
Destination, choose sesdev
Next
Patchset successful
tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
Apply CPU Patch to SES
CPU JAN 10 says patch 9119261 is required - but patch requires extended support contract
CPU OCT 09 says patch 8836540 is required - but patch requires extended support contract
CPU JUL 09 says patch 8534394 is required - but patch requires extended support contract
CPU APR 09 says patch 8290534 is required - and you can actually download it
Need opatch from 6880880
cp -r /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/OPatch $ORACLE_HOME
export PATH=$ORACLE_HOME/OPatch:$PATH
shut down everything
cd $ORACLE_HOME/bin
./searchctl stopall
cd /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/8290534
opatch apply
cd $ORACLE_HOME/cpu/CPUApr2009
**Note: your sys password is what you set for your administrative password above
sqlplus "sys/XXXXXX" as sysdba;
startup
@catcpu
@?/rdbms/admin/utlrp
shutdown immediate
exit
cd /d01/oracle/10.1.8/sesdev/cpu/view_recompile/
sqlplus "sys/XXXXXXX" as sysdba;
startup upgrade;
@view_recompile_jan2008cpu.sql
@?/rdbms/admin/utlrp
shutdown immediate
cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/ext
mv mail.jar $HOME/mail.jar.backup02222010
mv mailapi.jar $HOME/mailapi.jar.back02222010
cp /d01/oracle/10.1.8/sesdev/search/lib/mail.jar .
SES 10.1.8.4 is now installed and updated with latest available CPU
tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
we're going to go with the standalone OC4j 10.1.3.3 and Oracle ADF 10.1.3.3 method
The URLs for these products are
http://blogs.oracle.com/ebssearch/2009/10/available_now_oracle_search_modeler_11_for_oracle_e-business_suite_11i.html
and specifically
OC4J - http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
ADF - http://www.oracle.com/technology/software/products/jdev/htdocs/adfinstaller10133.html
OC4J install
First you need to have Java 1.5 on the machine. Latest is 1.5.0_22. Package is in /mnt/oraclebackup/deathstar_patches/SES
as root on aussearchdev
cd /usr/local
cp /mnt/oraclebackup/deathstar_patches/SES/jdk-1_5_0_22-linux-i586.bin .
chmod 700 jdk-1_5_0_22-linux-i586.bin
./jdk-1_5_0_22-linux-i586.bin
yes
install OC4J just by copying over the directory
as oracle on aussearchdev
mkdir -p /d01/oracle/oc4j
cd /d01/oracle/oc4j
cp -r /mnt/oraclebackup/deathstar_patches/SES/oc4j/* .
ADF install
vi /mnt/oraclebackup/deathstar_patches/SES/adf/adfinstaller.properties
change the following
OracleHome = /mnt/oraclebackup/deathstar_patches/SES/adf
DesHome = /d01/oracle/oc4j/
type = OC4J
as root
cd /usr/bin
rm java
(yes)
ln -s /usr/local/jdk1.5.0_22/bin/java
su - oracle
java -version should now return 1.5.0_22
export JAVA_HOME=/usr/local/jdk1.5.0_22
cd /mnt/oraclebackup/deathstar_patches/SES/adf
java -jar runinstaller.jar -version
returns The version for the ADF libraries being installed is 10.1.3.41.57 - yes, that is apparently 10.1.3.3.
java -jar runinstaller.jar adfinstaller.properties
output looks good, do not be concerned by
WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/bc4j' whilst deleting bc4j application
WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/datatags' whilst deleting datatags application
as it was trying to delete the old version that didn't exist
Start OC4J
as oracle on aussearchdev
export JAVA_HOME=/usr/local/jdk1.5.0_22
export ORACLE_HOME=/d01/oracle/oc4j
cd $ORACLE_HOME/bin
./oc4j -start
you will be prompted for password - we're setting it. use XXXXXXXXXX
after it's up, kill it (ctrl-c) and restart it with
nohup ./oc4j -start &
last lines in nohup.out is
Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
10/02/23 03:22:38 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
So now on to search modeler installation, going by Installation steps in Note 781366.1
8326128 - This is not a patch to be applied to the Apps, keep reading
as oracle on aussearchdev
cd /mnt/oraclebackup/deathstar_patches/SES/8326128
mkdir -p /d01/oracle/oc4j/uploaded
vi build.properties, changing
installation.type=OC4J
oracle.home=/d01/oracle/oc4j
deploy.server=aussearchdev.domainname.com
deploy.port=23791
web.port=7777
password=XXXXXXXXX
extra.classpath=/d01/oracle/oc4j/uploaded
now set the following environment values in your ssh session
export ORACLE_HOME=/d01/oracle/oc4j
export JAVA_HOME=/usr/local/jdk1.5.0_22
export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
ant main
whole bunch of stuff to screen, errors due to undeploy something that doesn't exist. Finished after a minute with
BUILD SUCCESSFUL
Total time: 58 seconds
Now on to post install steps
restart OC4j
cd $ORACLE_HOME/bin
./modeler.sh -shutdown -port 23791 -password r*l*r*0*
export ORACLE_HOME=/d01/oracle/oc4j
export JAVA_HOME=/usr/local/jdk1.5.0_22
export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
nohup ./modeler.sh -start &
end of nohup.out should show
Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
Try going to http://aussearchdev:8888/modeler/faces/ModelerHome.jsp
Should get login screen, but wait, we haven't installed Oracle Apps interface yet...
Next let's do the Apps side of things
Going by note 953378.1
Using ERNIE (a development instance of E-Business Suite running 11.5.10.2 ATG RUP 7)
as applmgr on ausernieapp (ausernieapp is our app tier)
shut down apps services
apps patch 8225631
verify all the pre-req patches are in ERNIE
select * from ad_bugs where bug_number = '5903765';
select * from ad_bugs where bug_number = '6372396';
select * from ad_bugs where bug_number = '3219567';
select * from ad_bugs where bug_number = '3264822';
select * from ad_bugs where bug_number = '3261254';
select * from ad_bugs where bug_number = '5161676';
select * from ad_bugs where bug_number = '3036401';
select * from ad_bugs where bug_number = '3263588';
select * from ad_bugs where bug_number = '3264818';
select * from ad_bugs where bug_number = '3218526';
select * from ad_bugs where bug_number = '3263645';
select * from ad_bugs where bug_number = '4206794';
select * from ad_bugs where bug_number = '3262486';
select * from ad_bugs where bug_number = '3261243';
select * from ad_bugs where bug_number = '2614213';
select * from ad_bugs where bug_number = '3262159';
select * from ad_bugs where bug_number = '2819091';
select * from ad_bugs where bug_number = '3412795';
patch went in smooth
Log in to ERNIE Apps GUI as sysadmin user responsibility
Give users such as sysadmin FND Search Crawler responsibility
Go to system profile options, set
set FND: Search Enabling Flag to Y at site level
as applmgr on ausernieapp
cd /d01/oracle/ernieappl/fnd/11.5.0/patch/115/sql
sqlplus apps/$APPS_PWD @AFSRCHCF
Enter SES endpoint URL [e.g. http://ap637atg.us.oracle.com:7780]: http://aussearchdev.domainname.com:7777
Enter Apps Admin username [e.g. sysadmin]: sysadmin
Enter Apps Admin password: sysadmin_password
Enter SES Admin username [e.g. eqsys]: eqsys
Enter SES Admin password: eqsyspassword <-- This is the same as sys's password
on aussearchdev as oracle
had to kill modeler and start all the processes, so
kill -9 the modeler oc4j process, then
cd $ORACLE_HOME/bin
./searchctl startall
enter the password when prompted
in IE browser go to
http://aussearchdev.domainname.com:7777/search/admin
log in with eqsys password
global settings tab
identity management setup
click circle next to oracle.search.plugin.security.identity.ebs.EBS12IdentityPliginMgr
(yes, we're going with 12 even though we use Oracle Apps 11i)
http end point https://ausernieapp.domainname.com:8443/webservices/AppSearch/SecurityService
username sysadmin
password XXXXXXX
finish
Global Settings
Federation Trusted Entitites
####entity name sysadmin
####Entity Password XXXXXXXX
According to web conference with Oracle, this should NOT be eqsys but instead be sysadmin from above.
Select the Use Entity Plug-in for authentication check box
add
Trying to go to http://aussearchdev.domainname.com:7777/search/query/search and login (sysadmin / password)
stop midtier on both SES and Apps
cd $ORACLE_HOME/bin
./searchctl stopall
./adstpall.sh apps/$APPS_PWD on EBS app tier
start midtier on both SES and Apps
cd $ORACLE_HOME/bin
./searchctl startall
./adstrtal.sh apps/$APPS_PWD on EBS app tier
Now try and log in to Oracle SES user interface to verify the configuration
http://aussearchdev.domainname.com:7777/search/query
Now start up modeler again
export JAVA_HOME=/usr/local/jdk1.5.0_22
export ORACLE_HOME=/d01/oracle/oc4j
export PATH=$ORACLE_HOME/bin:$PATH
cd $ORACLE_HOME/bin
nohup ./modeler.sh -start &
Works now.
Now go to http://aussearchdev.domainname.com:8888/modeleradmin/AdminHome.jsp log in as oc4jadmin/XXXXXXX
Configure new target
Target Type 11i
Description ERNIE
Name ERNIE
EBS Database Host Name auserniedb
EBS Database Port 1521
EBS Database SID ERNIE
username apps
password XXXXXXXXx
oc4jadmin XXXXXXXx
export JAVA_HOME=/usr/local/jdk1.5.0_22
export ORACLE_HOME=/d01/oracle/oc4j
export PATH=$ORACLE_HOME/bin:$PATH
cd $ORACLE_HOME/j2ee/home
java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXXXX -addDataSourceConnectionPool -name "ERNIE2-pool" -factoryClass "oracle.jdbc.pool.OracleDataSource" -dbUser "apps" -dbPassword "XXXXXXX" -url "jdbc:oracle:thin:@auserniedb.domainname.com:1521:ERNIE" -applicationName appsearch
java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXX -addManagedDataSource -name "ERNIEDS" -jndiLocation "jdbc/ERNIEDS" -connectionPoolName "ERNIE2-pool" -applicationName appsearch
http://aussearchdev.domainname.com:8888/modeler/faces/ModelerHome.jsp
So, creating a self signed SSL certificate for ERNIE EBS instance (this will not work if you use an SSL certificate for another server like say, PROD)
doing this on ausernieapp
openssl genrsa -des3 -out ausernieapp.key 1024
PEM key is ausernieapp
openssl req -new -key ausernieapp.key -out ausernieapp.csr
PEM key is ausernieapp
Country US
State Texas
Locality Austin
Organization Name Corporation
Organizational Unit Name Information Technology
Common Name ausernieapp.domainname.com
Email address [email protected]
No challenge password
No optional company name
Now let's remove the passphrase from the key
cp ausernieapp.key ausernieapp.key.orig
openssl rsa -in ausernieapp.key.orig -out ausernieapp.key
Now let's generate a self-signed certificate
openssl x509 -req -days 1000 -in ausernieapp.csr -signkey ausernieapp.key -out ausernieapp.crt
Install the private key and certificate
cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.crt
cp server.crt server.crt.backup.03102010
chown applmgr:applmgr server.crt.backup.03102010
cp $HOME/ausernieapp.crt /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.crt/server.crt
cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.key/
cp server.key server.key.backup.03102010
cp $HOME/ausernieapp.key /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.key/server.key
chown applmgr:applmgr server.key.backup.03102010
bounce apache as applmgr
cd /d01/oracle/erniecomn/admin/scripts/ERNIE_ausernieapp
./adapcctl.sh stop
./adapcctl.sh start
In IE
https://ausernieapp.domainname.com:8443
Continue
Click on Certificate Error next to URL bar
Install Certificate -> Next-> Place all certificates in the following store -> trusted root certificate authorities ->finish
close browser, back to https://ausernieapp.domainname.com:8443
no errors,
Next step will be to import key into the SES and Search modelers
as oracle on aussearchdev
cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/security/
cp cacerts cacerts.backup.03102010
scp root@ausernieapp:/root/ausernieapp.crt .
export LANG=c
export PATH=$ORACLE_HOME/jdk/bin:$PATH
keytool -keystore ./cacerts -storepass changeit -alias rootausernieapp -import -trustcacerts -file ausernieapp.crt
--output
Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Serial number: b4e92089cf73076f
Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
Certificate fingerprints:
MD5: 2C:6B:EE:1A:63:6D:XX:A6:05:90:F6:XX:DD:88:F7:80
SHA1: F8:DC:E5:2A:3E:68:XX:E1:EA:E4:75:AE:CC:4F:4A:10:2F:8A:FE:9B
Trust this certificate? [no]: yes
Certificate was added to keystore
Now load our cert
keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
keytool -list -v -keystore ./cacerts now shows
Alias name: rootausernieapp
Creation date: Mar 10, 2010
Entry type: trustedCertEntry
Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Serial number: b4e92089cf73076f
Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
Certificate fingerprints:
MD5: 2C:6B:EE:1A:63:6D:CB:XX:05:90:F6:78:DD:88:F7:80
SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:FA:9E:10:2F:8A:FE:9B
Now we need to load it into the search modeler keystore
as root on aussearchdev
export JAVA_HOME=/usr/local/jdk1.5.0_22/
export PATH=$JAVA_HOME/bin:$PATH
cd /usr/local/jdk1.5.0_22/jre/lib/security/
scp root@ausernieapp:/root/ausernieapp.crt .
output
keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
Enter keystore password: changeit
Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
Serial number: b4e92089cf73076f
Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
Certificate fingerprints:
MD5: 2C:6B:EE:1A:63:6D:CB:A1:05:90:F6:78:DD:88:F7:80
SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:4F:9E:10:2F:8A:FE:9B
Trust this certificate? [no]: yes
Certificate was added to keystore
[root@aussearchdev security]#
output
For troubleshooting, if you go to end of /d01/oracle/10.1.8/sesdev/search/data/config/crawler.dat
you can modify the logLevel from the default of 4 to 2 to get better debug data. No services need to be restarted, it will become active with the next crawl.
While talking with Oracle, they mentioned the following patches
The patches identified 8321527 and 7586924 are SES patches to help with indexing
They also identified patch 9103851 which is an apps patch dealing with responsibilities <-- This is not yet available
Applying patch 7586924
as oracle on aussearchdev
cd $ORACLE_HOME/bin
./searchctl stopall
cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/7586924
opatch apply
cd $ORACLE_HOME/bin
./searchctl startall
sqlplus eqsys/XXXXXX@SESDEV
define SCH_NAME=EQSYS
define PROXY_USER=EQPROXY
define INST_USER=EQ_TEST
@$ORACLE_HOME/search/admin/eq0pkh.sql
@$ORACLE_HOME/search/admin/eq0plb.sql
@$ORACLE_HOME/search/admin/eq0bug_7586924.sql
cd $ORACLE_HOME/search/data/config/
cp crawler.dat crawler.dat.backup.03102010
vi crawler.dat
We're using the Oracle E-Business Suite R12 crawler, so we will add the line
USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
as the line immediately preceding IMPORT -
so the end of the file looks like this:
# system properies: separated by space for multiple system properties or define multiple SYSTEM_PROPERTIES
# logLevel values: DEBUG(2), INFO(4), WARN(6), ERROR(8), FATAL(10)
SYSTEM_PROPERTIES -Doracle.search.logLevel=4 -Doracle.search.log=oracle.search.util.Log4jImpl
USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
IMPORT -
Now on to patch 8321527
cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/8321527
cd $ORACLE_HOME/bin
./searchctl stopall
cd -
opatch apply
cd $ORACLE_HOME/bin
./searchctl startall
sqlplus eqsys/XXXXXXX@SESDEV
define SCH_NAME=EQSYS
define PROXY_USER=EQPROXY
select object_name from user_objects where status = 'INVALID';
--should be no rows selected
@$ORACLE_HOME/search/admin/eq0pkh.sql
@$ORACLE_HOME/search/admin/eq0plb.sql
--should be no rows selected
restart SES
cd -
./searchctl stopall
./searchctl startall -
Error while building Web Services for Invoking PL/SQL with ANT
Hello,
i tried to build the demo- webservice for plsql- stored procedure, but while i want to run the demo with ant i get the following error:
The same Error occures while Run the Demo with seperate commands: Step 5a(1) Assembly:
env-check:
init:
[mkdir] Created dir: D:\ORAWebServices\webservices_demos\webservices_demos\db\plsql\build\classes\service
wsa:
[java] Fehler: oracle.j2ee.ws.tools.wsa.cli.CommandLineMessageBundle_de
BUILD FAILED
D:\ORAWebServices\webservices_demos\webservices_demos\db\plsql\build.xml:45: The following error occurred while executing this line:
D:\ORAWebServices\webservices_demos\webservices_demos\common.xml:74: Java returned: 1
Total time: 3 seconds
The Database runs on a remote system and the service-connfig.xml is updated.
Thanks for Help.I assume you have OC4J 10.1.3 webservices installed. Then you should not be using service-config.xml. Check out the 10.1.3 documentation about WebServiceAssembler. I am afraid, you are using 10.1.2 style service-config.xml along with 10.1.3 style WebServiceAssembler.
-
How to deploy ADF-BC (SDO) with ANT
I have an ADF-BC exposed as an webserivce. I can deploy it via JDeveloper, but how do I deploy it with ANT. Does anyone has an ANT script example, based on ADF-BC
Marc
http://orasoa.blogspot.comI am using JDev 11g (ps1). The link you mentioned, is about deploying artifacts to the MDS. I want to deploy and ADFBC exposed as an webservice , (aka SDO object) to the server via ANT.
Marc -
How to define new classpath of libraries while making jar files with ant
I am useing eclipse and ant and trying to make a jar file. I have used some external jar files. I have managed to add external jar files to my jar. But Still I have a problem. In my project all libraries in lib folder. But when I put them into jar file. They are in the root folder.Classpath has changed and It couldn't find the class path.
Is there any body knows how to define a new class path for external libraries with ANT. or How can I put my libraries into a lib folder in jar ?? I think both of them would solve my problem.
thanks in advance.
My code is like that, I think it requires a little modification
<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/Deneme.jar" basedir="build/classes" >
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</jar>
</target>I can see why your other "question" was likely deleted. You need to drop the editorial comments and just ask a question. I believe what you want to know is how to configure something using php on your Apache server so that it can be read. If that's your question, here's a couple of places that discuss the topic:
http://www.webmasterworld.com/linux/3345459.htm
http://forums.macrumors.com/showthread.php?t=427742
http://en.allexperts.com/q/PHP5-3508/configuring-installing-permissions.htm
For a general introduction to 'nix permissions, take a look at this:
http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions /index.ws
And here's a whole book on the subject of Leopard permissions:
http://my.safaribooksonline.com/9780321579331
Try doing a Google search on "leopard permissions php apache" and see if you find what you are looking for.
Francine
Francine
Schwieder -
Wlcompile - nested javac elements not working with ant 1.6.1
Hi
I have a problem with Ant 1.6.1 and wlcompile.
I get the following error: The <wlcompile> type doesn’t support the nested “javac”
element.
Heres the error msg I get in debug mode:
BUILD FAILED
C:\P2Development\dev\testing\test.xml:3: The <wlcompile> type doesn't support
the nested "javac" element.
at org.apache.tools.ant.IntrospectionHelper.throwNotSupported(IntrospectionHelper.java:573)
at org.apache.tools.ant.IntrospectionHelper.getNestedCreator(IntrospectionHelper.java:624)
at org.apache.tools.ant.IntrospectionHelper.getElementCreator(IntrospectionHelper.java:691)
at org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:529)
at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:320)
at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:176)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:152)
at org.apache.tools.ant.Task.perform(Task.java:363)
at org.apache.tools.ant.Target.execute(Target.java:301)
at org.apache.tools.ant.Target.performTasks(Target.java:328)
at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
at org.apache.tools.ant.Project.executeTargets(Project.java:1063)
at org.apache.tools.ant.Main.runBuild(Main.java:632)
at org.apache.tools.ant.Main.startAnt(Main.java:183)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:197)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:56)
I’m using windows 2000. I’ve tried with weblogic.jar from Weblogic Server 8.1
SP1 and SP2. I’ve tried with JDK 1.4.1_02 and 1.4.2_04. If I’m using Ant 1.5.3
then everything works perfectly.
I’ve tried to remove the WLS included Ant version to avoid conflicts with Ant
1.6.1 and Ant 1.5.3 (that comes with Weblogic server). I’ve tried to uninstall
Weblogic Server and just keep weblogic.jar, but I still get the same error. I’ve
tried to put weblogic.jar on the classpath, still not working. I’ve tried to remove
all jar files from $ANT_HOME/lib except those jar files needed to run my test
project - ant.jar and ant-launcher.jar, but still doesn’t work. If I change $ANT_HOME
to Ant 1.5.3 and run Ant 1.5.3 then everything works. So it seems to have something
to do with Ant 1.6.1.
Here’s my example code:
<project name="wlcompile_test" default="test" basedir=".">
<target name="test" depends="init">
<wlcompile srcdir="${src.dir}" destdir="${build.dir}">
<javac debug="${build.debuginfo}" debuglevel="${build.debuglevel}"
nowarn="${build.nowarn}" deprecation="${build.deprecated}" source="${build.source.version}"/>
</wlcompile>
</target>
<target name="clean" depends="init">
<delete dir="${build.dir}"/>
</target>
<target name="init">
<taskdef name="wlcompile" classname="weblogic.ant.taskdefs.build.WLCompileTask"
classpath="C:\P2Development\weblogic.jar"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="classes"/>
<property name="build.compiler" value="modern"/>
<property name="build.compiler.pedantic" value="true"/>
<property name="build.debuginfo" value="true"/>
<property name="build.debuglevel" value="lines,vars,source"/>
<property name="build.deprecated" value="false"/>
<property name="build.nowarn" value="off"/>
<property name="build.source.version" value="1.4"/>
<mkdir dir="${build.dir}"/>
</target>
</project>
And I try to run “ant test”
It doesn’t work with Ant 1.6.1 and weblogic.jar from WLS 8.1 SP1 and SP2. But
it works perfectly if I change to Ant 1.5.3.
Here’s a link to the Ant wlcompile task documentation from BEA:
http://e-docs.bea.com/wls/docs81/programming/environment.html#1098348
Regards,
Tobias WallterYes, this one is fixed in 8.1 SP3. If you need a patch before then,
contact [email protected] and reference CR136493.
-- Rob
Tobias Wallter wrote:
Hi
I have a problem with Ant 1.6.1 and wlcompile.
I get the following error: The <wlcompile> type doesn?t support the nested ?javac?
element.
Heres the error msg I get in debug mode:
BUILD FAILED
C:\P2Development\dev\testing\test.xml:3: The <wlcompile> type doesn't support
the nested "javac" element.
at org.apache.tools.ant.IntrospectionHelper.throwNotSupported(IntrospectionHelper.java:573)
at org.apache.tools.ant.IntrospectionHelper.getNestedCreator(IntrospectionHelper.java:624)
at org.apache.tools.ant.IntrospectionHelper.getElementCreator(IntrospectionHelper.java:691)
at org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:529)
at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:320)
at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:176)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:152)
at org.apache.tools.ant.Task.perform(Task.java:363)
at org.apache.tools.ant.Target.execute(Target.java:301)
at org.apache.tools.ant.Target.performTasks(Target.java:328)
at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
at org.apache.tools.ant.Project.executeTargets(Project.java:1063)
at org.apache.tools.ant.Main.runBuild(Main.java:632)
at org.apache.tools.ant.Main.startAnt(Main.java:183)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:197)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:56)
I?m using windows 2000. I?ve tried with weblogic.jar from Weblogic Server 8.1
SP1 and SP2. I?ve tried with JDK 1.4.1_02 and 1.4.2_04. If I?m using Ant 1.5.3
then everything works perfectly.
I?ve tried to remove the WLS included Ant version to avoid conflicts with Ant
1.6.1 and Ant 1.5.3 (that comes with Weblogic server). I?ve tried to uninstall
Weblogic Server and just keep weblogic.jar, but I still get the same error. I?ve
tried to put weblogic.jar on the classpath, still not working. I?ve tried to remove
all jar files from $ANT_HOME/lib except those jar files needed to run my test
project - ant.jar and ant-launcher.jar, but still doesn?t work. If I change $ANT_HOME
to Ant 1.5.3 and run Ant 1.5.3 then everything works. So it seems to have something
to do with Ant 1.6.1.
Here?s my example code:
<project name="wlcompile_test" default="test" basedir=".">
<target name="test" depends="init">
<wlcompile srcdir="${src.dir}" destdir="${build.dir}">
<javac debug="${build.debuginfo}" debuglevel="${build.debuglevel}"
nowarn="${build.nowarn}" deprecation="${build.deprecated}" source="${build.source.version}"/>
</wlcompile>
</target>
<target name="clean" depends="init">
<delete dir="${build.dir}"/>
</target>
<target name="init">
<taskdef name="wlcompile" classname="weblogic.ant.taskdefs.build.WLCompileTask"
classpath="C:\P2Development\weblogic.jar"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="classes"/>
<property name="build.compiler" value="modern"/>
<property name="build.compiler.pedantic" value="true"/>
<property name="build.debuginfo" value="true"/>
<property name="build.debuglevel" value="lines,vars,source"/>
<property name="build.deprecated" value="false"/>
<property name="build.nowarn" value="off"/>
<property name="build.source.version" value="1.4"/>
<mkdir dir="${build.dir}"/>
</target>
</project>
And I try to run ?ant test?
It doesn?t work with Ant 1.6.1 and weblogic.jar from WLS 8.1 SP1 and SP2. But
it works perfectly if I change to Ant 1.5.3.
Here?s a link to the Ant wlcompile task documentation from BEA:
http://e-docs.bea.com/wls/docs81/programming/environment.html#1098348
Regards,
Tobias Wallter -
Unit tests with ant (FB4 beta)?
Since flexunit is integrated with FB4, I was wondering how to run unit tests with ant on FB4 (using 3.4 sdk). In my current ant build file, the <mxmlc> and <compc> tags both work but the tag <flexunit> does not seem to work anymore (it worked on FB3 with flexunit download). So is there anyway currently to run unit tests on FB4 using ant?
Hi,
Let us take your requirements as separate two requriements.
1. Using the flexunit ant task - I think for this you needed a separate ant library to support this. So this may be missing in the ant available with FB. May be you can analyse this and add on your own and try out.
2. Debuggin the results.
Now FlexBuilder has the feature inbuilt as part of the IDE which provides more featuers like , source naviagation, rerunnig , saving results loading results etc.FlexBuilder uses its own set up to show the results details in IDE.
Currently other than using the feature in FB, there is no way to debug the results of the tests. However if you would like to get the tests to be run by ant task, and analyse the results, the following can be used.
Option 1 : Run outside FB, show and analyse results in FB
a. Use the FB, create some sample testCases in FB.
b. Use 'Execute FlexUnit tests' from the run, or debug launcher
c. Use the option Save configuration. This will get the configuration as xml or mxml file. You can use this file template and generate your test cases (may be you will configure your tests in a testSuite class and always use that as the input to the application, so that application syntax never changes). If you run the mxml created swf (whch you can do by the simple ant tasks which does not use the flexunit task ) out side FlexBuilder and if the FlexBuilder is open, you can still see the results in the FB and analyse the results. (You need the library which is used by the FB to use the classes. You can get the location of swc file by inspecting the library path of a project in which you have added the testCase or testSuite class using the FB IDE)
Option2:Run outside FB and Analyse the results in FB.
If you have the project for which you have run the tests, and you have the XML results of the run, you can still analyse the results in the FlexBuilder.
a. Ensure that the report is in the required syntax of FB. (we have tried to use the similar syntax as that of the JUnit resutl report)
b. Use FB, load your project, open the FlexUnit result view, use the open result option in the FB. This should load the XML in FB (we have only ensured to open the result files which were created using FB ,back in the result view. So if you are facing some issue in opening your XML, you can refer the required syntax by saving a sample run result from FB)
Option 3: Run and analyse the results in FB.
a. Have the input setup mentioned to FB. (If you would like to integrate changes, have a suite class which will take care of this and mention in the Execute FlexUnit tests to use this suite class. But there is no way to specify to run the FB commands outside FB.)
b. So whenever you would like to anlyse the tests, you need to run your test in FB and then analyse the results shown in result view.
Please let me know whether this is what you are looking for.
Thanks,
Rani
Maybe you are looking for
-
Reading .xml file in ABAP
Hi All, I am trying to read a xml file which is as follows: Please suggest a way with which i can do this Thanks & Regards, Jignesh. Edited by: jignesh malde on Mar 26, 2009 2:00 PM
-
Confused... buying Mac for 1st time
I may not be posting in the right place but I am hoping someone can give me some direction. I want to buy a MacBook but unsure on what is best - book vs. power book, how much memory vs. hard drive space. I want to switch from a PC primarily for ease
-
What does it mean if two orange lights on my Satellite L755 are blinking?
I have a Toshiba Satellite L755-154 (PSK2YE). Recently, whenever I launch a high-resource game (Train Simulator 2015), after about half an hour the power and battery indicators blink orange. A while after this, the laptop cuts out. What is going on?
-
FCP Crashes when I Try to Log and Transfer
I just got a new iMac and installed a new copy of Final Cut Studio on it. I'm trying to transfer footage from my camera (Cannon Vixia HFM300) to Final Cut Pro via Log and Transfer. When I first tried, the thumbnails came up fine. I realized however t
-
when i save image of small size in a long raw column through my form it save it easily as .gif of 2.56kb.but when size is greater as 21kb image it's take a long time mostly show working message and till i kill this procedure .plzz told the solution.