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

从camel cxf组件向客户端发送响应

许胡非
2023-03-14

我是camel的新手,我正在尝试使用camel cxf组件创建一个soap WebService。我从骆驼的样本开始。我已经配置了一个使用cxf组件的路由,并添加了一个处理器来处理请求。我在用于处理服务的bean中收到了请求,但我无法将响应发送回客户机。提前致谢

<route>
<from uri="cxf:bean:orderEndpoint" />
<setExchangePattern pattern="InOut"/>
<to uri="bean:productService" />
</route>
<cxf:cxfEndpoint id="orderEndpoint"
                   address="/"
                   serviceClass="camelws.ws.ProductService"/>
   @Service("productService")
public class ProductServiceImpl {
    public Product getProducts(){
        System.out.println("Inside webservices method....");
        Product product = new Product();
        product.setName("test product");
        product.setPrice("3242");
        return product;
    }

}

Sysout语句被打印在控制台上,但我得到的是一个空正文的soap响应。

以下是我从浏览器访问http://localhost:9080//时的回应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body/>
</soap:Envelope>

共有1个答案

吴均
2023-03-14

您应该实现一个处理器,使用以下内容截取和处理您的消息:

public class MyProcessor implements Processor {
  public void process(Exchange exchange) throws Exception {
    ...
    // Set your response here
    exchange.getOut().setBody(product);
  }
}

然后在路由中引用您的处理器。

 类似资料:
  • 我正在尝试通过 tcp 连接远程执行程序,我想在客户端之间实时共享标准输出和标准输出 我有以下没有错误处理的测试服务器:p我知道,目前我无法执行带有参数的程序,但这很容易处理:) 你看,我尝试与 c.Write() 共享标准输出,但这不起作用。 我认为cmd.Stdin的另一个问题将与Stdout的问题相同。此时我没有实现任何标准函数。 有人能给我一个关于这个函数的提示或示例代码吗?

  • 我有一个java应用程序,它可以作为服务器,使用java监听一些端口。网DatagramSocket类。服务器能够从其他一些java客户端接收数据包。我没有做到的是在服务器上安装一个javascript客户端。我尝试过以WebSocket客户端发送消息 但我在浏览器控制台中发现以下错误: 应用程序。到“ws://localhost:9999/”的js:9 WebSocket连接失败: 我还尝试使用

  • 下面是发出请求的客户端函数,部分由于状态400而被阻止: 下面是一些来自控制台的Chrome材料:

  • 问题内容: 我将实现类似于Facebook通知和此网站的内容(StackOverflow的通知会通知我们是否有人为我们的问题写评论/答案等)。请注意,用户将使用我的应用程序作为网站而不是移动应用程序。 我遇到以下获取结果的答案,但我需要推送结果而不是获取结果。 根据建议,我在实体类中创建了一个简单方法,并向其中添加了@PostPersist,但此方法不起作用,因此基于此答案,我添加了persist

  • 我后来理解对了。实际上,我需要一条来自android客户端的MQTT消息发送到所有其他客户端,所以我想在消息正文中包含publish关键字,这是非常错误的。MQTT本身将接收到的消息发送给所有提供的客户端,如果客户端订阅了该主题的话。

  • 问题内容: 我只能在用户的套接字ID直接存储在io.sockets.on(’connect’)函数中时向用户发出消息。我不知道为什么在登录后尝试存储其套接字ID时为什么不起作用。 加工: 无法运作: JavaScript客户端代码段 解决方案:感谢@alessioalex, 我不得不从登录页面中删除对socket.io的引用,并将以下内容添加到io.sockets.on(’connection’)