How to configure WSO2 ESB SAP Adapter - adapter

I have already checked the information related to WSO2 ESB SAP Adapter from this link:
http://wso2.org/premium/summer-school-2011-session4-enterprise-integration-with-sap-and-wso2-esb
Is this the only information i can found about it?
I didn't find anything related to it in the official documentation of WSO2 ESB...
An example showing how to configure this adapter in the ESB will be very helpfull!
Thanks in advance,
Santiago.

You can refer following documentation for more info about WSO2 ESB integration with SAP.
http://docs.wso2.org/wiki/display/ESB460/Enterprise+Integration+with+SAP+and+WSO2+ESB
This documentation was added recently and I hope you will be able to find the information you are looking for.

WSO2 ESB comes with a variety of adapters to connect to all sorts of different systems. One of these adapters is the SAP adapter.
The WSO2 SAP adapter has full iDOC and experimental BAPI support. It used the SAP JCO library as underlying framework to communicate with SAP.
Installing the adapter couldn’t be easier. Its shipped with WSO2 ESB and the WSO2 ESB documentation website describes the installation procedure from the WSO2 perspective.
The installation procedure however does not guide you on how to find the settings you need in SAP.
That’s where this blogpost steps in. It is actually the first in a series of three. I’ll first take you through setting up the SAP connection. Then the next blogpost will introduce sending iDOCs and the last post will take you through invoking BAPIs at SAP.
So, let’s start off with some SAP adapter knowledge. I’ll refer to the WSO2 ESB SAP adapter as ‘SA’ in the following guide.
The SA is capable to be used as a Client as well as a Server. To setup the SA as client to a SAP system you’ll need to setup a client-side configuration fle. This file should be named [SAP-GWHOST].dest and must be placed in the [WSO2_HOME]/repository/conf/sap folder. This folder does not exist per default so make sure you create it and provide enough access rights for the WSO2 user to read the files within it.
To setup the WSO2 as an idoc server you must create a configuration file named [SAP-GWHOST].server.
Let’s first handle the client configuration file. There might be some differences based on your SAP system but the following settings should cover a lot of installations. The screenshots are based on SAP ECC version 6.0
In the examples here the SAP gateway is known as SAPSYS01.

Related

Failure reason: "Host not found" Received status code: "502" - Creating a destination in SAP cockpit

I am new to SAP and development of SAP Fiori Application. I want to create a project consuming oData service.
I have created a SAP cloud platform Cockpit trial account and created a destination for my in house development gateway.
When I click on test connection, it shows host not found: 502.
I am not able to access oData connection url without saml2=disabled parameter, so tried with Basic authentication using my SAP user.
SAP is on Azure cloud. What am I missing here?
Based on your hardware landscape you might need to configure SAP Cloud Connector,
as documented here:
“The Cloud Connector serves as a link between SAP Cloud Platform applications and on-premise systems. It combines an easy setup with a clear configuration of the systems that are exposed to the SAP Cloud Platform. You can also control the resources available for the cloud applications in those systems. Thus, you can benefit from your existing assets without exposing the whole internal landscape.
The Cloud Connector runs as on-premise agent in a secured network and acts as a reverse invoke proxy between the on-premise network and SAP Cloud Platform. Due to its reverse invoke support, you don't need to configure the on-premise firewall to allow external access from the cloud to internal systems.”
And also look here:
“If your remote system resides behind a firewall (proxy type OnPremise), the following prerequisites must be met:
You have set up Cloud Connector and defined a virtual host mapping for the system.”
Also take a look here:
“Maintain Destinations for SAP Cloud Platform Connector
In the SAP Cloud Platform Cockpit, maintain destinations for each target system to enable communication via the SAP Cloud Platform Connector.
For on premise systems, make sure to select the Proxy Type OnPremise.”
I also faced a similar issue yesterday night. This generally has to do with some config problems.
For me, it was the Proxy settings. it was set to 'Internet'.
It had to be set to 'OnPremise'. After doing that, it got successfully connected.

Box.com Service Account access

All box.com's api's read to require OAuth 2.0 using only Authorization Token grant types. I have a back end system that needs to upload a file to a box.com system. However, I do not understand how a back end system is suppose to integrate, when the authorization flow requires user "approval" to get a token.
Anyone ever done this? I am attempting to integrate a java mule app. I attempted to use the components, but they plain do not work at all, they break the entire anypoint studio. Now I am trying to utilize the http component to make the call but I am losing my patience with it.
please help, I am pretty much ready to drop kick this laptop and live in the woods.
Integration with public online API requires a little study, a little coding, and a little testing. I'm not saying it's easy. Take a look here at a Mule component I've recently created that communicates with Toggl, an online timekeeping service.
https://github.com/ciwise/toggl-api-connector
Your question requires a lot of discussion but it's best answered with example. If Box does not provide a Mule component, you can create one yourself.
The HTTP connector is not going to authenticate or perform any operations at Box for you. The HTTP connector provides the HTTP endpoint (URL entry and browser return). To authenticate your application with Box and call API operations, you'll need to do some work.
This is the high-level recipe for my solution with Toggl service (example)
Update your Anypoint Studio with Mule Connector DevKit software
Create an Anypoint Connector project in Anypoint Studio (Eclipse)
My connector provides multiple methods to process and these are used with different instances of the component (connector) in my use flow.
My TogglDataAPIHandler.java makes various checks to see if the application (Mule) is authenticated before making calls to the Application Programming Interface (API). The API is provided by Box so that developers (people writing code) can communicate with the service outside of the web browser. There's no simple answer here. You will have to do some coding. My component/connector is only an example of one way to do this (communicate programmatically with the API).
Build and install the connector(component) locally so that we can see it in the Mule Design Palette.
Drag as many of our new component (Anypoint connector) as needed into our flow canvas.
Test the flow.
I hope that helps. Take a look at my Github repo and Mule Connector. There's a wealth of information in anyone's code. But, integration with an API requires code. You can also search the Exchange for a Box connector. If you find one, then your life is simpler. You still need to read this thoroughly:
https://docs.box.com/docs

wso2 APIManager: Add PingIdentity as new OAuth-Endpoint

We are planing to use PingFederate-Server as our central identity managment solution. What are the steps to integrate the ping server oauth-endpoint to our wso2 landscape.
Is there already a solution available?
I read the blog-post https://amilasnotes.wordpress.com/2015/05/19/integrating-with-a-third-party-oauth-provider-overview and it looks like that this task is possible.
Has someone experienced replacing the internal wso2 key-manager?
And is it possible to use both keymanagement solution (interal and ping), so that we don't need to migrate the current applications/access-tokens?
Thx, in advance
Marty
You have to write a custom keymanager implementation to connect to Ping identity server. Overall implementation steps can be found in https://amilasnotes.wordpress.com/2015/05/19/integrating-with-a-third-party-oauth-provider-overview/
There are two sample keymanager implementations you can look into. Surf Oauth and Mitre-ID Connect.
You can checkout the API manager default keymanager implementation as well. See AMDefaultKeyManagerImpl .
Regarding using both key managers, It won't be possible since default KM implementation is also written using the same keymanager interface. So only one keymanager implementation can be used.

Creating OAuth2 service provider without UI

I am writing a set of Puppet modules that deploy WSO2 ESB & Identity Service and the API & authentication services we are providing to a client.
For the most part, I have been able to figure out which XML config files I need to update to automatically configure the WSO2 product.
However, I can't work out how to automatically provision an OAuth2 service provider via the config files. I can create and successfully use an OAuth2 service provider through the Identity Service mgmt console, however I'd really rather not have to do that as a manual step when my aim is to configure a set of machines using Puppet to automatically provision an OAuth2 provider.
To confirm, screenshot of the UI below that I am trying to apply settings for via an XML config file, rather than having to do it in the UI:
After some googling, is the correct directory /repository/conf/identity/service-providers?
If so, could somebody point me in the direction of an example where this is used for configuring an OAuth2 service provider?
If not, any more pointers would be gratefully received!
Many thanks
Chris
In case of searching configuration file for adding OAuth configuration without management console UI, you are in the right place. As you specified you can use the configuration in /repository/conf/service-providers/default.xml.
When you add service provider you have to call IdentityApplicationManagementService. You can use IdentityApplicationManagementServiceStub to call IdentityApplicationManagementService. When you add OAuth configuration you have to call OAuthAdminService. You can use OAuthAdminServiceStub to call OAuthAdminService. After creating the service provider and OAuth configurations separately, you have to bind service provider with created OAuth configs.
Note that I will recommend to check the source code in UI classes which used to add service providers, OAuth configs and binding those two. Hope this helps.

WSO2 BAM - ESB sinchronization

Hello Stackoverflow & WSO2 community,
I want to thank you for the ongoing support from the beginning of my architecture building. I'm not much skilled at creating SOA solutions, and your support has been, is and will be much important.
While trying to solve the ESB problem, I was trying to connect BAM and ESB following the tutorial I found in wso2bam-1.3.2\samples\eventing-mode-mediation-monitoring.
My steps has been:
Adding the repository in WSO2 ESB;
Adding the "BAM Mediation Statistics Data Publisher" feature;
Enabling statistics on a simple service;
Adding the ESB server in the WSO2 BAM as: https://<ip-address>:9443/carbon/ or https://<ip-address>:9443/carbon/services, with
Data Collection Method: Eventing
Type of Data: Mediation;
Running the proxy service from an external client (Netbeans java application) - note that statistics were reported into the graphic near the proxy service of the ESB
Checking the BAM - but, for instance, the Service Calls gadget says:
No services found for the server https://<ip-address>:9443
I deduce something went wrong.
If you can help me again, I'm going to begin thinking about a way to give you some kind of useful feedback!
It seems BAM 1.3.2 seems to have an issue with the ESB. Could you try with BAM 1.3.0? It should just work.

Resources