Deploying .car file (packaged with .war file) in wso2 server - wso2

I am trying to deploy carbon archieve file (*.car) in wso2 ESB server.For this purpose First I am creating carbon application project in my wso2 dev studio.Then after selecting this project tried to create a web application(war file).But not able to see in the context menu options either to create a new war file or to import an existing war file.
Can somebody clarify me is it possible to deploy .war file (packaged as .car file) in the wso2 ESB server? (After configuring the server role for Application Server in the WSO2 ESB).

WSO2 ESB (Enterprise Service Bus ) is middle-ware product which is used for message routing , mediation and transformation etc. I think you can use WSO2 Application Server for deploying WAR file and use as Web/application server in your back-end.
You can download WSO2AS from http://wso2.com/products/application-server/
Also how to deploy WAR file in WSO2AS is explained here.
http://wso2.com/library/articles/2012/09/develop-deploy-web-applications-using-wso2-developer-studio/

Related

WSo2 - Enterprise Integrator 6.4.0 - SNMP Listening Connector

NewBie here. I am struggling with adding SNMP connector to my ESB project. As per https://docs.wso2.com/display/ESBCONNECTORS/Configuring+SNMP+Inbound+Operations
Step1) I created folders and added files to /home/repository/components/dropins
and home/repository/components/libs
Step2) I then created inbound-endpoint for SNMP in my EI editor.
since my inbound Endpoint editor design layout looked different from wso2 tutorial i mentioned above, I copied Inbound Configuration from tutorial.
Step3) I also went ahead and created sequence as request.xml [took code from tutorial]
When I deployed my Inbound EP and sequence, I am getting
ERROR - GenericEventBasedListener Class org.wso2.carbon.inbound.snmp.SNMPListeningConsumer not found. Please check the required class is added to the classpath.
**java.lang.ClassNotFoundException: org.wso2.carbon.inbound.snmp.SNMPListeningConsumer cannot be found by synapse-core_2.1.7.wso2v80**
What else should I do to get my SNMP files in to classpath? I have restarted my server and SNMP connector is available on the Palette in EI 6.4.0.
The above ClassNotFoundException should be a result of not having the correct classes in the OSGi layer upon server startup due to missing JAR files. The following JAR files should be available in the EI server in the corresponding folders and the server needs to be restarted.
org.apache.synapse.snmp.listen.class-x.x.x.jar - <EI_HOME>/dropins
snmp4j-x.x.x.jar - <EI_HOME>/lib
The dropins directory should contain only the OSGi bundles and the lib directory should have the NON-OSGi bundles. Upon server startup even the NON-OSGi JAR files will be converted to OSGi with a corresponding JAR file in the dropins directory.
The best way to troubleshoot this kind of a ClassNotFoundException is to access the OSGi console of WSO2 carbon-based products. Any unsatisfied constraints of the OSGi bundle can be identified easily with a couple of commands as explained in https://movingaheadblog.blogspot.com/2014/01/how-to-debug-wso2-carbon-products-using.html

Assembling a WebLogic Web Service Manually

I implemented webservice as described in this guide by simply creating "web-services.xml" with the following content (and offcourse i create the 'com.example.WorkFlowEntry' handler class ) :
<web-services>
<handler-chains>
<handler-chain name="enterWorkflowChain">
<handler class-name="com.example.WorkFlowEntry">
<init-params>
<init-param name="workflow-eng-jndi-name"
value="workflow.entry" />
</init-params>
</handler>
</handler-chain>
</handler-chains>
<web-service targetNamespace="http://example.com"
name="myworkflow" uri="myWorkflowService">
<operations xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<operation name="enterWorkflow"
handler-chain="enterWorkflowChain"
invocation-style="one-way" />
</operations>
</web-service>
My issue is that when i deploy the EAR file in weblogic 11g the '' webservice is deployed successfully and i can access the WSDL of the webservice. When i deploy the same EAR in weblogic 12c it got deployed successfully but the WSDL is not accessible i am getting 404!
Manually assembling weblogic web service is valid if you are using the
Webservice 8.1 environment. The last Weblogic version for which this
approach can be used is Weblogic 12.1.1, from Weblogic 12.1.2 release,
the 8.1 WebLogic Web services run time has been removed.
that means using the 'web-services.xml' to build your webservice is valid till weblogic 12.1.1 version. for the newer version you have to upgrade your webservice implementation as mentioned in this link which mainly go through (Upgrading a 10.x WebLogic Web Service (JAX-WS or JAX-RPC) to 12.1.x). But this solution may affect the current running clients.
In my case i cannot ask the client to change their code. So my workaround for this case is to take the current WSDL and generate the webservice manually by ant as described in this link which is describes using wsdlc Ant task to generate the following artifacts:
JWS service endpoint interface (SEI) that implements the Web service described
by the WSDL file.
JWS implementation file that contains a partial (stubbed-out) implementation of
the generated JWS SEI. This file must be customized by the developer.
JAXB data binding artifacts.
Optional Javadocs for the generated JWS SEI.

WSO2 ESB Callout Mediator axis2Configuration

I have a question regarding the WSO2 ESB callout mediator using an individual Axis2 configuration file. I would like to have the individual Axis2 configuration to be deployed using a carbon application. Unfortunately the callout mediator doesn't seem to be able to read the Axis2 configuration from the registry. I'm getting an error that the file axis2_blocking_client_proxy.xml can't be resolved when I deploy the carbon application that contains the mediation with my callout mediator.
The deployment works when I Quote a relative file path that points to the configuration file. Does anybody know if there is a way to tweak carbon application files so that distinct resources will be written to a dedicated directory on the WSO2 ESB Server?
Best regards,
Heiko
AFAIU, your requirement is to deploy an axis2 configuration file using a CAR (carbon application) file. This is not a recommended approach. If you need to deploy a configuration file in to the ESB, you can deploy that during the server creation time. CAR files are used to deploy the actual implementation code rather than the static configuration files.

Simple API Manager HA Setup

I am trying to deploy API Manager in a simple HA configuration. I'd like the entire API Manager setup on server A, and just the API Gateway on server B.
I'm trying to follow the instructions on the following link: http://docs.wso2.org/display/Cluster/Clustering+API+Manager
My question is, how do I remove the store and publisher from server B, as instructed by this sentance: "To set up each API Manager component in separate servers, simply remove the unwanted Jaggery apps from the deployment directory. For example, to set up only API Gateway in a severer, remove the store and publisher Jaggery apps.".
I have SVN Deployment Synchronization set up as per the following link with server A the master: http://docs.wso2.org/display/Cluster/Configuring+Deployment+Synchronizer
If I remove the store and publisher from jaggeryapps on server B, won't the deployment sychronizer just put them back the next time I restart server B?
Those are webapps, you can simply delete the jaggery webapps from AM_HOME\repository\deployment\server\jaggeryapps.
Deployment synchornizer won't put back the webapps again. You have to again deploy both jaggery apps in the same folder

WSO2 Governance Registry fails to deploy uploaded CAR

I created a simple CAR project that contains Proxy Service, WSDL and 2 XSDs. Proxy Service is marked with EnterpriseServiceBus server role, while WSDL and XSDs - with GovernanceRegistry role.
I am able to upload this CAR to ESB and it deploys Proxy Service as expected.
However when I try to upload the same CAR to a standalone GReg, it shows "Succesfully uploaded CAR" message but does not deploy any of the artifacts. I have the following path configured for my artifacts in artifact.xml: "/_system/governance/services/cqproxy".
Please let me know what I am missing.
Thank you!
The default configuration in Governance Registry (G-Reg) has a WSDL handler that deploys all WSDL files into /_system/governance/trunk/wsdls/..... Pls check if your WSDL is deployed into this location.
To deploy the WSDL in the registry path defined in your artifact.xml you will need to disable the handler function. This can be done in repository/conf/registry.xml file of your G-Reg distribution. Comment out the WSDL handler section that commences with
Hope this helps!
Regards,
Gillian