Search code examples
mediatorwso2-enterprise-integrator

How to make a wso2 enterprise integrator custom mediator with dependencies


When I make a custom mediator in wso2 enterprise integrator, I compile it without dependencies (in maven), because if I do with that, then wso2 not run, because that dependencies included, break wso2.

I'd like to make a wso2 mediator whith its own dependencies. How can I do It?


Solution

  • You have to create your mediator as osgi bundle (don't let ei convert it to osgi because then it will bind the wrong classes). I've had a similar issue where I had to use another version of javax.xml.crypto in my mediator. I therefor modified the pom.xml like this and build the mediator.

    <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.4</version>
        <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>smybolicName</Bundle-SymbolicName>
                        <Bundle-Name>bundleName</Bundle-Name>
                        <Import-Package>
                            !javax.xml.crypto.*; version="1.4.2.patched",
                            org.apache.xml.security;version="0.0.0",
                            *
                        </Import-Package>
                    </instructions>
                </configuration>
      </plugin>
    

    Hope that helps.