0

我试图将bean添加到蓝图中。

添加了 CXF 命名空间。但是,JBOSS FUSE 显示

13:10:28,339 | INFO  | NAPSHOT-thread-1 | BlueprintContainerImpl           | 14 - org.apache.aries.blueprint.core - 1.0.1.redhat-60024 | Bundle camel-basic is waiting for namespace handlers [http://camel.apache.org/schema/cxf]

所以,我删除了 cxf 并添加了 blueprint 命名空间

http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd

但是,仍然没有用,这个命名空间也显示了同样的错误。

我需要在 pom、blueprint.xml 中更改任何内容吗?需要在 jboss fuse 中安装任何内容吗?

我对此一无所知。

蓝图.xml

<?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: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  
       http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
       http://camel.apache.org/schema/blueprint  http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">


<camelContext id="blueprintContext"
                trace="false"
                xmlns="http://camel.apache.org/schema/blueprint">
        <route id="httpBridge">
        <from uri="jetty:http://localhost:8282/service_sample_proxy/services_proxy/WebserviceClassPort?matchOnUriPrefix=true"/>
        <process ref="downloadLogger"/>
        <to uri="jetty:http://localhost:8080/service_sample/services/WebserviceClassPort?bridgeEndpoint=true&amp;throwExceptionOnFailure=false"/>
        <process ref="downloadLogger"/>
        <to uri="bean:helloBean"/>
    </route>
</camelContext>  

  <cxf:cxfEndpoint id="webserviceProxy"
                     address="http://localhost:8383/service_sample_proxy/services_proxy/WebserviceClassPort"
                     endpointName="tns:WebserviceClassPort"
                     serviceName="tns:WebserviceClassService"
                     wsdlURL="wsdl/webserviceclass.wsdl"
                   xmlns:tns="http://webservice/" />

  <bean id="helloBean" class="org.fusesource.example.HelloBean" />

<bean id="downloadLogger" class="org.fusesource.example.DownloadLogger"/>  

</blueprint>

我没有在任何地方使用过这种豆子。首先我需要解决这个问题,然后我需要在路由中使用它。

我检查

请帮我。

4

3 回答 3

1

将所有需要的功能安装到您的 Fuse 容器中(有关更多信息,请参见此处):

features:addUrl mvn:org.apache.camel.karaf/apache-camel/2.9.0/xml/features
features:install war
features:install cxf
features:install camel-jaxb
features:install camel-blueprint
features:install camel-cxf
于 2014-03-24T20:08:22.370 回答
0

好吧,我完成了上述所有步骤,发现它在蓝图中仍然不起作用。

奇怪的是,一旦路由在 spring xml 中被删除并从蓝图中取出,一切都开始像魔术一样工作。

于 2015-10-30T06:11:12.567 回答
0

尝试使用 camel-cxf 代替 cxf 并使用蓝图

于 2016-12-20T11:39:16.720 回答