得到不需要的字符作为响应

时间:2019-01-11 19:59:05

标签: apache-camel

我正在使用骆驼集成两个系统:

App-A ---- Rest / JSON ----> Camel-App ---- SOAP / XML ---> App-B。

除JSON响应外,其他所有文件均正常工作,面临以下问题: 1.它会产生对不需要的字符的响应,这些字符不是身体的一部分,而是出现在身体的前后,请参见下文

HTTP / 1.1 200确定 内容类型:text / xml; charset = utf-8 内容处置:内联;文件名= f.txt 过期:0 传输编码:分块 服务器:码头(9.4.12.v20180830)

3E0 {“ schemas”:[“ urn:ietf:params:scim:schemas:core:2.0:User”,.........} 0

  1. 您可以看到,在普通请求/响应服务中,它在主体和content-disposition标头中添加了3E0和0个字符。

  2. 代码如下:

 <bean id="jetty" class="org.apache.camel.component.jetty9.JettyHttpComponent9">
          	<property name="sslContextParameters" ref="iamSSLContext"/>
    </bean>
    <camel:restConfiguration component="jetty" contextPath="/" port="8888" scheme="http"/>
    
    <camel:rest path="/">
    	<camel:post uri="/" consumes="application/json" produces="application/json">
    		<camel:to uri="direct:createUser"/>
    	</camel:post>
    </camel:rest>
    
    <camel:route id="createUserRouter">
    	<camel:from uri="direct:createUser"/>
        <camel:convertBodyTo type="java.lang.String"/>
        <camel:to uri="velocity:template/rest_request_template.vm" />
        <camel:to uri="cxf:bean:soapEndpoint" />
        <camel:setHeader headerName="responsePayload">
    		<camel:xpath resultType="String">//m:executeResponse/m:responsePayload/text()</camel:xpath>
    	</camel:setHeader>
    </camel:route>
    
    <camel:to uri="velocity:template/rest_response_template.vm" />

  1. rest_response_template.vm包含一个变量,就是这样:

$ {headers.responsePayload}

请帮助或指导我们了解我在做什么错误。

谢谢, Abhi S

0 个答案:

没有答案