当前位置: 首页 > 知识库问答 >
问题:

如何使用apache camel调用restful webservice

谭琛
2023-03-14

我宁静的服务是

import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import org.hibernate.Query;
import org.hibernate.Session;
import org.json.JSONArray;


@Path("/detailsservice/")
public class DetailsService {
 Dao d=new Dao();

@GET
@Path("/details/{id}/")
@Produces("text/xml")

public Details getDetails(@PathParam("id") String id) {

    Session hs = d.dao();
    Details de = (Details) hs.load(Details.class,new Integer(id));

    return de;
 }
}

我使用 jetty 服务器在网络上公开了此服务

 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;


 public class Server {

 protected Server() throws Exception {
    JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
    sf.setResourceClasses(DetailsService.class);
    System.out.println("two");
    sf.setResourceProvider(DetailsService.class, new SingletonResourceProvider(new  DetailsService()));
    sf.setAddress("http://localhost:9000/");
    sf.create();
}

public static void main(String args[]) throws Exception {
  new Server();
    System.out.println("Server ready...");

    Thread.sleep(5 * 6000 * 1000);
    System.out.println("Server exiting");
    System.exit(0);
}

}

如何使用阿帕奇骆驼调用此服务。请详细解释我,因为我是骆驼的新手。提前致谢

共有1个答案

常波
2023-03-14

您可以使用http4组件:

<route>
  <from uri="http4://localhost:9000/detailsservice/details/1234" />
  <!-- add your processors here -->
  <to uri="..." />
</route>
 类似资料:
  • 我想测试以下骆驼路线。我在网上找到的所有例子都有以文件开头的路由,在我的例子中,我有一个Springbean方法,每隔几分钟就会被调用一次,最后消息被转换并移动到jms以及审计目录。 我对这条路线的写测试毫无头绪。目前我在测试用例中所拥有的是

  • 本文向大家介绍如何使用JAVA调用SHELL,包括了如何使用JAVA调用SHELL的使用技巧和注意事项,需要的朋友参考一下 通过ProcessBuilder进行调度 这种方法比较直观,而且参数的设置也比较方便, 比如我在实践中的代码(我隐藏了部分业务代码): 这里有必要解释一下几个参数: RUNNING_SHELL_FILE:要运行的脚本 SHELL_FILE_DIR:要运行的脚本所在的目录; 当

  • 我知道这是一个基本的问题,但我就是无法解决它。 我下载了示例宁静项目(mvn原型宁静-junit-screenplay-原型)(https://www.youtube.com/watch?v=o-6CcDFn5Ug)在谷歌中搜索“BDD in Action”。 我使用Gradle进行编译: build.gradle 我更新了“SearchByKeywordStory”如下,以包括IEDriver和

  • 我正在尝试向异步路由发送消息,但它不起作用。我刚刚在github上创建了一个项目来模拟这个问题

  • 问题内容: 如何使用链接调用JavaScript代码? 问题答案: 要么 编辑: 上面的回答确实不是一个好的解决方案,自从我最初发布以来,已经学到了很多有关JS的知识.

  • 我正在使用spring rest示例代码。我想从代码中调用URL。我对Rest和Spring不熟悉。这是我的控制器 有模型课 当我调用url时localhost:8080/springrestexample/employees/出现了一些数据。现在我想修改这段代码。如果我调用上面的url,我想将页面重定向到另一个URL,如https://cp.lk/index.php/cbs/sms/send?

  • 问题内容: 我有一个简化的函数,看起来像这样: 基本上,我希望它调用,并返回在回调lambda中给出的响应。但是,上面的代码不起作用,只是立即返回。 只是出于非常骇人的尝试,我尝试了以下无效的方法,但是至少您了解了我要实现的目标: 基本上,实现此目的的“ node.js /事件驱动”良好方式是什么?我希望我的函数等待,直到调用回调,然后返回传递给它的值。 问题答案: 做到这一点的“良好的node.

  • 我从基于apache-camel-spark的rest接口获得一个json数组作为输入。开始时,我想通过apache camels路线分割json-array来处理每个元素。我该怎么做? 我的测试输入json: 对于这个问题,我在stackoverflow上找到了一些间接描述的问题: link 1, link 2, link 3。 根据这些示例,我尝试了以下骆驼路线: 当我这样做时,我总是得到以下