In our tutorial Step by Step: Developing SOAP Web Service in TIBCO we created a service and tested it using Tibco designer Tester and SOAP UI. In this post, I will share steps for creating an EAR of a web service and then deploying it in TIBCO Administrator.
Creating EAR of a Web Service in Tibco Designer
Once we have validated our project successfully without any errors in TIBCO Designer, we are good to go for creation of EAR (Enterprise Archive) file for deployment on a TIBCO server using administrator.
To Create EAR in Tibco designer in your deployment folder, follow the steps as shown in the picture below:
It will create EAR as shown below:
Now we need to add our service in EAR. For adding any processes or services in EAR, we first need to add Process Archive in our EAR. This is done by following the below steps:
Now we need to add our Service to process archive. This can be done by going to Process Archive and then using the binocular to add new processes or services as shown below:
When we add service to process archive, all relevant processes (processes which are part of our service) are automatically added.
Our web service also uses many XML Schema files, JDBC and HTTP connections etc. All these dependencies are handled by TIBCO designer itself. In Shared Archive dependencies, these resources get added automatically as shown in below diagram:
Now we are sure that all our required resources (processes, services, schemas, connections) are correctly added in the archive so we can go for building the archive. This can be done using Build Archive button at the bottom:
On successful build, archive will be stored in the path specified in the File Location above.
Deploying EAR in Tibco Administrator
After successful creation of EAR in Tibco designer, you need to move towards TIBCO Administrator for its deployment. We assume that you have already created a domain using domain utility and your Tibco administrator is all set for deployment of a new EAR.
Go to Tibco Administrator and navigate towards All Applications in the left side menu under Application Management hierarchy. Now choose New Application from the top menu as shown below:
You will be directed to a new page where you will be asked to browse for your EAR file which you want to deploy.
After selecting required EAR, press OK button. You will be directed to configuration page where you can do all necessary configurations for your archive.
Since our EAR consists of a web service so we would like to get WSDL from a deployed service. For this, we need to do some configurations for Process Archive.par in its Advanced Tab.
- Specify IP address in bw.platform.services.retreiveresources.Hostname Value of this configuration field should be IP address of machine where service is deployed.
- Specify Port number in bw.platform.services.retreiveresources.Httpport You can specify any available port in this field.
- Set value of bw.platform.services.retreiveresources.Enabled to true.
Configuration changes to enable as shown below:
After making above configuration changes, we are done with configuration changes as we don’t have any other configurations required for our service. Press Save button after these changes. Now we are all set to deploy our EAR.
Press Deploy button. Service will get deployed and all its configurations will be shown as Synchronized:
Now we need to check the status of service instance. It takes some time for service instance to get started depending on your Server specifications and load. Status of Service Instance of deployed EAR can be checked as shown below:
Getting Concrete WSDL URL from a deployed Service in Tibco Administrator
Now our EAR is deployed successfully, synchronized correctly and its service instance running fine. We can now get its WSDL from our web browser as well. IP address and Port that we specified for bw.platform.services.retreiveresources.Hostname and bw.platform.services.retreiveresources.Httpport in the configuration are used to get the WSDL URL.
For example, if IP address was set as 10.4.4.44 and Port was set as 8087 in configuration, we can get URL of Concrete WSDL by going to following link on our browser:
http://10.4.4.44:8087/inspection.wsil
We are now done with our EAR deployment. You can give above highlighted WSDL url to any client for consuming this deployed web service.
Just for tips :
– never using others browser except Internet Explorer.. may be you will get different response that should come when using IE.
I tried many times using other than IE with frustate result,. After change using IE all result was fine.
🙂
When I hit http://IP:PORT/inspection.wsil, I don’t get the following url of the concret wsdl. I get the abstract tag with the following content in “Generated by TIBCO Business Works”. but I don’t the get “description” tag.
For the previous problem I added the xsd’s files manually in the .ear archive and the it works fine.
for this new problem, any help?
Pingback: TIBCO Domain Utility: How to Create a new Administrator Domain--Step By Step Tutorial | Tibco Guide
Dear Ajmal,
Thanks for the wonderful article.
I have a issue.
I am not able to get the concreate WSDL through the Administrator from the browser by : http://:/inspection.wsil
I receive the 404:Page not found error
Can you let me know what is the pblm.
My service is up and running.
Dear Komal,
If your service is up and running you should be able to access the concrete WSDL by typing the following URL:
http://IPAddress:Port/inspection.wsil
(IP address should be same as the one you specify bw.platform.services.retrieveresource.hostname
Port should be same as the one specified for bw.platform.services.retrieveresource.httpport
)
Also make sure that bw.platform.services.retrieveresource.enabled is set to TRUE
http:///inspection.wsil
Hi Ajmal ,
I have deployed my service instance in Tibco Admin but after click on deploy option service instance is in Starting Up Mode and hence service is running. Other service instances deployed by other people on the same Tibco Admin Machine ist running properly.
Please help me with the issue As soon as possible.
regards,
Shivendra
correcting the typo mistake. My Service instance is not running.
HI Shivendra,
Restart the Hawk and Admin, then again try to start the service in Tibco administrator, hope so issue will solve.
can i set the port to get wsdl the same? Examples i have two services with same port 8010 to get wsdl of both? Can i do it?
Dear,
Yes you can do that. In that case, when you will go to http://IP:Port/Inspection.wsil, you will get two WSDL URLs there.
hi Ajmal
this is umamahesh again
your tutorials are very helpful,thanks alot for that.
now i am requesting you to post a tutorial on script deployment
which is very confusing to me.
thank you
While clicking on build archive, I get below error in designer 5.5 for a code built in 5.5:
java.lang.IllegalArgumentException: Duplicate NameValuePair detected when trying to add NameValuePair MessageEncoding to NameValuePairs DD Global Variables
at com.tibco.archive.helpers.NameValuePairs.addNameValuePair(NameValuePairs.java:150)
at com.tibco.ae.tools.palettes.archivebuilderpalette.EnterpriseArchiveBuilderResource.buildArchive(EnterpriseArchiveBuilderResource.java:544)
at com.tibco.ae.tools.palettes.archivebuilderpalette.EnterpriseArchiveBuilderResource.buttonPressed(EnterpriseArchiveBuilderResource.java:745)
at com.tibco.ae.designerapi.forms.ConfigForm.actionPerformed(ConfigForm.java:1326)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
But when I do in designer 5.6 for a code built in designer 5.6… it is creating successfully.
Please tell me if any file is missing for designer 5.5?
Thanks
Hello any help for the above issue..i’m facing the same issue..i have designer 5.5, any help to avoid this error.
Hi Ajmal,
plz post step by step procedure of deploying ear in admin through appmanage utility.
Thanks,
Reddy
Dear Reddy,
Thanks for suggesting the topic. I will post a tutorial on the same very soon.
Regards
Ajmal
Pingback: TIBCO AppManage Utility EAR Deployment Step By Step Tutorial | TutorialsPedia
Your tutorials are very helpful,thanks a lot !!!
Hi,
Thanks for the tutorial. Could you please give us some more information about the Shared Archive ?
I’ve encountered this issue where some .xsd files are missing in a deployed project, eventhough they seem to appear in the Dependencies tab of the Shared Archive component.
This problem appears when I use the buildear utility. When I build an .ear in the Designer however, I don’t have this issue…
My questions would be : is it required to add xsd files in the Resource tab of the Shared Archive ?
Is there any difference when I build a ear file through the buildear or the Designer ?
Thank you.
if i deploy continuos, what will happen to my Tibco server. Will My system bee at fault ?
HI Thanh,
Whenever you deploy new or change with existing code then it will create the service, each service will consume the memory, for example, initial hap size, max heap size, so it will impact on overall space of your system, one note here, if you try to deploy same code again and again with any change then tibco administrator will give you the error , like “There are no change with existing code”. hope this will clear your doubts.
xsd’s schemas are not added automatically in my .ear file.
Please Can somebody tell me why?
Hi,
I have deployed the webservices using the above tutorial but its shows an error when i am trying to get the WSDL.
URL – http://192.xxx.xx.xxx:8010/inspection.wsil
Error : Generated by TIBCO Business Works The service Service/ServiceNewPort.serviceagent doesn’t have any description
Hi Abbas,
Thanks for this detailed tutorial.
We are trying to expose service over SSL and trying to get WSDL from the deployed service using Https.
I have tried enabling the below parameters in admin.
bw.platform.services.retreiveresources.isSecure = true
bw.platform.services.retreiveresources.identity = /ESB/tibco/tra/domain//application//resource/.id
But it is unable to initialize the service agent and gave the below error.
Activation error with plugin agent [builtinResource.serviceagent]Activation error with plugin agent [builtinResource.serviceagent]
caused by: com.tibco.plugin.share.http.HttpInitServerIOException at com.tibco.bw.service.binding.bwhttp.tomcat.TomcatServer.getIdentity(Unknown Source) at com.tibco.bw.service.binding.bwhttp.tomcat.TomcatServer.addConnector(Unknown Source) at com.tibco.bw.service.binding.bwhttp.tomcat.TomcatServer.a(Unknown Source) at com.tibco.bw.service.binding.bwhttp.tomcat.TomcatServer.startServer(Unknown Source)
Could you please help understanding the way to use https to get WSDL and significance of the parameters.
Thanks,
RCB.
Pingback: TIBCO administrator FT Tutorial : Fault Tolerant Deployment
Hi Ajmal,
I have just recently created my domain and tried to deploy a workflow code with BWC. The BW was successfully deployed but I’m encountering issues with my TIBCOsta_ps.war, TIBCOpps.war, TIBCOpas_pps.war, WorkflowArchive.war – Binding failed to deploy or Binding plugin not called. The only thing I can see in my logs is com.tibco.ps.deployment.validation.ErrorConditionValidationRuntimeException and AppDomainConnectionConfigurationErrorCondition.java. This was deployed, viaTIBCO Admin. Do you have any tips or leads that I can check with my ongoing issue?