Friday, April 8, 2011
How to serch composites for BPEL process defined index values in soa suite 11g
Tuesday, August 11, 2009
List of SOA Suite versions and patch numbers
Monday, August 10, 2009
TNSListener not starting after re-installation of Oracle Database XE 10g
- OracleServiceXE
- OracleMTSRecoveryService
- OracleXEClrAgent
- OracleXETNSListener
Friday, July 24, 2009
FTP Adapter failed to archive the files
Wednesday, July 22, 2009
Upgrade to SOA Suite 11g, will I go for that quickly?
- Moving to 11g platform can require substantial change or upgrade to your current 10.1.3.x infrastructure.
- It was certainly easy to migrate from 10.1.3 to 10.1.3.1 to 10.1.3.3 (many would have faced lot of isses mvoing to 10133) to 10.1.3.4, but 11g is a change of application server, and Java Container. JRockit(i.e. BEA's JDK) and weblogic server (server container) had certainly been the best available in the market in BEA era, and they must be understand well before we really go for upgrade. There are more logging options and more then that a lot more configuration files (a bunch of .xml) to be understood with weblogic server domains(like instance in SOA Suite).
- Fusion Middleware 11g Platform can bring substantial benefits if understood properly and implemented in right direction. So, it is not suggestable that just in order to upgrade SOA Suite, we upgrade our production servers. FMW 11g platform can bring your web applications, integration components, portal and document control components together in unified Developer studio. A good upgrade policy can save lots of bucks but still gives organization a bunch of new dimensions to do the business. Like, today organizations wants to close their multiple E-Business Suite instances just to have one single unique E-Business 12 version(preferably on-demand) and get a new life in their business, similarly platform FMW 11g can add new life in the organization if implemented with thoughtful design.
- We still can go for only SOA Suite Upgrade. But remember SOA Suite 11g has many new good features like composite application concept, Entity creation concepts in BPEL projects, Business Rules component as a part of your composite application project, send notification activity, Oralce ESB as new component Median. So, you may want to plan and upgarde your current SOA Suite processes with some exciting new features before you deploy them to your SOA Suite 11g production server.
- Upgarde can be carried out on all the SOA Suite Release 10.1.3.x release.
- For current SOA Suite 10.1.2, we first need to upgrade to 10.1.3 and then to upgrade to 11g.
Wednesday, December 17, 2008
"Activities" tab in BPEL PM 10133 shows exceptions
On my Vista Enterprise I installed 10131 basic installation and applied the patch for 10133. Also completed the post-installation task. When I opened my BPEL Console, as I expected I could not see the flow in the instances. But the problem which annoyed me a lot was with the "Activities" tab.
I assured that all my BPEL and ESB processes were still working fine. But when I clicked on "Activities" tab after installation I got the screen with the exception message as below
Oracle BPEL Process Manager Full Cycle
An unexpected error has occurred while executing your request. This is most likely related to a defect in the Oracle BPEL Process Manager product. We apologize you can post the error to the OTN forum and we will get back to you as soon as possible.
Attachments:
Build Information:
*****************************************************************************
Oracle BPEL Server version 10.1.3.3.0
Build: 0
Build time: Fri Jun 15 06:05:31 PDT 2007
Build type: release
Source tag: PCBPEL_10.1.3.3.0_GENERIC_070615.0525
Exception Message:
http://javax.servlet.ServletException
Cannot find work items.
An attempt to fetch the work items using the where condition "" from the datastore has failed. The exception reported is: ODBC S1002 invalid column number
Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that the datasource connection parameters (user/password) is currently valid.
sql statement: SELECT * FROM admin_list_wi WHERE ci_domain_ref = 0
Exception Trace:
javax.servlet.ServletException: Cannot find work items.
An attempt to fetch the work items using the where condition "" from the datastore has failed. The exception reported is: ODBC S1002 invalid column number
Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that the datasource connection parameters (user/password) is currently valid.
sql statement: SELECT * FROM admin_list_wi WHERE ci_domain_ref = 0
...
The solution I got was to re-run the scripts to the post-installation of 10133 patch. I could find that wi-fault table and three other views were missing from the database though they were there in the scripts.
Thanks Sash for pointing this out. You can find more information @ http://forums.oracle.com/forums/thread.jspa?threadID=837295&tstart=0.
Cheers
Nirav
Monday, December 1, 2008
Generating Remote and Binding Exception in Oracle BPEL
I was testing Remote exception and Binding exception for my sample BPEL Process and thought to put the post here.
My BPEL process "exceptionRB" looks like below and calls another BPEL Process "Hello1".To create the Remote and Binding exception I played with the "Hello1" BPEL Process.
- To generate Remote Exception, turn the process state of "Hello1" process to "OFF" from manage tab on BPEL console (The exception description would be that the process state is OFF). Or undeploy the "Hello1" process (exception : cannot read the WSDL).
- To check Binding Exception, remove the operation "process" in "Hello1" which is called by BPEL process "exceptionRB". In my case I have change the operaion "process" to "process2" and redeployed the BPEL Process "Hello1".(Exception message would be "No such operation.")
Hope this will be helpful.
Cheers
Nirav
Saturday, November 15, 2008
Calculating difference between 2 datetime values in Oracle BPEL
I'm using XPath 2.0 functions to get date and time in BPEL Process. You can get more information about XPath 2.0 here. Below is the example I have created based on Ramkumar's blog to calculate the duration between two datetime values in Oracle BPEL.
First create two schemas,
input.xsd
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.org"
targetNamespace="http://www.example.org"
elementFormDefault="qualified">
<xsd:element name="input">
<xsd:annotation>
<xsd:documentation>
A sample element
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="date1" type="xsd:dateTime"/>
<xsd:element name="date2" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
and output.xsd
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.org"
targetNamespace="http://www.example.org"
elementFormDefault="qualified">
<xsd:element name="output">
<xsd:annotation>
<xsd:documentation>
A sample element
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="duration" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
As schemas are ready, we will create the BPEL process now.
In BPEL Process, the namespace for XPath 2.0 is declared like
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
also xmlns:ns1="http://www.example.org"
and the the this xp20 functions can be used as below to extract the datetime values.
- xp20:current-dateTime() - returns a dateTime element that has the current date and time as formatted above. (e.g. 2008-11-15T11:32:28.256). I'm using this function and I am to calculate difference for variable holding this value.
- xp20:current-date() - returns a date element that has the current date as formatted above without the time portion.
- xp20:current-time() - returns a time element that has the current time formatted as above without the date portion.
In BPEL Process, create two variables,
<variable name="inputdate" element="ns1:input"/>
<variable name="outputValue" element="ns1:output"/>
Create the transformation activity,
<assign name="Transform_1">
<bpelx:annotation>
<bpelx:pattern>transformation</bpelx:pattern>
</bpelx:annotation>
<copy>
<from expression="ora:processXSLT('Transformation_1.xsl',bpws:getVariableData('inputdate'))"/>
<to variable="outputValue"/>
</copy>
</assign>
Let's look at how the XSL file is to be designed. We are creating the template "timeDifference" and using the same to find the time difference.
In the starting of the XSL file, definition of the source and target XSD.
<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper
<!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
<mapSources>
<source type="XSD">
<schema location="input.xsd"/>
<rootElement name="input" namespace="http://www.example.org"/>
</source>
</mapSources>
<mapTargets>
<target type="XSD">
<schema location="output.xsd"/>
<rootElement name="output" namespace="http://www.example.org"/>
</target>
</mapTargets>
XSL stylesheet version to be changed to 2.0 and looks like
<xsl:stylesheet version="2.0"
...
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns0="http://www.example.org"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xsl ns0 xsd ora ...">
In next phase define the template and use it to calculate the difference as below
<xsl:template match="/"> <!-- Suggests that template is in this file only -->
<ns0:output>
<ns0:duration>
<xsl:call-template name="timeDifference">
<xsl:with-param name="date1" select="/ns0:input/ns0:date1"/>
<xsl:with-param name="date2" select="/ns0:input/ns0:date2"/>
</xsl:call-template>
</ns0:duration>
</ns0:output>
</xsl:template>
<xsl:template name="timeDifference">
<xsl:param name="date1"/>
<xsl:param name="date2"/>
<xsl:value-of select="(xsd:dateTime($date1) - xsd:dateTime($date2))"/>
</xsl:template>
</xsl:stylesheet>
If you inputs are
2008-11-15T11:32:28.256
2008-11-15T11:33:32.256
the output will be
T1M4.0S
Hope this helps. Let me know if you are facing any issues.
Cheers
Nirav
Monday, November 3, 2008
Connecting SQL Server from JDeveloper
First of all you will need the sqljdbc.jar. You can download it from the Microsoft site. sqljdbc.jar is available across different versions SQL Server 2000, SQL Server 2005, etc. I'm connecting to SQL Server 2K here using JDeveloper 10133.
Once downloaded, we need to add it to the JDeveloper Libraries. I have listed here the steps to create a user library from JDeveloper Help:
- From the main menu, choose Tools Manage Libraries.
- In the Manage Libraries dialog, select the Libraries tab, then select the User node, and click New.
- In the Create Library dialog, enter a library name, select the Source Path node, and click Add Entry .
- In the Select Path Entry dialog, browse to the location of the drivers for the database you are connecting to. Select the driver files, and click Select.
- In the Create Library dialog, click OK, and in the Manage Libraries dialog, click OK .
We can add this library while creation of databse also, but adding first using Manage Libraries is a good practice.
Now in JDeveloper, go to Connection Navigator, Right-Click on Database and select "New Database Connection" from the context menu. Follow the wizard as displayed below:

Select the last option "Thid Party JDBC Driver" from the drop-down.
On the next page, provide valid UserID and Password.

On step 3
For Driver Class, name is com.microsoft.sqlserver.jdbc.SQLServerDriver, and select the library sqljdbc.jar from Manage Libraries as we have added above.

Define the URL as below
jdbc:sqlserver://<db_instance>:<port>;databaseName=<db_name>;user=<userid>;password=<password>
Click Next and Test the connection.
Let me know if you are facing any issues.
Nirav
Wednesday, October 1, 2008
Oracle Webcast : Fusion Middleware for E-Business Suite
You can find further details here on oracle site.
I got this info as I've subscribed to Juliana Button's Oracle blog.
See you in the WebCast.
Cheers
Nirav

