Monday, February 1, 2016

#474 ICS Google Mail adapter


Here is a simple example of the above.
To begin with, I need to set up my OAuth credentials@Google

As you can see, I have obfuscated my Client ID and Client secret, somewhat.
Notice, I have also entered an Authorized redirect URI below.
This will be needed when you click the Provide Consent button on connection creation in ICS.

Now, with this information, I can create the connection to GMAIL in ICS.

I click on Provide Consent and get the confirmation from Google.

Now I use this in an Integration -

Here is the Request mapping -

I am using the PartyId field in the Source message.

uploadType needs to be set to media

raw needs to be set in the following format -

From: emailAddress To: emailAddress Subject: Welcome to ICS Google Mail Adapter! MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, This is your First Mail sent using ICS Google Mail Adapter! Thank You!! Regards, ICS Oracle

 I deploy and test from SOAP-UI -

I monitor in ICS -

Then I check my email inbox -

Friday, January 29, 2016

#473 ICS Execution Agent

I just installed the ICS Execution agent, which is essentially ICS on-premise.

As to be expected, all this is missing is the Agent functionality -

The version I have installed is -

New features of this version include a more ergonomic adapter creation UI -

Notice the new menu options - Users - Administration

Here are the default users -

I can also create new users -

Note the available roles -

Self explanatory, don't you think? I assign all of the roles to NiallC.

I assign the IntegrationServiceDeveloper role to the user RenateC.

Still logged in as weblogic, I click on the Administration button.

Here I can manage my certificates -

ICS Execution Agent runs in a compact domain and you have access to EM -

as well as the sbconsole -

The Weblogic install is at -

Thursday, January 28, 2016

#472 ICS ERP Cloud Adapter

New adapter available with 15.4.5+

First we need to enter the ERP Services Catalog WSDL URL.

Now, in my case, all I had to go on was an URL for a Fusion ERP Invoice Service.
This has the format:

The URL for the ERP Services Catalog WSDL has the following format:

fs stands for common.

Regarding the ERP Events Catalog URL (optional)
ERP doesn't as yet support events. I have blogged about Sales Cloud Events here
So, for ERP, it is optional ;--)

I have obfuscated the WSDL URL and the Username

I test the connection -

If this test fails with a valid ERP user, then it is probably a permissions issue, that you
need to sort out at Fusion ERP level.

Now I create a simple integration in ICS, leveraging the ERP adapter.
Below is one I created to call the createSimpleInvoice service.

Here are the steps for the target ERP connection -

Then I do a similar configuration for the source connection.

For the mapping, call in your ERP functional expert.

Friday, January 22, 2016

Thursday, January 14, 2016

#470 ICS --> Content Based Routing

Content Based Routing for Asynchronous Source will be supported very soon.
Content Based Routing is not supported for Fire and Forget pattern yet.

Simple scenario here

ICS gets a request to retrieve customer details from on-prem DB.
Customer is classed as either domestic or foreign.
Requests for domestic customer details have to be routed to the domestic customer DB.
Requests for foreign customer details have to be routed to the foreign customer DB.

The custId of domestic customers always begins with 1.
The custId of foreign customers never begins with 1.

So you get the idea?

I have 2 DB tables -

These are essentially my 2 databases.

My integration looks as follows -

You see the icons representing the routing?
Here they are -

You can make out some of the routing condition I entered?
I use the string function starts-with

Here I check if the incoming custId starts with 1.
If so, I route to the "domestic DB".

Otherwise the request goes to the "foreign DB".

Here you see the icon to configure routing.

Here is the filter condition -

Once this node is selected in the upper routing pane, we configure/edit the Target.

Select the other node and you can do the same.

Full Example

Here is another of my integrations -

Here a customer input is mapped to an Oracle Sales Cloud contact.
I want to add a routing to my DB as well.
We can apply the same routing logic as above -

Here I check if the incoming custId starts with 1.
If so, I route to Sales Cloud.
Otherwise the request goes to the DB.

You can see the funnel icon on the request message line.
I click on this to begin -

I enter the Expression Builder -

On the left we have the incoming message - the source.
Also the Components palette.

With these I can build my expression.

Click on the Routing Drawer to configure Routing.

The Conditional path is active and it defaults to the OSC target.

Now I need to specify the alternative route or path.

I click on the bullseye icon to make it active -

So now I just drop my DB adapter as the Target and
configure accordingly.

and the rest is just plain sailing...