Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Deploy Talend ESB Web Service in Tomcat

Hello,
I am trying to deploy a Web Service I created with Talend ESB on Tomcat, but I do not seem to find a way to do it.
I have been searching for some online information and I have had a look at the examples provided with the Talend distribution, but it uses other types of examples, not Talend generated classes.
Could anyone point me in the right way to achieve this? I would like to be able to reuse the code generated from Talend.
Please help!!
Many thanks,
Julipool

Labels (2)
21 Replies
Anonymous
Not applicable
Author

Hi,
What's your job design? Could you please export your job as .war type ans then copy the War folder and paste it in the Tomcat webapp directory? See the related forum How+to+export+Jobs with scenario.
Best regards
Sabrina
Anonymous
Not applicable
Author

Hi Sabrina,
Thanks very much for you reply, but I'm afraid that is not what I am trying to do, it describes how to deploy "any job" to be run as a Web Service and what I want to do is to deploy a "Service" in Tomcat.
I am designing a Service within Talend ESB: I create a service from an existing WSDL and assigning the invoke method a new job (myws); the job is mapping the input with some transformations and sending a response back to the Web Service requester. (See pictures attached).
I can export this service as a .kar file to be deployed in Talend Runtime ESBE, and it all works fine; I can invoke the Web Service and I get the response I expect.
What I would like to do now is to be able to deploy this service in Tomcat.
Do you know if this is possible? If so, could you please give me some guidance?
Many thanks and kind regards,
Julipool
0683p000009MAEW.jpg 0683p000009MAIg.jpg
Anonymous
Not applicable
Author

Hi,
If so, I think you are looking for How+to+deploy+a+data+service.
Best regards
Sabrina
Anonymous
Not applicable
Author

Hi Sabrina,
Thanks for your reply, but this is not what I am looking for. I already did this, because my service is successfully running within the Talend Runtime ESBE.
What I would like to do now is to deploy my service in Tomcat, instead of the Talend Runtime ESBE.
Any thoughts?
Many thanks and kind regards,
Julipool
Anonymous
Not applicable
Author

Hi Julipool,
A .kar is intended to run in Talend Runtime (aka Apache Karaf). Kar stands for "Karaf Archive".
Regards,
Cyril.
Anonymous
Not applicable
Author

Hi Cyril,
Thanks for your response.
I know that a .kar is intended to be run in Talend Runtime, and I am getting this to work fine with the Karaf container provided by the Talend distribution.
What I would like is to be able to deploy the service I am designing with Talend ESB in Tomcat. Is there any way in Talend to export a Service so that it is deployable directly in Tomcat? Something similar to the deployment of the .kar in Talend Runtime, but with a .war in Tomcat?
Many thanks for your cooperation.
Kind regards,
Julipool
Anonymous
Not applicable
Author

Hi,
you can export your service to Axis WebService (WAR), for example:
Job Designs -> DemoService, Right click menu -> Export Job, select the export type: Axis WebService (WAR), you will got an DemoService.war which can be deployed into Tomcat container.
after put this war into webapps, you will see a log like this:
2013-06-26 09:46:51.876:INFO 0683p000009MA5A.pngejs.AbstractConnector 0683p000009M9p6.pngtarted SelectChannelConnect
or@localhost:8090
web service published
HTH
Xilai
Anonymous
Not applicable
Author

Hello Xilai,
Thanks for your suggestion, I tried it but unfortunately it does not work as I would like.
Deploying the job as you say means that I am deploying the Talend job that wraps my service, and the wsdl of the service that is deployed is as shown in the attached image (TALEND WSDL).
If I wanted to make my service available through Tomcat I have to invoke the job through the browser with the following url:
http://localhost:8080/Demoservice_0_1/services/Demoservice?method=runJob&args=null
But because my service is always listening, it never returns a response to that call, and this also means that every time I wanted to deploy my service I would have to invoke it that way.
I would like to be able to deploy my service directly in Tomcat, so my wsdl is the one that my service defines, shown in the attached image (DESIRED WSDL) and I don't want to invoke it through the Talend wrapper service.
Is this possible? Any ideas?
Many thanks and kind regards,
Julipool
0683p000009MAIl.jpg 0683p000009M9e9.jpg
Anonymous
Not applicable
Author

No, the service has been published to the endpoint which defined in the wsdl wsdl 0683p000009MAB6.pngort, for example, DemoService has been published to http://localhost:8090/services/DemoService?wsdl, not the http://localhost:8080/xxx ...