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

Apache CXF中缺少WebClient类?

宰父智敏
2023-03-14

我目前正在使用Apache CXF版本3.1.11构建JAX-RS客户端。我在网上看了一些简单的例子,似乎WebClient类不见了。

请参阅下面我在网上找到的示例代码。

public static void main(String[] args) throws JsonParseException,
             JsonMappingException, IOException {
    WebClient client = WebClient
            .create("http://localhost:8080/",
                    Collections.singletonList(new JacksonJsonProvider()))
            .path("test").accept(MediaType.APPLICATION_JSON_TYPE);
    Message message = client.get(Message.class);
    System.out.println("Message recieved : " + message);
}

我在代码中的任何地方都找不到WebClient类,我使用以下maven依赖项。

  • cxf rt前端jaxws
  • cxf rt传输http
  • cxf rt传输http jetty

请确认我是否缺少依赖项,或者WebClient是否已从版本3.1.11中删除

共有2个答案

怀齐智
2023-03-14

您需要添加cxf rt前端JAXR,而不是cxf rt前端jaxws

仉英朗
2023-03-14

如果您不确定具体的提供者实现,那么可以使用作为JAX-RS标准部分的类,它们是duoClient和WebTarget。但是对于编组,当然,您可能仍然需要配置特定的依赖项,可以手动配置,也可以由Apache CXF提供。

    Client client = ClientBuilder.newBuilder().build();
    WebTarget target = client
            .target("http://localhost:8080/");
    Response response = target.request().get();
    Message message = client.readEntity(Message.class);
     /*
     // now.. process the message
     for (Message message : message.get...) {.. }
    */
    response.close(); // close connections.

 类似资料:
  • 问题内容: 我目前正在使用Java中的SQL。最近我收到此错误: 当我在连接字符串中添加参数时,会发生这种情况。该错误消息清楚地表明缺少sqljdbc_auth.dll,因此我尝试将dll放在与保留sqljdbc4.jar相同的路径中。 但是,这行不通,所以我想知道如何将这个dll添加到构建路径中?有特殊的方法吗? 问题答案: 好的,我发现了!我并不需要更改java.library.path,而是

  • 问题内容: 在从openni编译演示时,我偶然发现了此错误: 我在Mac上执行此操作。我最好的猜测是该文件不在我的java.library.path中 我现在的问题是:这个猜测正确吗,以及如何在netbeans中添加到java.library.path中。 提前Thx 问题答案: 将此添加到projects属性的VM选项中:-Djava.library.path = / Users / olivi

  • 问题内容: 我使用以下命令在Ubuntu 12.04上安装了一个名为RYU的openflow控制器: 我试图使用ryu-manager运行python文件,如下所示。 然后我尝试使用以下方法安装gevent: 此错误的原因是什么?我试图找到使用,但没有成功。但是的输出是 系统上应该有吗?如果是这样,我应该安装什么来获得它? 问题答案: 应该这样做: 它将安装所有缺少的标题。这对我帮助很大。

  • 当尝试在glassfish 4.0(使用netbeans 7.3.1)中部署一个mavenized entreprise应用程序(包括war和jar项目)时,我遇到了与该问题类似的问题,即jar无效,因为它包含零ejb(这不是真的,因为我的应用程序jar包含4个实体类及其相应的会话bean和本地接口)。由于那篇文章中的解决方案是添加ejb-jar.xml,所以我也添加了我的部署描述符,编写如下:

  • 当我使用创建一个新的虚拟环境时,它会按照预期使用创建虚拟环境,但缺少: 到底是怎么回事?不应该有一个二进制文件吗?

  • 我想制作一个使用JavaFX GUI的应用程序。我在一篇堆栈溢出文章中读到,这些包应该集成在OpenJDK(JavaFX和OpenJDK)中。因此,我设置了OpenJDK13(jdk13下载页面),但找不到需要导入的包。例如:我找不到类。 它位于哪里?我需要下载其他东西吗? 我在我的问题中特别解释了我所期望的,因为我以前在普通JDK中使用JavaFX。由于OpenJDK不是这种情况,我询问如何正确