Quantcast

Mediation Service

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Mediation Service

benj.goodwin@gmail.com
This post has NOT been accepted by the mailing list yet.
Hi, I'm sure this has been asked before, but I can't find answer on the list.

I implemented Pymma's stockquote example, where it acts as mediator (middle man) intercepting stockquote request (soap) and passing it to the internet stock quote service and then returning it back.

The problem is the example required me to create my own wsdl, modifying the stockquote.asmx?wsdl, changing name spaces. This is (pardon me) an unacceptable solution.

I need a true mediator that can use the original wsdl and pass it onto the provider. is this possible with openesb? Is there a plugin for the JBI that will allow for this?

What we are trying to accomplish: for client, we take their wsdl, implement it in openesb. They send messages to us, we do logging, timestamping, and other things and pass the message to the true provider, get back the response, and give it to the calling client.

Thanks,

-Ben Goodwin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mediation Service

David BRASSELY
Administrator
This post has NOT been accepted by the mailing list yet.
Hi benj,

What we are trying to accomplish: for client, we take their wsdl, implement it in openesb. They send messages to us, we do logging, timestamping, and other things and pass the message to the true provider, get back the response, and give it to the calling client.

Do you think it's the role of an ESB to do these technical tasks ?

Can you tell us more about what you want to achieve exactly and I will be happy to propose you with a solution.

Regards,
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mediation Service

benj.goodwin@gmail.com
This post has NOT been accepted by the mailing list yet.
I don't think ESB should do logging and time stamping for me.

I have an existing wsdl. I want openesb to accept it (which it does). Client process sends message to openesb.
then I will write a logging function, giving it some of the data from the message
then I will write a timestamping, etc functions...

and then I want openesb to send the soap message on its way to the true server.

The documentation I've found says simply: You CANNOT use the same wsdl definition for accepting a
message and sending it back out. You MUST change one of the wsdl's namespaces.

I want to implement the proxy service in the examples for openesb, there is one for stockquote I think...
but I do not want to modify the wsdls, because that is just plain wrong.

Hope this is clearer. I've read that the ws02 server can proxy without changing namespaces, and I'm going
to give it a look at.

Thanks for your help.

-Ben Goodwin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mediation Service

Paul Perez
Administrator
Hello Ben,

I read carefully your post and I am a bit surprised by what you wrote: The documentation I've found says simply: You CANNOT use the same wsdl definition for accepting a message and sending it back out. You MUST change one of the wsdl's namespaces.

I remembered an old document “Easy Intermediation with OpenESB”. I read it again and I think you made a mistake when reading it.

First you have to know that OpenESB is able to use the same WSDL as inbound and outbound WSDL and  play the role of proxy .

 


This said, it is obvious for everyone that you cannot use the same WSDL service for your inbound and outbound WSDLs. Ex: you cannot set up the same HTTP port for your inbound and outbound services.

This is the reason why OpenESB use intensively the concepts of Abstract and Concrete and I guess you missed it.

If you have to play a proxy role with OpenESB and you get and existing WSDL, use its concrete par for you BPEL and define the concrete part in the CASA


 

Now you decided to use WSO2 for your proxy. Good luck but I engage you to think that this product is unable to route messages regarding services definitions. Such as Mule It only uses route defined at the design time.  

So if you want to use a real ESB based on services, I advice you to review your choice.

I hope this is useful

Paul
www.pymma.com The best services on OpenESB
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mediation Service

benj.goodwin@gmail.com
This post has NOT been accepted by the mailing list yet.
Aha. Thank you very much for your reply. So use abstract for incoming and concrete for outgoing and openESB should handle the mediation/proxy?

Great. I'm going to give that a try.

hope it works!

-Ben Goodwin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mediation Service

benj.goodwin@gmail.com
This post has NOT been accepted by the mailing list yet.
In reply to this post by Paul Perez
Thanks.

On second thought I am not quite sure what you are suggesting. Or rather I almost understand what you're saying.

Use the concrete wsdl when I define the process. But how do I, in the second part,
tell it to route the quest to the true server url?

I'm new to this. A few more remarks on your part would clear it all up! :)

Thanks again!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mediation Service

benj.goodwin@gmail.com
This post has NOT been accepted by the mailing list yet.
In reply to this post by Paul Perez
Thank you Paul.

I finally got it based on your picture.

Did the following :

1. used the same wsdl for left and right side in a bpel propject
2. in the middle part did a receve, assign, invoke, assing, reply
3. saved bpel project, created composite app

in composite app it had the service sending message to itself I did :

1. deleted the line that sent soap message to itself
2. dragged a new 'soap' item to the left
3. connected the output of the bpel to the new soap connecter
4. modified the soap connect endpoint to be the true final destination.

Worked Perfectly. I listed on port 8081, and sent the message off to 8080, and now
I can insert things into the process such as log, and timestamp and such.

Thanks A lot!!

-Ben Goodwin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mediation Service

Paul Perez
Administrator
Hello Ben

Congratulation to fix your issue
 
Sorry But I was unable to reply to you today.

I'm happy it works for you. You will discover that OpenESB is a wonderful tool. It could be a bit more complex to comprehend but so much powerful that its competitors such as WSO2 or Mule.

Enjoy it

regards

Paul
www.pymma.com The best services on OpenESB
Loading...