我正在制定一项要求,我们希望使用Mule ESB将Oracle数据公开为ODATA API。
我指的是下面使用Apache Olingo库的this 文章。该实现解决了解决方案的大部分问题。
我想知道如何使用http端点连接器在Mule ESB中运行此应用程序,而不是在Tomcat服务器上运行。
由于我是初学者,因此我不太了解如何在mule流中创建对web.xml的引用以将请求传递给servlet。
非常感谢任何帮助!
谢谢!
答案 0 :(得分:0)
您的问题的简短回答是,您无法真正引用web.xml或在骡服务器中嵌入标准Web应用程序,即使有某种方法,我也肯定不会鼓励它。
Mule可以使用ODATA connector来消费ODATA api,但你无法真正创建'一个以简单自动化的方式。
在您的情况下,最好的方法是使用您在专用tomact上链接的java库创建API,并在内部公开ODATA APi,然后在简单的传递槽中通过mule代理它。
现在,ODATA只是一个选择而不是约束,您可以重新考虑这一点,并使用RAML将您的Oracle数据公开为restFull API。当然,请记住,mule不应该执行任何业务逻辑,因此您不应该执行直接查询,但可以调用包装业务逻辑的存储过程/函数。
希望这有帮助
答案 1 :(得分:0)
MuleSoft有一个使用APIKit从数据库生成OData API的示例。您可以在https://github.com/mulesoft/apikit-odata-example看到示例。
此示例使用json数据模型和APIKit v2.0生成流和RAML文件。该示例已将数据库连接器配置为对MySQL数据库进行查询。