org.apache.cxf.transport.http.HTTPException:HTTP响应'415

时间:2013-12-07 03:55:16

标签: http cxf apache-camel

我正在尝试调用在我的机器外部运行的外部Web服务,并且我使用camel框架编写了路由逻辑

路由代码:

from("direct:test1").process(new Processor() {                                       
    @Override
    public void process(Exchange arg0) throws Exception {
        arg0.getOut().setBody("testmessage");
    }
}).to("cxf://http://localhost:8085/FinEdge-General/xrmServices/2011/Organization.svc?serviceClass=com.hcl.flsl.integration.msdn.crmwcf.IOrganizationService&defaultOperationName=Retrieve")  

但是当我执行程序时,我收到以下错误。

错误

  

org.apache.cxf.transport.http.HTTPException:HTTP响应'415:   无法处理消息,因为内容类型为'text / xml;   charset = UTF-8'不是预期的类型'application / soap + xml;   字符集= UTF-8' 。”与...沟通时   \\ HTTP://本地主机:端口/ FinEdge总/ xrmServices / 2011 / Organization.svc

注意:Web服务是在.NET(WCF)和SOAP 1.2中开发的。

1 个答案:

答案 0 :(得分:2)

看起来CXF正在使用SOAP 1.1发送消息,您需要通过应用WSDL文件让它切换到SOAP 1.2,因为您使用的serviceClass没有该信息。

顺便说一句,您可以找到SOAP 1.1消息和SOAP 1.2消息here之间的区别。