RSS

Author Archives: jvzoggel

About jvzoggel

Middleware Consultant / the Netherlands / 's-Hertogenbosch / RUBIX.nl

Patching your JDeveloper 12.1.3 with SOA Bundle Patch 12.1.3.0.3

The SOA Bundle Patch 12.1.3.0.3 is available for download from Oracle Support (http://support.oracle.com)
Just use the search on patch number ‘20900599’ and it will bring you the patch details page with the download (approx. 765MB).
You can deploy the patch on top of your basic 12.1.3.0.0 or the earlier released SOA/BPM Bundle Patch 12.1.3.0.1 or SOA/BPM Bundle Patch 12.1.3.0.2

Note: For some reason Oracle no longer seems to use 1 bundle patch for both Oracle SOA 12.1.3 & BPM 12.1.3
The 12.1.3.0.3 patches 20900599 (SOA) and 20645340 (BPM) are also conflicting according to OPatch.
So you can either patch your environment (server runtime or local JDev) for BPM or SOA.

Patch 19707784: SOA/BPM Bundle Patch 12.1.3.0.1
Patch 20423408: SOA/BPM Bundle Patch 12.1.3.0.2
Patch 20900599: SOA Bundle Patch 12.1.3.0.3
Patch 20645340: BPM Bundle Patch 12.1.3.0.3


So (again) I patched my own JDeveloper 12.1.3 environment with the OPATCH tool.
Extract the downloaded patch, I’ll use C:\temp\p20900599_121300_Generic\20900599
This folder is called ‘patch_TOP’ in opatch terminology.

Since I use Windows as local OS you will need to First open a command prompt with Administrator rights (right-click, run as Administrator).
If we don’t use the right permissions we will get the error: Unable to lock Central Inventory. OPatch will attempt to re-lock

Naamloos

First we set our ORACLE_HOME to the Jdeveloper 12.1.3 folder:
SET ORACLE_HOME=C:\ORACLE\middleware\12.1.3
And make sure opatch is in our path:
SET PATH=%PATH%;C:\ORACLE\middleware\12.1.3\OPatch
We browse to the patch_top folder:
cd C:\temp\p20900599_121300_Generic\20900599
And run opatch:
opatch apply


Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation. All rights reserved.

Oracle Home : C:\ORACLE\middleware\12.1.3
Central Inventory : C:\Program Files\Oracle\Inventory
 from : n/a
OPatch version : 13.2.0.0.0
OUI version : 13.2.0.0.0
Log file location : C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20900599_Aug_14_2015_09_29_34\apply2015-08-14_09-29-13AM_1.log


OPatch detects the Middleware Home as C:\ORACLE\middleware_12.1.3

aug 14, 2015 9:29:35 AM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level 0
Applying interim patch '20900599' to OH 'C:\ORACLE\middleware\12.1.3'
Verifying environment and performing prerequisite checks...
Patch 20900599: Optional component(s) missing : [ oracle.integration.bpm, 12.1.3.0.0 ] , [ oracle.mft.apache, 12.1.3.0.0 ] , [ oracle.bpm.mgmt, 12.1.3.0.0 ] , [ oracle.hwf.standalone, 12.1.3.0.0 ] , [ oracle.soa.b2b.client, 12.1.3.0.0 ] , [ oracle.mft, 12.1.3.0.0 ] , [ oracle.bpm.processspaces, 12.1.3.0.0 ] , [ oracle.soa.workflow.wc, 12.1.3.0.0 ] , [ oracle.oep.examples, 12.1.3.0.0 ]

Patch [ 20900599 ] conflict with patch(es) [ 19707784 ] in the Oracle Home.

To resolve patch conflicts please contact Oracle Support Services.
If you continue, patch(es) [ 19707784 ] will be rolled back and the new Patch [ 20900599 ] will be installed.


Do you want to proceed? [y|n] y
User Responded with: Y
OPatch will roll back the subset patches and apply the given patch.
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = 'C:\ORACLE\middleware\12.1.3')

Is the local system ready for patching? [y|n] y
User Responded with: Y
Backing up files...
Rolling back interim patch '19707784' from OH 'C:\ORACLE\middleware\12.1.3'

Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...
RollbackSession removing interim patch '19707784' from inventory

OPatch back to application of the patch '20900599' after auto-rollback.

Patching component oracle.oep, 12.1.3.0.0...
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.mft.client, 12.1.3.0.0...
Patching component oracle.rcu.soainfra, 12.1.3.0.0...
Patching component oracle.oep.plugins, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...

Verifying the update...
Patch 20900599 successfully applied
Log file location: C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20900599_Aug_14_2015_09_29_34\apply2015-08-14_09-29-13AM_1.log

OPatch succeeded.

Note:

Dave Shaffer gave me a good tip. When he patched his JDeveloper it became unstable and did not resolve any of the performance issues. However, he used jdev -clean once to fix it.

 
Leave a comment

Posted by on 14-08-2015 in Uncategorized

 

Patching your JDeveloper 12.1.3 with BPM Bundle Patch 12.1.3.0.3

The BPM Bundle Patch 12.1.3.0.3 is available for download from Oracle Support (http://support.oracle.com)
Just use the search on patch number ‘20645340’ and it will bring you the patch details page with the download (approx. 688 MB).
You can deploy the patch on top of your basic 12.1.3.0.0 or the earlier released SOA/BPM Bundle Patch 12.1.3.0.1 or SOA/BPM Bundle Patch 12.1.3.0.2

Note: For some reason Oracle no longer seems to use 1 bundle patch for both Oracle SOA 12.1.3 & BPM 12.1.3
The 12.1.3.0.3 patches 20900599 (SOA) and 20645340 (BPM) are also conflicting according to OPatch.
So you can either patch your environment (server runtime or local JDev) for BPM or SOA.

Patch 19707784: SOA/BPM Bundle Patch 12.1.3.0.1
Patch 20423408: SOA/BPM Bundle Patch 12.1.3.0.2
Patch 20900599: SOA Bundle Patch 12.1.3.0.3
Patch 20645340: BPM Bundle Patch 12.1.3.0.3


So (again) I patched my own JDeveloper 12.1.3 environment with the OPATCH tool.
Extract the downloaded patch, I’ll use C:\temp\p20645340_121300_Generic\20645340
This folder is called ‘patch_TOP’ in opatch terminology.

Since I use Windows as local OS you will need to First open a command prompt with Administrator rights (right-click, run as Administrator).
If we don’t use the right permissions we will get the error: Unable to lock Central Inventory. OPatch will attempt to re-lock

Naamloos

First we set our ORACLE_HOME to the Jdeveloper 12.1.3 folder:
SET ORACLE_HOME=C:\ORACLE\middleware\12.1.3
And make sure opatch is in our path:
SET PATH=%PATH%;C:\ORACLE\middleware\12.1.3\OPatch
We browse to the patch_top folder:
cd C:\temp\p20645340_121300_Generic\20645340
And run opatch:
opatch apply


Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation. All rights reserved.


Oracle Home : C:\ORACLE\middleware\12.1.3
Central Inventory : C:\Program Files\Oracle\Inventory
 from : n/a
OPatch version : 13.2.0.0.0
OUI version : 13.2.0.0.0
Log file location : C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20645340_Aug_14_2015_09_56_18\apply2015-08-14_09-56-00AM_1.log


OPatch detects the Middleware Home as C:\ORACLE\middleware\12.1.3

aug 14, 2015 9:56:20 AM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level 0
Applying interim patch '20645340' to OH 'C:\ORACLE\middleware_12.1.3'
Verifying environment and performing prerequisite checks...
Patch 20645340: Optional component(s) missing : [ oracle.integration.bpm, 12.1.3.0.0 ] , [ oracle.mft.apache, 12.1.3.0.0 ] , [ oracle.bpm.mgmt, 12.1.3.0.0 ] , [ oracle.hwf.standalone, 12.1.3.0.0 ] , [ oracle.mft, 12.1.3.0.0 ] , [ oracle.bpm.processspaces,12.1.3.0.0 ] , [ oracle.soa.workflow.wc, 12.1.3.0.0 ] , [ oracle.oep.examples, 12.1.3.0.0 ]

Patch [ 20645340 ] conflict with patch(es) [ 20900599 ] in the Oracle Home.

To resolve patch conflicts please contact Oracle Support Services.
If you continue, patch(es) [ 20900599 ] will be rolled back and the new Patch[ 20645340 ] will be installed.

Do you want to proceed? [y|n] y
User Responded with: Y
OPatch will roll back the subset patches and apply the given patch.
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = 'C:\ORACLE\middleware\12.1.3')

Is the local system ready for patching? [y|n] y
User Responded with: Y
Backing up files...
Rolling back interim patch '20900599' from OH 'C:\ORACLE\middleware\12.1.3'

Patching component oracle.oep, 12.1.3.0.0...
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.mft.client, 12.1.3.0.0...
Patching component oracle.rcu.soainfra, 12.1.3.0.0...
Patching component oracle.oep.plugins, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...
RollbackSession removing interim patch '20900599' from inventory

OPatch back to application of the patch '20645340' after auto-rollback.

Patching component oracle.oep, 12.1.3.0.0...
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.rcu.soainfra, 12.1.3.0.0...
Patching component oracle.oep.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...

Verifying the update...
Patch 20645340 successfully applied
Log file location: C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20645340_Aug_14_2015_09_56_18\apply2015-08-14_09-56-00AM_1.log

OPatch succeeded.

Note:

Dave Shaffer gave me a good tip. When he patched his JDeveloper it became unstable and did not resolve any of the performance issues. However, he used jdev -clean once to fix it.

 
Leave a comment

Posted by on 14-08-2015 in Uncategorized

 

How to use dynamic validate in Oracle Service Bus 12c

One of the new features introduced in Oracle Service Bus 12c is the ability for dynamic validation. A feature which can be used to validate a message against a WSDL or XSD schema file which is both explained here by Oracle. The example on the Oracle website shows this XML code to validate against a XSD:

<validate xmlns="http://www.bea.com/wli/sb/context">
<schema>default/MySchema</schema>
<schemaElement>
<localname>MyElementType</localname>
</schemaElement>
</validate>

However I tried “playing” with the new feature but couldn’t get it to work. The error I got was:

<soap:Fault>
<soap:Code>
<soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="nl">OSB-382524: Failed to perform validation</soap:Text>
</soap:Reason>
<soap:Detail>
<con:fault xmlns:con="http://www.bea.com/wli/sb/context">
<con:errorCode>OSB-382524</con:errorCode>
<con:reason>Failed to perform validation</con:reason>
<con:location>
..
</con:location>
</con:fault>
</soap:Detail>
</soap:Fault>

After contacting Oracle Support I received the following info:

  • BUG 20367846: Internal Documentation  – Validate action to dynamically select a schema – documentation is not clear
  • BUG 20380158: Validate action – Dynamic validation throws NPE

A patch for BUG 20380158 was then released for Oracle Service Bus 12.1.3, which then could be downloaded from Oracle Support:

ppatch

I downloaded patch 20380158 and used opatch to install it on my DEV environment.


..\p20380158_121300_Generic\20380158&amp;gt;opatch apply
Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation.  All rights reserved.

Oracle Home       : C:\ORACLE\middleware_12.1.3
Central Inventory : C:\Program Files\Oracle\Inventory
from           : n/a
OPatch version    : 13.2.0.0.0
OUI version       : 13.2.0.0.0

OPatch detects the Middleware Home as &quot;C:\ORACLE\middleware_12.1.3&quot;

jul 09, 2015 12:48:49 PM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level  0
Applying interim patch '20380158' to OH 'C:\ORACLE\middleware_12.1.3'
Verifying environment and performing prerequisite checks...
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = 'C:\ORACLE\middleware_12.1.3')

Is the local system ready for patching? [y|n] y
User Responded with: Y
Backing up files...

Patching component oracle.osb.server, 12.1.3.0.0...
Patching component oracle.osb.server, 12.1.3.0.0...

Verifying the update...
Patch 20380158 successfully applied
OPatch succeeded.

After the patch the error was still their but I received a more detailed error message in my logging:

<soap:Fault>
<soap:Code>
<soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">OSB-382571: Schema element: GetCaseRequestMessage not found</soap:Text>
</soap:Reason>
<soap:Detail>
<con:fault xmlns:con="http://www.bea.com/wli/sb/context">
<con:errorCode>OSB-382571</con:errorCode>
<con:reason>Schema element: GetCaseRequestMessage not found </con:reason>
....
</con:fault>
</soap:Detail>
</soap:Fault>

After more contact with Oracle Support it indeed appeared that the Oracle documentation was not correct (as mentioned earlier with their reference to BUG 20367846). The XML structure example shown by Oracle also requires an nameSpaceURI element.  Which means the correct XML input for dyanamic validation for an XSD is:

<validate xmlns="http://www.bea.com/wli/sb/context">
<schema>mySBproject/schema/myXsdSchemaFile</schema>
<schemaElement>
<namespaceURI>nl.rubix.messages/caseservice/1.0</namespaceURI>
<localname>getCaseRequestMessage</localname>
</schemaElement>
</validate>

Example Oracle Service Bus Project with Dynamic Validation

Here is an example of my SB project:

pipeline

I first use an Assign action in my pipeline to create the $dynValidate variable with XQuery which holds the XML structure for the validation. (You could also use the xquery directly on the validate action).

assign_xquery

Here is an example XQuery to generate the required Dynamic Validate XML structure:


xquery version "1.0" encoding "utf-8";
(:: OracleAnnotationVersion "1.0" ::)
(:: pragma parameter=”$i_operation” type=”xs:string” ::)

declare function local:dynValidate($i_operation as xs:string) as element()
{
<validate xmlns="http://www.bea.com/wli/sb/context">
<schema>mySBproject/schema/myXsdSchemaFile</schema>
<schemaElement>
<namespaceURI>nl.rubix.messages/caseservice/1.0</namespaceURI>
{
if ($i_operation = "getCase")
then <localname>getCaseRequestMessage</localname>
else if ($i_operation = "insertCase")
then <localname>insertCaseRequestMessage</localname>
else ()
}
</schemaElement>
</validate>
};

declare variable $i_operation as xs:string external;
local:dynValidate($i_operation)

After we have the $dynValidate variable we can use it as input for the Validate action. (As mentioned, you can also directly use the Xquery here instead of an expression with the earlier generated variable.

validate

Hope it helps!

References

 
Leave a comment

Posted by on 29-07-2015 in Oracle, OSB

 

Tags: , ,

How to withdraw tasks and handle them in Oracle BPM

If you want to withdraw a Human Task in Oracle BPM there are multiple options. This blog post will first show 3 options and then explain how to model your Oracle BPM process to anticipate on the result of a withdrawn task.

1. The BPM Workspace

Using the default Oracle BPM WorkSpace to withdraw a task:

withdraw5

2. Using the TaskService

If you use a custom front-end (instead of the default Oracle BPM Workspace) you can use the Oracle SOA Suite TaskQueryService & TaskService to handle your tasks. In the TaskService there are operations named withdraw and withdrawTasks to either withdraw 1 or multiple tasks. The example below shows a withdrawTask operation request message.


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:tas="http://xmlns.oracle.com/bpel/workflow/taskService"
 xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
 xmlns:com="http://xmlns.oracle.com/bpel/workflow/common">
 <soapenv:Header/>
 <soapenv:Body>
 <tas:withdrawTask>
 <com:workflowContext>
 <com:credential>
 <com:login>weblogic</com:login>
 <com:password>welcome1</com:password>
 <com:onBehalfOfUser>weblogic</com:onBehalfOfUser>
 </com:credential>
 </com:workflowContext>
 <tas:taskId>a71a4c2b-b121-4cde-91af-79872dbda522</tas:taskId>
 </tas:withdrawTask>
 </soapenv:Body>
</soapenv:Envelope>

This solution is implemented in our Adaptive Case Management project in the case a specific (power)user is logged in and wants to withdraw the current task (and activity) where he/she is working on.

3. Using events/signal

When you want to withdraw a task without actually opening a task (or having access to it’s taskId) you can use a signal subprocess to receive an event.

withdraw4

The event can trigger an Update Task action which calls the withdraw operation from within the BPM process.

withdraw3

The Oracle BPM Process modeling

When using the withdrawTask the task state is set to “WITHDRAWN” when the task is closed. So make sure to use the data association on the output tab of the task to store the state in a process data object.

withdraw1

In the BPM process flow we can use an exclusive gateway to model the logic by checking the value of the taskState process data object.

withdraw2

Often we use gateways in Oracle BPM processes to check the outcome of a human task and model the outcome to different process flows. However keep in mind that the state can also inform about e.g. EXPIRED, ERROR or WITHDRAWN tasks.

withdraw7

References

 
1 Comment

Posted by on 18-06-2015 in BPM, Oracle

 

Tags: ,

How to customize your Service Bus 12c pipeline templates

One of the new features in Service Bus 12c is the ability to use pipeline templates. Usually the Oracle Service Bus pipelines in an environment have many common steps. Think of the re-use of logging, error handling, alerts and pattern + naming convention for your stages. In practice with OSB 11g we often used a “template” or existing OSB project which we then copied and modified. With the “clone” option of 12c this task is already easier, but the use of pipeline templates is even better. Since templates and concrete pipelines (generated pipelines from a template) remain linked we can update our services easier with new insights. For example, when you want to change your default logging or fault handling behavior.

Index:

To use pipeline templates to their fullest potential we can customize them to our own needs. For this we have multiple options.

Generic configuration

The essential configuration of most actions can be left empty in the template without any problem. As soon as they are implemented in concrete pipelines the actions there will come into an ERROR state. The example below shows the Routing which is empty in the pipeline template. When developing the concrete pipelines we can then easily set the correct business service.

Empty

Many actions, like Validate, allow us to use generic configuration of the Location instead of specific elements from the service datamodel. By using generic configuration as ./*[1] we can tell the Validate action to validate the 1st element in the SOAP body. Which normally would be your getMessageRequest or getMessageResponse element. The correct element and schema  to validate against should still be selected in the concrete pipeline.

validate

Dummy values

Unlike most actions, the problem with the Replace action seems that when you leave the XSLT or XQuery of choice empty, the template will turn into an error state. To prevent this from happening I use a dummy XQuery file in my CommonObjects project and assign it from all Replace actions I use for transformation of messages..


transform

Locking actions

We can set each individual action in our template to a “locked” state. With this preventing the developer of the concrete pipeline to change certain locked logic of the service. This is quite usefull for default logging and fault handling you want to enforce in your services. Right-click on each specific action you want to lock and choose “Lock Action”. Sadly there is no graphical representation to quickly show you which actions are locked.

logging

Using template placeholders

We can use template placeholders to allow developers using the template to customize the concrete pipeline to the extend that we determine in the template. We can allow customization of unlimited stages, nodes and route, but in most cases you will probably use the most strict placeholder “Actions”. In the example below we show a stageEnrich which allows the developer to add unlimited amount of actions in this stage. Actions like Service Callouts, Transforms, Logging, etc to make sure we can extend our service. With this, creating enough flexibility for the developer to customize the logic for the concrete pipeline, without changing the default we want to enforce for logging, error handling, etc.

d01

 

Enrich

References

 
3 Comments

Posted by on 09-06-2015 in OSB

 

Tags: , ,

Patching your JDeveloper 12.1.3 with SOA/BPM Bundle Patch 12.1.3.0.2

The SOA(/BPM) Bundle Patch 12.1.3.0.2 is available for download from Oracle Support (http://support.oracle.com)
Just use the search on patch number ‘20423408’ and it will bring you the patch details page with the download (approx. 662MB).
You can deploy the patch on top of your basic 12.1.3.0.0 or the earlier released SOA Bundle Patch 12.1.3.0.1

So I patched my own JDeveloper 12.1.3 environment with the OPATCH tool.
Extract the downloaded patch, I’ll use C:\temp\p20423408_121300_Generic\20423408
This folder is called ‘patch_TOP’ in opatch terminology.

Since I use Windows as local OS you will need to First open a command prompt with Administrator rights (right-click, run as Administrator).
If we don’t use the right permissions we will get the error: Unable to lock Central Inventory. OPatch will attempt to re-lock

Naamloos

First we set our ORACLE_HOME to the Jdeveloper 12.1.3 folder:
SET ORACLE_HOME=C:\ORACLE\middleware\12.1.3
And make sure opatch is in our path:
SET PATH=%PATH%;C:\ORACLE\middleware\12.1.3\OPatch
We browse to the patch_top folder:
cd C:\temp\p20423408_121300_Generic\20423408
And run opatch:
opatch apply

/opatch apply
Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation. All rights reserved.

Oracle Home : C:\ORACLE\middleware\12.1.3
Central Inventory : C:\Program Files (x86)\Oracle\Inventory
 from : n/a
OPatch version : 13.2.0.0.0
OUI version : 13.2.0.0.0
Log file location : C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20423408_May_
29_2015_14_43_43\apply2015-05-29_14-43-25PM_1.log

OPatch detects the Middleware Home as "C:\Oracle\Middleware\12.1.3"

mei 29, 2015 2:43:44 PM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level 0
Applying interim patch '20423408' to OH 'C:\ORACLE\middleware\12.1.3'
Verifying environment and performing prerequisite checks...
Patch 20423408: Optional component(s) missing : [ oracle.integration.bpm, 12.1.3.0.0 ] , [ oracle.mft.apache, 12.1.3.0.0 ] , [ oracle.bpm.processspaces, 12.1.3.0.0 ] , [ oracle.mft, 12.1.3.0.0 ] , [oracle.soa.workflow.wc, 12.1.3.0.0 ]

Patch [ 20423408 ] conflict with patch(es) [ 19707784 ] in the Oracle Home.

To resolve patch conflicts please contact Oracle Support Services.
If you continue, patch(es) [ 19707784 ] will be rolled back and the new Patch [ 20423408 ] will be installed.

Do you want to proceed? [y|n]
User Responded with: Y

OPatch will roll back the subset patches and apply the given patch.
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = 'C:\ORACLE\middleware\12.1.3')

Is the local system ready for patching? [y|n]
User Responded with: Y

Backing up files...
Rolling back interim patch '19707784' from OH 'C:\ORACLE\middleware\12.1.3'
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...
RollbackSession removing interim patch '19707784' from inventory

OPatch back to application of the patch '20423408' after auto-rollback.
Patching component oracle.rcu.soainfra, 12.1.3.0.0...
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...
Verifying the update...
Patch 20423408 successfully applied
Log file location: C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20423408_May_29_2015_14_43_43\apply2015-05-29_14-43-25PM_1.log
OPatch succeeded.

 
5 Comments

Posted by on 09-06-2015 in Oracle, OSB, SOA Suite

 

Tags: , , , ,

How to generate and use a concrete pipeline from a template

One of the new features in Service Bus 12c is the ability to use pipeline templates. Usually the Oracle Service Bus pipelines in an environment have many common steps. Think of the re-use of logging, error handling, alerts and pattern + naming convention for your stages. In practice with OSB 11g we often used a “template” or existing OSB project which we then copied and modified. With the “clone” option of 12c this task is already easier, but the use of pipeline templates is even better. Since templates and concrete pipelines (generated pipelines from a template) remain linked we can update our services easier with new insights. For example, when you want to change your default logging or fault handling behavior.

Index:

We can generate a new concrete pipeline on an existing service bus overview, or generate a new service. In this example we will generate a whole new service which implements the concrete pipeline. The concrete pipeline is linked to the original pipeline template and will also change automatically when the template is updated. Since the earlier generated “PipelineTemplate_soap12_entity” will be used, we will create a basic entity service named getEmployeeService in this blogpost.

Generate a concrete pipeline

Use the wizard to generate a new Service Project and drag a Pipeline to the service bus overview. We select the “From Template”.

c01

 

We then need to select a SOAP 1.2 WSDL since this is the transport used in the template.

c02

 

The result is a proxy service with a concrete pipeline. The grey background color indicates reminds us that we are dealing with a concrete pipeline here. When you select an Action you can notice 2 important facts:

  1. We can not delete the action since the concrete pipeline actions are inherited from our template.
  2. The action contains the default configuration from the original template. In this case we did not modify the template yet after the generation..
    So however the templates help us to quickly generate basic message flow patterns, we still should make sure we check our actions..

a05

 

 

 

How to break the template link

If we want to edit the concrete pipeline beyond the scope of the pipeline template we can break the template link. By doing so the concrete pipeline becomes a normal pipeline. However this break can not(!) be undone. Right-click on the concrete pipeline and select Service Bus -> Break Template Link.

c01

 

Then select YES regarding the warning about the irreversibale action.

c02

 
2 Comments

Posted by on 09-06-2015 in Uncategorized

 

Tags: , ,

 
Follow

Get every new post delivered to your Inbox.

Join 401 other followers