Posts

WSO2 APIM- Store APIs get specific one based on multiple attributes

Image
  Problem Statement I am using wso2 APIM 2.6.0 store APIs to get specific API details. The problem is that I have 3 APIs with the same name but different versions ( pizzashackapi with version 1.0.0, pizzashackapi with version 1.1.0 and pizzashackapi with version 1.1.1 ) and I need to pass multiple parameters in the query section of the API to get more fine-grained result, however, it's not working as expected- WSO2 Documentation  It says Supported attribute modifiers are [version, context, status, description, subcontext, doc, provider, tag] but I am not able to pass the multiple attributes in the query section (Ref-  https://docs.wso2.com/display/AM260/apidocs/store/#!/operations#APICollection#apisGet) curl https://localhost:9443/api/am/store/v0.14/apis I tried using the following  Store API:  https:/localhost:9443/api/am/store/v0.14/apis?query=pizzashackapi&version=1.1.0 https:/localhost:9443/api/am/store/v0.14/apis?query=name:pizzashackapi&version=1.1.0 https:/localhost:

Oracle SOA Suite 12c- Using preferences via config plan and enterprise manager

Image
                                                                        Recently I got engagement with Oracle SOA Suite where I need to use some variables that needs to be changed during the deployment time. Oracle SOA Suite provides a great feature of using preferences in bpel process as bpel.preference.<Variable>. This blog will show how can you use this feature via config plan and enterprise manager- The current composite has property as- <property name="bpel.preference.url">http://hostname:port</property> Now, this property has to be replaced with some actual value. Method 1- Via SOA config plan:  Below are the steps to set BPEL preference values during deployment time via a configuration plan: 1)  From JDeveloper, right-click on the associated composite.xml file and generate a deployment configuration plan for your composite. When you open the file, you will find a search/replace construction for the preference. <component name="ApprovalBpelProc

WhatsApp New Policy Impact

Image
WhatsApp New Privacy Policy Impact About WhatsApp WhatsApp sounds like "what's up" is a way to ask someone “what’s going on”. This was a revolutionary application founded by Brian Acton and Jan Koum back in 2009 with the aim to provide free communication (text/voice) via the mobile app over the internet without Ads and maintaining the high degree of data privacy of the users through data encryption. Later, Facebook acquired WhatsApp in Feb 2014. The New Privacy Policy The new policy essentially takes away the choice users had until now to not share their data with other Facebook-owned and third-party apps. WhatsApp users need to provide their consent, failing which they will not be able to use this social messaging app after that. After accepting the terms by a user, Facebook will now use such data for commercial activities to grow their business. Data Security Issues Below are some of the data security issues as per the new privacy policy- 1.The contact details of a use

MySQL DB Procedure Execution by a non-root user

Image
In my this blog, I'll share my experience of one of the issues that I faced during procedures execution for a migration project Problem Statement Recently I have been involved in an application migration project from one cloud to another cloud. I have done the database migration and due to security reasons, I have changed the identifier of all procedures to a non-root use so that I don't need to provide root credentials. However, One strange issue encountered during the procedure execution. Below is the sample snippet of my procedure I have been executing with a non-root user- CALL save_wallet_request('233284','23342sad','1','2021-01-13 06:54:23','eeedewewqewqeqe',@out_pgref_no,@out_dup_err)     Error Code: 1449. The user specified as a definer ('root'@'%') does not exist   0.107 sec Although I have a valid identifier in my procedure i.e. 'user001@%' but still I was not able to execute the procedure. Cause The proc

WSO2 API Manager 3.0.0 Active-Active HA | Mount Server directory to NFS/Shared Folder

Image
I am writing this post with respect to the problem I was struggling with APIM Active-Active HA setup in a production environment.  Environment:  WSO2 APIM 3.0.0, Ubuntu 18.04, AWS, EFS for shared storage, 2 node HA setup Problem Statement Referring to WSO2 APIM 3.0.0 documentation ( https://apim.docs.wso2.com/en/3.0.0/install-and-setup/deploying-wso2-api-manager/single-node/configuring-an-active-active-deployment/ ) I have started setting up my all in one Active-Active HA deployment. However, I stuck to a situation where I need to perform the following for artifact synchronization- "You need to mount the <API-M_HOME>/repository/deployment/server directory of the two nodes to the shared file system, in order to share all APIs and throttling policies between all the nodes"  https://apim.docs.wso2.com/en/3.0.0/install-and-setup/deploying-wso2-api-manager/single-node/configuring-an-active-active-deployment/#step-5-configure-the-artifact-synchronization Now I was not sure ho

WSO2 APIM 3.0.0 API subscription via application issue | Bug

Image
Hi Everyone, I am writing this post regarding one of the strange issues I was facing with WSO2 API Manager 3.0.0. Below is the summary and workaround I did to overcome the same. Problem Statement I have registered 55+ APIs through publisher portal and created one application per API i.e. total 55 Applications. I have created a new application and was trying to subscribe to one of the existing APIs but unfortunately, that API wasn't available in the subscription list. However, the same was visible with published status in publisher portal and devportal as well but during the subscription via the application, it wasn't available. I can see only 24 APIs in the list where I can subscribe them via Application. Rest of APIs wasn't visible so I wasn't able to subscribe them for the new application. Observation As per initial observation, I have checked the developer console to see the API being called to get the number of APIs in the dropdown list. It was 23 this time- I have

WSO2 APIM 3.0.0- endpoint connection timeout solution

Image
Hello everyone, in this post I'll share some of the important configurations of WSO2 API Manager for backend API connection.  Problem Recently I faced a strange issue of connection timeout of my backend API endpoint i.e. due to performance issue of my backend API, WSO2 API manager failed to get a response from my backend API and faulted with 'Connection Timeout' error. Below is the response that my API manager sent when such an issue arises- Http Code: 500 Response:  <am:fault xmlns:am=\"http://wso2.org/apimanager\">                   <am:code> 101504 </am:code>      <am:type>Status report</am:type>      <am:message>Runtime Error</am:message>      <am:description> Send timeout </am:description> </am:fault> Cause Backend API did not respond within the stipulated time frame due to the performance issue of the backend system or network. The default timeout of any API is 300ms (millisec

Oracle SOA Suite 12c - Export a composite from Enterprise Manager

Image
Hello everyone, in this blog tutorial we'll see how to export an existing SOA composite from enterprise manager and then after will import the same in JDeveloper.  The scenario is, the composite has been accidentally deleted from developer machine post-deployment on SOA Server. So let's see the steps we can use to recover/ get a composite from enterprise manager. Step1- Login to enterprise manager as http://host:port/em and navigate to SOA folder from left navigation menu & Click on anyone soa server... say soa_server1 or soa_server2 as shown below- Step2- Click on 'Deployed Composites' tab as shown below-  Step3- Locate the composite (even specific version you want) and click on the same as shown below- Step4- Go to the top section of the composite and expand the menu. The 'Export' option is visible than after as shown below- Step5- Click on the 'Export' option and select the appropriate options for downloading the composite. And finally, click on t