Go to an empty folder and run the following command to generate the maven project sample connector code.
mvn archetype:generate -DarchetypeGroupId=org.wso2.carbon.extension.archetype -DarchetypeArtifactId=org.wso2.carbon.extension.esb.connector-archetype -DarchetypeVersion=2.0.0 -DgroupId=org.wso2.carbon.connector -DartifactId=org.wso2.carbon.connector.sample -Dversion=1.0.0 -DarchetypeRepository=http://maven.wso2.org/nexus/content/repositories/wso2-public/
You will be asked to specify a name for the connector.
Define value for property 'connector_name': : Sample
After asking to confirm the properties type Y and enter to confirm.
Issue the following command to build the connector zip file.
mvn clean install -Dmaven.test.skip=true
Download/Start WSO2 ESB 4.9.0 or ESB 5.0.0 Server.
Login to the management console (default username/password: admin/admin) and upload the created
connector zip file.
(zip file will be at ../org.wso2.carbon.connector.sample/target/sample-connector-1.0.0.zip)
Add the following proxy service. (Home -> Manage -> Services -> Add -> Proxy Service)
Select custom proxy service -> view source -> paste following code -> Save
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="sampleConnectorProxy"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="https,http">
<target>
<inSequence>
<log level="custom">
<property name="**********" value="Inside sampleConnectorProxy **********"/>
</log>
<Sample.sample_template>
<generated_param>Hi</generated_param>
</Sample.sample_template>
</inSequence>
</target>
<description/>
</proxy>
Following will be printed in the server log file
TID: [-1234] [] [2016-10-11 13:33:36,755] INFO {org.wso2.carbon.mediation.dependency.mgt.DependencyTracker} - Proxy service : sampleConnectorProxy was added to the Synapse configuration successfully {org.wso2.carbon.mediation.dependency.mgt.DependencyTracker}
TID: [-1234] [] [2016-10-11 13:33:36,755] INFO {org.apache.synapse.core.axis2.ProxyService} - Building Axis service for Proxy service : sampleConnectorProxy {org.apache.synapse.core.axis2.ProxyService}
TID: [-1234] [] [2016-10-11 13:33:36,757] INFO {org.apache.synapse.core.axis2.ProxyService} - Adding service sampleConnectorProxy to the Axis2 configuration {org.apache.synapse.core.axis2.ProxyService}
TID: [-1234] [] [2016-10-11 13:33:36,758] INFO {org.wso2.carbon.core.deployment.DeploymentInterceptor} - Deploying Axis2 service: sampleConnectorProxy {super-tenant} {org.wso2.carbon.core.deployment.DeploymentInterceptor}
TID: [-1234] [] [2016-10-11 13:33:36,759] INFO {org.apache.synapse.core.axis2.ProxyService} - Successfully created the Axis2 service for Proxy service : sampleConnectorProxy {org.apache.synapse.core.axis2.ProxyService}
Go to services -> Try this service -> Send
Following will be printed in the server log file
TID: [-1234] [] [2016-10-11 13:33:47,314] INFO {org.apache.synapse.mediators.builtin.LogMediator} - ********** = Inside sampleConnectorProxy ********** {org.apache.synapse.mediators.builtin.LogMediator}
TID: [-1234] [] [2016-10-11 13:33:47,316] INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /services/sampleConnectorProxy.sampleConnectorProxyHttpSoap12Endpoint, WSAction: urn:mediate, SOAPAction: urn:mediate, MessageID: urn:uuid:e3b5f31c-37b8-4ca8-b483-9bbc4a6daf04, Direction: request, *******template_param******** = Hi, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator}
TID: [-1234] [] [2016-10-11 13:33:47,316] INFO {org.wso2.carbon.connector.sampleConnector} - sample sample connector received message :Hi {org.wso2.carbon.connector.sampleConnector}
To do modifications to the sample connector and experiment, you can set up your development environment. I'm using Intellij IDEA Community Edition. Refer to the following command.
mvn clean install idea:idea
Learn more about the components inside the connector.
https://docs.wso2.com/display/ESBCONNECTORS/Writing+a+Connector
Creating a third party connector and publishing it in WSO2 store.
https://docs.wso2.com/display/ESBCONNECTORS/Creating+a+Third+Party+Connector+and+Publishing+in+WSO2+Store
No comments:
Post a Comment