I am having problems deploying artifacts in a Fabric that need to be fetched when behind a network proxy. It seems that when running a standalone (non-Fabric) ESB installation, the pax-url proxySupport settings work fine, but in a Fabric, the root server ignores them and therefore fails to provision the requested features.
I set up a debugging proxy (
http://www.charlesproxy.com) on my machine to see whether I could set up Fabric proxying. I started with a completely new fuseesb installation - ensuring that everything in my $FUSE_HOME/etc had reverted back to default values.
I placed a very simple settings.xml in my ~/.m2 directory (attached).
I uncommented the line
org.ops4j.pax.url.mvn.proxySupport=true
in $FUSE_HOME/etc/org.ops4j.pax.url.mvn.cfg
I deleted camel-mybatis from ~/.m2/repository/org/apache/camel
I started the standalone ESB, installed the camel-mybatis feature and confirmed through the Proxy UI that requests did go through it:
http://repo1.maven.org/maven2/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 404 GET
repo1.maven.org /maven2/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 244 ms 564 bytes Complete
http://repo.fusesource.com/nexus/content/repositories/releases/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 200 GET
repo.fusesource.com /nexus/content/repositories/releases/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 665 ms 24.26 KB Complete
http://repo1.maven.org/maven2/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 404 GET
repo1.maven.org /maven2/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 36 ms 655 bytes Complete
http://repo.fusesource.com/nexus/content/repositories/releases/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 200 GET
repo.fusesource.com /nexus/content/repositories/releases/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jar 501 ms 24.26 KB Complete
So this mechanism works for a standalone installation.
I then tried the same thing through a Fabric installation. I shut down the standalone install and issued the following commands:
$ rm -rf data instances
$ bin/fusesb
karaf@root> fabric:create
I then restarted the ESB just to be sure everything was correct, and started seeing bundles being requested through the proxy.
I created a child container from root and assigned it the default profile.
I then created a profile whose parent wass fuse-esb-medium and installs the camel-mybatis feature. I applied the profile to the child container.
I can see a request in the proxy to the root container from the child, but none appears from the root container to the outside world:
http://Atari800.local:8181/maven/download/org/apache/camel/camel-mybatis/2.10.0.fuse-71-047/camel-mybatis-2.10.0.fuse-71-047.jarIt seems that the child has honoured the maven proxy settings to get to the root container, but root has ignored it and gone directly. Therefore behind a network proxy, it fails to provision the feature.
Is this a known issue, and if so, is there some way to get around this?
Thanks in advance,
Jakub