0

I'm upgrading to Fuse 7.3 and getting new errors in any routes that use CXF.

  Blueprint bundle ruleEngineService/5.0.2 is waiting for namespace
  handlers [http://camel.apache.org/schema/blueprint]

My blueprint.xml contains the correct schema locations, according to all the documentation. eg. link

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.2.0"
xmlns:camel="http://camel.apache.org/schema/blueprint"
xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"

xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> 

I haven't changed much since it was working in Fuse 7.0.0.

Features are installed:

  cxf                                      | 3.2.7.fuse-731004-redhat-00003  | x        | Started     | cxf-3.2.7.fuse-731004-redhat-00003            |

  camel-cxf                                | 2.21.0.fuse-731003-redhat-00003 | x        | Started     | camel-2.21.0.fuse-731003-redhat-00003         |

The things that set this blueprint apart from ones that are resolving are:

<cxf:cxfEndpoint id="myEndpoint" ...>

and

<bean id="myRoute" class="com.application.CxfCamelRoute" />

<camelContext xmlns="http://camel.apache.org/schema/blueprint" id="serviceRoutes">
    <routeBuilder ref="myRoute" />
</camelContext>

where CxfCamelRoute contains a reference to cxf://bean:myEndpoint?serviceClass="..."

Regarding blueprint features:

admin@root()> features:list | grep blueprint
kie-aries-blueprint                      | 7.11.0.Final                    |          | Uninstalled | karaf-features-core-droolsjbpm-7.11.0.Final   | KIE Aries Blueprint
camel-blueprint                          | 2.23.2.fuse-740006              |          | Uninstalled | camel-2.23.2.fuse-740006                      |
camel-blueprint                          | 2.21.0.fuse-731003-redhat-00003 | x        | Started     | camel-2.21.0.fuse-731003-redhat-00003         |
aries-blueprint-spring                   | 4.3.20.RELEASE_1                |          | Uninstalled | spring-legacy-4.2.0.fuse-731003-redhat-00003  |
aries-blueprint                          | 4.2.0.fuse-731003-redhat-00003  | x        | Started     | standard-4.2.0.fuse-731003-redhat-00003       | Aries Blueprint

Could it be a conflict between aries-blueprint and camel-blueprint?

I am running out of ideas.

djb
  • 1,635
  • 3
  • 26
  • 49
  • Why do you have Fuse 7.4 bundles in your server? Since you are using Red Hat Fuse then use the vendors customer portal to get profession support with your upgrade. They are better at helping than SO – Claus Ibsen Jul 04 '19 at 14:17
  • https://developers.redhat.com/products/fuse/help uses stackoverflow. When I do 'features:addurl mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features' it loads them. I need kie for my rule engine. – djb Jul 04 '19 at 14:49

2 Answers2

0

Ok, I seem to have solved it.

I added the repo for KIE (features:addurl mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features) before doing anything else. The order change fixed my issue. It seems as though KIE 7.11.0.Final adds the following repos:

mvn:org.apache.camel.karaf/apache-camel/RELEASE/xml/features
mvn:org.apache.cxf.karaf/apache-cxf/3.2.7.fuse-sb2-740011/xml/features

The namehandler issue was presumably from some conflict between the Fuse 7.3 libraries, and the latest camel/cxf RELEASE versions.

To me, this feels like a bug, to have KIE 7.11.0.Final use RELEASE features. It clearly has bad consequences. But I don't know another way to make feature:install kie accessible to my Karaf.

djb
  • 1,635
  • 3
  • 26
  • 49
0

Never use RELEASE in maven coordinates. You can end up even with Camel 3, when expecting Camel 2. (Never use LATEST either).

If you use Fuse to install KIE features, you should not install mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features

First you have to install bridge features that provide feature dependencies for KIE from Fuse:

karaf@root()> feature:repo-add mvn:org.jboss.fuse.features/rhba-features/7.6.0.fuse-760014/xml/features
Adding feature url mvn:org.jboss.fuse.features/rhba-features/7.6.0.fuse-760014/xml/features

Then you have ton install Fuse variant of Kie features. Not this one, but this one

The description in kie-karaf-features-7.11.0.Final-features-fuse.xml is a bit older than current Fuse, because the feature artifactId has changed:

   In order to install the below features into Fuse 7, target runtime needs to provide these features:
    - drools7-dependencies
    - jbpm7-dependencies
    - optaplanner-dependencies
    - kie7-remote-dependencies
    - db-dependencies
    - hibernate-dependencies
    - hibernate-validator-dependencies
   These features are contained in some repository not referenced explicitly with <repository> (loose coupling).
   Fuse 7 specific repository is 'mvn:org.jboss.fuse.features/brms-features/VERSION/xml/features'

So here's the command:

karaf@root()> feature:repo-add mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features-fuse
Adding feature url mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features-fuse
karaf@root()> feature:list|grep kie
kie                                      │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-core-droolsjbpm-7.11.0.Final             │ KIE API
kie-ci                                   │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-core-droolsjbpm-7.11.0.Final             │ KIE CI
kie-spring                               │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-core-droolsjbpm-7.11.0.Final             │ KIE Spring
kie-aries-blueprint                      │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-core-droolsjbpm-7.11.0.Final             │ KIE Aries Blueprint
kie-camel                                │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-core-droolsjbpm-7.11.0.Final             │
kie-dmn                                  │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-fuse-droolsjbpm-7.11.0.Final             │ Kie DMN
kie-server-client                        │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-fuse-droolsjbpm-7.11.0.Final             │ KIE Server Client
servlet-api-kie                          │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-fuse-droolsjbpm-7.11.0.Final             │
kie-pmml                                 │ 7.11.0.Final                    │          │ Uninstalled │ karaf-features-fuse-droolsjbpm-7.11.0.Final             │
kie7-remote-dependencies                 │ 0.0.0                           │          │ Uninstalled │ fuse-features-dependencies-droolsjbpm-7.6.0.fuse-760014 │
Grzegorz Grzybek
  • 6,152
  • 3
  • 29
  • 42