web service to web service integratrion with WSO2 - wso2

I am new to WSO2, I wanted to do integration to WS to WS. wanted to call other webservice from one existing web service. For second web service call we have different schema so due to that I need to map existing request to the new schema. So that I can call second web service.
I am finding out how to do it, currently there is enrich mediator which can be do such chaneges in xml, but not sure how to use it.
do anybody have idea about this ?

Since you are new to WSO2 ESB, I think you should look at ESB Samples. There are many samples including Enrich mediator.
For your scenario, you should be able to use the Payload Factory Mediator. Please refer the sample for Payload Factory Mediator.
Also look at Enterprise Integration Patterns with WSO2 ESB. You may look at Message Translator pattern.
I hope this helps.

Kind of graphical mapping can be done with smooks is as in below screen shot,

Related

Consume wsdl using wso2

I have one wsdl which is working fine on mule esb.
Now i am new to wso2 i need to consume that wsdl via wso2.
I have tried to consume it from Wso2 developer studio but it showed 202 http status
Anyone can help me in this
The request of service is in xml with header APIKEY and username password basic authentication.
Anybody can help me in this problem.
I Chris, I am going to describe all the necessary steps to achieve what you want.
Create an WSDL Endpoint
Create a proxy, can be Custom Proxy.
2.1 So, depending on what you want to do (get/post/...).
For GET instance: You can Send the endpoint in (inSequence) and consume the response in outSequence with Payload factory ( https://docs.wso2.com/display/ESB500/PayloadFactory+Mediator ) passing the necessary arguments.
Just wsdl endpoint whit proper configuration.

Do I need any other wso2 product or ESB is just fine?

I'm working on a master's degree project which the main goal is wso2 study.
Through wso2 I need to be able to:
Do protocol Bridging (eg: rest to soap);
Apply data transformation (apply xslt on xml);
Content based routing;
Load balancing;
Create authentication and authorization layer to legacy services (authentication via oauth 1.0a);
Exception shielding;
Service monitoring;
Services lifecycle control;
So, my question is: do I need any other wso2 product, or ESB is just fine? For example to implement the security layer and all the load balance stuff do I need to add wso2 identity server and wso2 elastic load balancer?
Or even more: do I need to extend the esb by writing custom code to solve any of this issues? In which cases extend the esb is the only way to go?
I hope to do not be naive trying to solve all this complicated issues, but I'm kinda lost on this big swiss knife that wso2 is.
Thanks
Please find my answer..
Do protocol Bridging (eg: rest to soap ---> ESB
Apply data transformation (apply xslt on xml) ----> ESB
Content based routing ----> ESB
Load balancing ---> ESB can be used. But i prefer Apache HTTP and Nginx. They are more intended for that purpose
Create authentication and authorization layer to legacy services (authentication via oauth 1.0a) --> ESB can be used. But you need an OAuth2 Authorization server for token validation. Also, XACML PDP for policy validation. Both are available with Identity Server. According to the Carbon, you can install those features with ESB as well. But it is not recommended much. Please see more details from here
Exception shielding ---> ESB
Service monitoring ----> ESB can be used. But if more, you can use BAM
Services lifecycle control ---> ESB can be used. If needed more, you can install G-reg features
I think. It is only enough to use WSO2 ESB and WSO2 IS for this purpose. Sometime you may need to write some code. But it is easy as there are lot of samples are available freely.

Is WSO2 IS PEP centralized and how can i integrate it into WSO2 ESB

I would like to use/customize the PEP implementation provided by WSO2 IS, but I am not sure about two things:
if the PEP would be centralized or not. In other words, does each Web service has its own PEP or is it the same? In practice where would the PEP be placed?
Also, Does is there any examples of how a PEP implementation can be integrated or incorporated into an WSO2 Enterprise Service Bus? In other words, how can we use the two together?
If we are talking about WSO2ESB, There is entitlement mediator which is the PEP for WSO2 Identity Server. There must be one PEP implementation. But it can be used by several web services. In ESB, mediator is something that you can engage with the message path to intercept the message. Entitlement mediator can be used as same. It can be engaged with multiple proxy services in the ESB.
You can even write new PEP as a ESB mediator and engage your custom mediator in to the message path. You can refer this document on writing a new custom mediator. Also, you can reuse the PEP client code that can be found here. Basically you want to modify the PEP client code as a ESB custom mediator

WSO2 API Manager: Change Message Type from SOAP to XML

I have an internal webservice exposed in SOAP/HTTP. What I am trying to achieve using API manager is to expose my internal SOAP based webservice over different protocols like XML, JSON etc.
Does WSO2 API manager have that capability.
Thanks and Regards
Privin Thomas
If you wish to transform the incoming message into a different format for the backend. This can be done using the underlying ESB capabilities of the API Manager - there are actualy several ways. IMHO, the easiest way to do this is with Mediation Extensions. For information on adding a Mediation Extension to an API, please see the documentation here:
https://docs.wso2.com/display/AM170/Adding+Mediation+Extensions

Simple WSO2 ESB Soap interface

Myself: New to WSO2, Evaluating multiple ESB products
Here is what I am trying to do with wso2 ESB
Application "A" will send a zipcode (SOAP-WDSL) to WSO2-ESB
WSo2 will use that zip-code and query National WeatherService and obtain
the Lati-Long for zipcode
LatLonListZipCode method at
http://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php?wsdl
Return the lat-Lon to Application "A"
Would someone please guide me , like where to start and the components needed so forth?
I am kind of confused by all the terminologies and over complicated product names and hierarchy (carbon, oxygen so forth)
For your requirement what you simply need is to create a Proxy service in WSO2 ESB to invoke this Backend service. (National WeatherService)
If you want to get started with WSO2 ESB I recommend you to 1st go though. WSO2 ESB Sample guide and WSO2 ESB Configuration. Where you can get a head start using that.
For your scenario you can simply follow the below steps to create a simple WSDL Proxy create a working scenario which you can later improve (ex with routing , monitoring etc..)
1) Login to WSO2 ESB.
2) Go to Proxy Service Adding Section
3) Select WSDL Based Proxy as the Template
4) Give a Proxy name , WSDL url , Service name (ndfdXML) , WSDL Port (ndfdXMLPort) and tick Publish Same Service Contract
And create the service.
Now you have exposed the same service though WSO2 ESB. You can go to service list section.Get the Service EPR details and invoke the service using your application.
Below is a nice work done for beginners. Someting similar to your case
http://dakshithar.blogspot.com/2012/07/routing-and-service-chaining-with-wso2.html