Tokenize a CSV and do a for-each in XSLT 1.0

There are cases where you’ll have a csv and need to do a for-each on each of the tokens.
For ex, a CSV stored in a DVM has to be iterated and needs to be assigned to a target for each of the token

Here is how you can tokenize

<xsl:stylesheet version="1.0"
xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”&gt;

And the result is

  a
  b
  c

Advertisements
Posted in Uncategorized | Leave a comment

OSB Proxy Service Error :: Two or more operations expect the same incoming message

When you create a proxy service in OSB, sometimes you may encounter the following desing time error

[OSB Kernel:398034]Two or more operations expect the same incoming message, you must use a selector different than message body xxx.proxy /xxx/business Unknown ALSB Conflict

This happens when your wsdl has multiple operations and the types of atleast two of these operations share a similar message type. Operations are selected based on a particular algorithm, so in this case, the default Operation Selection Algorithm ‘SOAP Body Type’ won’t work as the operation message types are not unique. In such cases, you need to specify a different selection algorithm like ‘SOAPAction Header’
Go to Operation tab –> select ‘SOAPAction Header’ – provided the operations in the wsdl define SOAPAction

Check my next blog if the wsdl doesn’t have or a blank SOAPHeader element

Posted in Uncategorized | Leave a comment

Unable to open application in EM :: javax.el.ELException: oracle.sysman.emSDK.app.exception.EMSystemException

Sometimes, opening a deployed application doesn’t appear in EM under soa-infra tree, but exists in the list when you click on the partition. And when you click on the project from the list, it gives an error with a pop-up with a similar error as below

ADF_FACES-60096:Server Exception during PPR, #5[[
javax.el.ELException: oracle.sysman.emSDK.app.exception.EMSystemException
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:298)
        at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
        at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
        at com.sun.el.parser.AstValue.getValue(AstValue.java:138)
        at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)
        at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
        at org.apache.myfaces.trinidad.component.FacesBeanWrapper.getProperty(FacesBeanWrapper.java:58)
        at org.apache.myfaces.trinidad.component.UIXTable$RowKeyFacesBeanWrapper.getProperty(UIXTable.java:630)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.getProperty(UIXComponentBase.java:1353)
        at org.apache.myfaces.trinidad.component.UIXIterator.getValue(UIXIterator.java:722)
        at org.apache.myfaces.trinidad.component.UIXCollection.__flushCachedModel(UIXCollection.java:1438)

Solution :: Just go to console –> Deployments –> stop & start the ’em’ application
Now, you’ll see all the deployments in the EM soa-infra tree, as well as you’ll be able to open the project.
Posted in Uncategorized | Leave a comment

Assign not happening after XSL transformation

There are cases where a BPEL assign activity on a variable may fail(Selection Failure) after a XSLtransform activity on the same variable. Reason is that a transform activity doesn’t create empty tags if the value is null. Hence, the variable will be updated with some missing tags(for null values) after transformation, and when you try to assign to such a tag, you will get an error.

Inorder to overcome this, if you feel you may get null values for a particular tag which you may want to assign later, then use an if condition to set it to empty text if the value is null. In such cases, the tag is created with empty value, so you can use it for assigning later.

Posted in Uncategorized | Leave a comment

OSB IDE & OEPE

Often people are confused that Oracle Enterprise Plugin for Eclipse (OEPE) is the plugin for OSB on eclipse. But OEPE is actually a plugin to eclipse that supports development of technologies like J2EE, Spring, ORM, etc. on weblogic, but defenetely not OSB.

OSB IDE actually comes as part of the OSB installer. While installing Oracle Service Bus, one of the steps will be to provide Middleware Home & OEPE Home.

With this, it will install required plugins over OEPE to have the OSB IDE

Be aware about the versions of OEPE & OSB. Different versions of OEPE are used for different versions of OSB

You can get in Oracle website, or for quick reference
Here is the list

OSB Weblogic Server OEPE
11.1.1.6.0
11.1.1.7.0
10.3.6 11.1.1.8.0
11.1.1.5.0 10.3.5 11.1.1.7.2

Hope this helps resolve the confusion over OSB IDE and OEPE.

Posted in Uncategorized | Leave a comment

Using properties in Composite (or) Using Properties in BPEL

Hello

This post will take you through a demonstration on how to setup and use properties in a Composite

Often you’ll have scenarios where you’ll need to change/setup certain values at runtime. For ex, adminEmailAddress. During dev, usually the developer would use his mailId but when deployed in production, the admin has to be assigned. How is this addressed?

Using Properties

1. Define properties in Composite.xml against the BPEL process in which you want to use this properties

     
      <property name="bpel.preference.adminEmailAddress” type=”xs:string” many=”false”>admin@xyz.com
      …

Note that bolded bpel.preference should not be changed.

2. Use this property in BPEL
For ex, in the Mail activity, the to address needs to use this value
ora:getPreference(‘adminEmailAddress‘)

3. Set this property value in EM
Go to EM –> Weblogic Domain –> rt click on soa_domain–> System MBean Browser


oracle.soa.config –> Server : –> SCAComposite –> SCAComposite.SCAComponent –> Click on your Process

On the right side, click on Properties
You’ll see the property adminEmailAddress,  where you can replace whatever value you want.

Thanks for reading the post.

Posted in Uncategorized | Leave a comment

Unable to deploy ADF UI app – java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet

You may get the following exception while deploying the ADF UI application from Jdev/WLS

Operation ‘deploy’ on application ‘ProjectInitiate_V3_UI’ has failed on ‘AdminServer’
java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet
oracle.adf.library.webapp.ResourceServlet
Deploy operation failed.

Reason being the .war file that you are trying to deploy does not contain the whole lot of classes required. You make .ear file instead which has all the resources required.

The way you do it is, deploy the same at the Application level instead of Project Level from Jdev

OR

If you are deploying directly from EM/Console, deploy the .ear file instead of .war file

Posted in Uncategorized | Leave a comment