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

Apache Camel-接收具有空正文的SOAP响应

宋成天
2023-03-14

使用Apache camel 2.15.3创建了SOAP服务,一切正常,即使响应SOAP正文也是有效的。

骆驼2.15.3依赖于cxf 3.0.6

但是当我将cxf-core更新到3.1.3时,一切都很好,除了SOAP响应体是空的。

没有错误日志,服务器启动正常。

我是否缺少一些依赖项?

POM。xml

<properties>
        <log4j.version>1.2.17</log4j.version>
        <camel.version>2.15.3</camel.version>
        <spring.version>4.1.6.RELEASE</spring.version>
        <cxf.version>3.1.3</cxf.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>

        </dependency>
        <!-- Camel dependencies -->
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
            <version>${camel.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-cxf</artifactId>
            <version>${camel.version}</version>
        </dependency>

        <!-- Spring dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- CXF -->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-core</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-rs-service-description</artifactId>
            <version>${cxf.version}</version>
        </dependency>

共有2个答案

季稳
2023-03-14

如果我们使用的是camel cxf 2.15.3,那么我们必须使用cxf rt绑定soap、cxf rt功能集群、cxf rt前端JAXR、cxf rt前端jaxws、cxf rt安全oauth(3.0.6)。所有这些cxf rt-*JAR依赖于cxf core 3.0.6。这就是为什么最好将apache camel 2.15.3与cxf core 3.0.6配合使用。如果您想使用cxf core到3.1.3,请使用camel 2.16.0(最新版本),它应该可以工作,您可以尝试一下。仅供参考:apache camel 2.16.0支持cxf核心到3.1.2

范承志
2023-03-14

我遇到了类似的问题,但由于Camel 2.16. x中的错误,我必须使用2.15. x。我还必须使用cxf 3.1.1,因为我必须使用CXF中的TLS增强。

在我的例子中,我将我的cxf maven依赖项(cxf-rt-xxxx)移动到pom文件中的camel依赖项之前。此外,由于camel-cxf将引入cxf-core,因此无需明确指定它。这种安排对我有用(运行camel 2.15.4和cxf 3.1.3)。

 类似资料:
  • 我正在使用apache camel cxf开发一个Web服务(肥皂),我遇到了这个错误。 Java . lang . illegalargumentexception:Part { http://blue print . camel . ngt . TN/}返回的类型应为[ltn . ngt . camel . blue print . WB _ subscriptions;,而不是org . A

  • 问题内容: 我有一个AngularJSWeb应用程序,看起来它正确地将JSON发送到Tomcat服务器,但是服务器接收到空值。这个问题没有帮助,因为我的属性名称已经是小写字母,这个问题也没有帮助,因为我已经有了符号。 编辑:正如评论中指出的那样,我实际上没有这种表示法。 我读错了。 这是有问题的服务器方法: 这是它希望接收的Kind对象: 这是发出请求的方法: 这是发送到服务器的JSON: 注意:

  • 我有一个AngularJS Web应用程序,它看起来像是正确地将JSON发送到Tomcat服务器,但是服务器接收空值。这个问题没有帮助,因为我的属性名称已经是小写的,这个问题没有帮助,因为我已经得到了符号。编辑:正如评论中指出的,我实际上没有这个符号。我看错了。 下面是有问题的服务器方法: 以下是它期望接收的Kind对象: 以下是发出请求的方法: 这是发送到服务器的JSON: 注意:我假设我可以不

  • 我正在编写一个SPRING控制器来管理一些实体,在尝试编辑现有对象时遇到了问题。 以下是生成问题的get/post映射: 类别类别如下: 当我试图编辑一个对象时,正如您在日志底部看到的,它直接来自DB,但当它来自时,字段为。 ajax调用是这样完成的: 我已经读过了,但是如果我把放到 即使我把属性。 我知道我可以通过另一次调用DB来获得旧数据,但我希望有一种最干净的方法 解决方案:我已经解决了编辑

  • 我正在发出一个Soap请求,并接收作为数组返回的响应: 给定SOAPURL 和方法日志 def responseArray=/XML所需代码的路径/ def result=call read(“OtherRequest.Feature”)responseArray 另一个request.feature文件如下所示: 然而,我得到了这个错误: getNewMessageList.feature:27

  • 问题内容: 我在HTML文档中有几个链接。 我可以在部分插入HTML格式的正文吗? 请注意,在iOS中(2016),添加和标记以简单的斜体,粗体格式非常好。 问题答案: 如您在RFC 6068中所看到的,这是完全不可能的: 特殊的“正文”表示关联的是邮件的正文。“正文”字段值旨在包含消息的第一个文本/纯文本正文部分的内容。“正文”伪头字段主要用于生成用于自动处理的短消息(例如,用于邮件列表的“订阅