Skip to main content

Posts

Showing posts with the label soa

Add/Delete Hours/Minutes in Xquery

Hi, Recently i came up with a requirement where due to different timezone we have to send received date with 4 hour difference, We tried same thing to control in XSLT but in that case we have to write one XSLT template which will handle it. Yes that work for us as we need to handle time part only, in-respect of what's going to be happen with Date but for feature we must be prepared to handle date also, so we come up with some pre-defined xquery function who will take care our this timezone issue. Subtract minutes from date. {xs:dateTime(runTs)  -  xs:dayTimeDuration("PT15M")} Subtract hours from date {xs:dateTime(runTs)  -  xs:dayTimeDuration("PT4H")} Add hours in date {xs:dateTime(runTs)  + xs:dayTimeDuration("PT4H")} Add minutes in date. {xs:dateTime(runTs)  +  xs:dayTimeDuration("PT15M")} Sample Test case: 4 Hours subtract from input dateTime  Input:   <runTs>2019-07-02T03:18:15.3...

Advance: JCA properties for Oracle SOA Adapter

JCA Properties for Oracle File and FTP Adapters: ConcurrentThreshold:  The maximum number of translation activities that can be allowed to execute in parallel for a particular outbound scenario. The translation step during the outbound operation is CPU-intensive and must be guarded because it might cause other applications or threads to starve. The maximum value is  100 . Lenient :  If set to  true , then the Orcle File Adapter does not complain if it does not have enough permission to read or write to the inbound directory. The default value of this property is  false . NumberMessages :  This property is used for outbound batching. The outgoing file is created when the number of messages condition is met. The parameter is of type  int and is not mandatory. The default value is  1 . Recursive :  If this property is set to  true , then the adapter can process all the sub-directories under the main input directory recurs...

Hadoop Hive Session issue in weblogic data source

Hi Everyone, Recently i come with a requirement about Hadoop Hive integration in Oracle SOA, For same i wrote a blog which you can find on below link. https://oraclesoaosbbpmapi.blogspot.com/2019/03/hadoop-hive-data-base-fetching-records.html After successfully configuring hive in weblogic, We faced a new issue which is about connection. Before going deep about issue and solution let's see how HIVE DB manage connection on server side. when ever we make a data base connection for HIVE DB, it create an internal session and generates a session id which is valid for a specific period of time which is configured on server level. After that period of time Hive create a new session id and process the query. How weblogic data source manage connection: When we create a data source in weblogic, We define a connection pool size by which we can use existing connections which are not in use by any other resource by which weblogic minimize the connection cost. Issue due to...

When Why to use Work Managers in Weblogic

" If you do nothing on dispatch policies in OSB proxy or business services, all is done in the Default Workmanager. But since some constructions, not only service call-outs, need other threads to finish the job,  you can get stuck threads because the workmanager's threadpool gets empty having all or near to all threads waiting , leaving no threads to pickup work to free the others.  If all threads in the default queue become stuck, the server changes its health state to "critical. If all threads in weblogic.admin.HTTP, weblogic.admin.RMI, or a user-defined execute queue become stuck, the server changes its health state to "warning. Work Managers have a Ignore Stuck Thread options that gives the ability to execute long running jobs.  " Based on our need we can create one of following work manager's: For OSB to work optimally and prevent floading WebLogic’s threadpool with hogged/stuck threads you should create 3 FairShareRequest classes ...

Oracle SOA LDAP Adapter End to End Configuration

What is LDAP Adapter: The Oracle LDAP adapter provides bi-directional connectivity with LDAP V3- compliant directory servers. The chapter provides information on how to model the LDAP adapter as a reference to perform CRUD (Create, Read, Update and Delete) operations and how to model the LDAP adapter as an inbound publication service on a directory server. Information describing various users, applications, files, printers, and other resources accessible from a network is often collected into a special database called an LDAP directory. Access to LDAP directories is a basic requirement of enterprise workflows. The LDAP Adapter Configuration Wizard provides a graphical and intuitive interface to model LDAP services to send requests to and receive responses from LDAP servers. LDAP (Lightweight Directory Access Protocol), is an Internet protocol for accessing information directories. A directory service is a distributed database application designed to manage the entries and attribu...

Oracle SOA JMS Adapter TOPIC configuration with SOA based Subscriber's

Hello Everyone, Hope you enjoy blogging!!!!! Today i am going to explain how we can use TOPIC in oracle SOA where we will publish message into Queue from one service and other services will consume message from topic. Steps to create JMS TOPIC: 1. Click on Services Menu 2. Click on Messaging Sub-menu 3. Click on JMS Modules. 4. Click on SoaJmsModule. 5. Click new 6. Select Distributed Topic anc click next             1. Enter Name "ProjTopic"             2. Enter JNDI Name "jms/ProjTopic".             3. Click on Advanced Target             4. Select SubDeployments "SoaSubDeployments" from dorp down.             5. Select Server "SoaJmsServer1" "SoaJmsServer2" from server list  ...

Team Share & Gems Integration over Oracle SOA

Hello Everyone, Recently i came across with a requirement to make an integration with GEMS (Some 3rd party tool) and Microsoft share point(Referred as team share in this blog). Both systems are different with each other in terms of security protocols,message handling. Me & my team spent quiet long time over it so we can easily complete this integration in SOA or OSB but lot's of efforts bring us to always 0 due to many limitations in both platforms and in SOA too. After wasting more then one month we decided to involve JAVA for making back-end API calls and other integration will be done using SOA, So let me tell you first what all challenges we faced for this integration. System's over view: 1.https://www.cgs-gems.com/#overview, It's a tool to keep track of some legal processes (No more information available to me over it). 2.Micro-soft share point. End Req: 1.We will be having few schedulers which will run once/twice in a day and check for new/updated ...

PFX Certificate key based secured REST API Invocation in OSB with JAVA

Hello, Today we are going to see how we can invoke a REST API which is secured with private key & certificate which requires two way SSL for successful invocation. Before starting development what we need: Certificate.pfx file This PFX file contain a CERTIFICATE AND KEY, which will be used for two way SSL REST API URL like "https://SERVERURL/URL/connect/token" JAVA implementation: We need to use below external JAR's for making HTTP Call. Below is sample JAVA code for same: package com.api.client; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.security.KeyStore; import java.security.SecureRandom; import java.util.logging.Logger; import javax.net.ssl.HttpsURLConn...

Oracle SOA 12C rest adapter with Custom HTTP headers

Most existing web applications are connected through web services, which are commonly known as SOAP services. More and more users are relying on mobile devices for communication, and they’re looking for lighter ways to access enterprise information on the go. REST services are the answer for the mobile device platform, because they get rapid responses and fast access to data. Oracle SOA Suite 12 c  provides a complete set of service infrastructure components for designing, deploying, and managing composite applications. Oracle SOA Suite 12 c  enables services to be created, managed, and orchestrated into composite applications and business processes. Some time we have need to send HTTP headers in REST service, In OSB we use header component and add what ever is needed but in oracle SOA 12C it's little bit different. Let see how we can do it. Create one SOA Application. Create one SOA Sample project inside SOA Application. Go to composite and drag drop REST ...

How to Change Weblogic Domain MODE to Production and Development.

Hi all,   today i experienced a little task to change the "Production mode" settings to FALSE in weblogic domain because due to production mode web service test client was not working. Setting up the mode to true was easy and straight forward but a little trick comes where for some reasons we had to rollback that change to test some issues.  If you want to know what are the differences between the two modes check this post  To configure all servers in a domain to run in production mode:  Login to Weblogic Console In the left pane of the WebLogic Console, under Domain Structure, select the domain name.  Select Configuration > General and select the Production Mode check box.  Click Save, and then, to activate these changes, in the Change Center, click Activate Changes. Start and stop any servers that are currently running. Here are the steps to configure all servers in a domain back to development mode. Weblogic server stor...

Remove Namespace from XML Payload in Oracle SOA

Some times we are in need to remove namespace from XML payload in oracle soa, SOA framework does not provide any direct XML manupulation methods to do it, But with the help of XSLT we can achieve it. XSLT Name: RemoveNamespace.xsl Step to remove name space: Drag & drop a XSLT component. Map BPEL/ESB variable in INPUT & OUTPUT. No mapping required. Go to source of XSLT that is created. Pest the below code and remove other templates. You can't use other templates if you are removing namespace. XSLT Code: <xsl:template match="*">     <xsl:element name="{local-name()}">       <xsl:apply-templates select="@* | node()"/>     </xsl:element>   </xsl:template>   <xsl:template match="@* | text()">     <xsl:copy/>   </xsl:template>

Oracle ICS to Oracle API Manager

Hello, From last few days i am learning about multiple use case implementation of Oracle ICS, i did not find it difficult as it is using all of the concepts used in Oracle SOA. If you know about API Managers then you are at right place to learn about how ICS can be used with API Manager or you can say how API manager can help you to expose your ICS integration to world with help of API management. If you don't know about  Oracle ICS  or  Oracle Cloud API Manager , I will suggest to have a look over above links. Here in this post we will discuss " how do you expose these ICS services using standard API methods"?? As we know  all the Oracle products have an “API first” strategy, so it wasn’t too difficult to setup an ICS flow to automatically publish new services into the API Platform. You can use your any existing activated integration which can expose from API, We will only see API based integration expose only. The first thing to do was to get in...