0

我正在使用 Apache Camel 并尝试使用 Camel-Olingo2 组件读取 Odata,但每次都出现“serviceUri”错误。我已经尝试过文档实现,但找不到任何成功。请让我知道使用 camel-olingo2 组件与 odata 连接的方式。

代码:

<bean id="parambean" class="org.springframework.beans.factory.config.MapFactoryBean">
  <property name="sourceMap">
   <map  key-type="java.lang.String" value-type="java.lang.String">
     <entry key="serviceUri" value="http://services.odata.org/OData/OData.svc"/>
   </map>
  </property> 
 </bean> 

 <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
    <route>
         <from uri="olingo2://read/Persons?queryParams=#parambean" />
         <to uri="file:D:\Camel\Output" />  
    </route> 
</camelContext>

例外:

线程“主”org.apache.camel.FailedToCreateRouteException 中的异常:无法在以下位置创建路由 route1:>>> To[olingo2://read/services.odata.org/OData/OData.svc/Persons‌​] <<<在路由中:Route(route1)[[From[direct:...]] -> [To[olingo2://read/http:... 因为无法解析端点:olingo2://read/services.odata .org/OData/OData.svc/Persons 由于:org.apache.camel.model.RouteDefinition.addRoutes(RouteDefini‌​tion.java:1072) 处的 serviceUri

4

1 回答 1

0

您需要将 serviceUri 添加到 olingo 组件端点的末尾,如下所示:

<from uri="olingo2://read/Persons?serviceUri=http://services.odata.org/OData/OData.svc" />
     <to uri="file:D:\Ca...

您是否有理由要创建地图并将其引用用于组件的属性,而不仅仅是将其添加到端点的末尾?

于 2016-08-24T17:36:50.660 回答