...
pom.xml
- Contains the required dependencies for the connector core libraries and relevant Synapse libraries, as well as Maven repositories for the specific connector (such as JIRA Maven repositories for a JIRA connector).Code Block language html/xml <dependencies> <dependency> <groupId>org.wso2.carbon</groupId> <artifactId>org.wso2.carbon.mediation.initializer</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.wso2.carbon</groupId> <artifactId>org.wso2.carbon.connector.core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.synapse</groupId> <artifactId>synapse-core</artifactId> </dependency> </dependencies>
assemble-connector.xml
- Contains the instructions to create the connector archive (ZIP) file.
connector.xml
- Defines Defines the connector name, package, and the different categories of operations that will be exposed for the connector. For example, the JIRA connector's connector.xml file looks like this:Code Block language html/xml <?xml version="1.0" encoding="UTF-8"?> <connector> <component name="jira" package="org.wso2.carbon.connectors"> <dependency component="jira_config" /> <dependency component="jira_dashboard"/> <dependency component="jira_filter"/> <dependency component="jira_group"/> <dependency component="jira_issue" /> <dependency component="jira_project" /> <dependency component="jira_search" /> <dependency component="jira_user" /> <description>JIRA 6.0 cloud connector</description> </component> </connector>
For each of the categories you specify, you create a corresponding directory (as shown above in the directory tree), each of which contains a
component.xml
file.
component.xml
- Contains information about the operations in this category. For example, in thejira_filter
directory, thecomponent.xml
file looks like this:Code Block language html/xml <?xml version="1.0" encoding="UTF-8"?> <component name="jira_filter" type="synapse/template"> <subComponents> <component name="createFilter"> <file>createFilter.xml</file> <description>Creates a new filter, and returns newly created filter. Currently sets permissions just using the users default sharing permissions</description> </component> <component name="deleteFilter"> <file>deleteFilter.xml</file> <description>Delete a filter.</description> </component> <component name="getFavouriteFilters"> <file>getFavouriteFilters.xml</file> <description>Returns the favourite filters of the logged-in user.</description> </component> <component name="getFilterById"> <file>getFilterById.xml</file> <description>Returns a filter given an id</description> </component> <component name="updateFilterById"> <file>updateFilterById.xml</file> <description>Updates an existing filter, and returns its new value.</description> </component> </subComponents> </component>
Each operation is specified as a separate sub-component of the operation group.
...