Получение нежелательных символов в ответе - PullRequest
0 голосов
/ 11 января 2019

Я использую Camel для интеграции двух систем:

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

Все рабочие файлы, кроме ответа JSON, сталкиваются с проблемами ниже: 1. он генерирует ответ с нежелательными символами, где символы не являются частью тела, но появляются до и после тела, см. Ниже

HTTP / 1.1 200 OK Тип содержимого: text / xml; charset = utf-8 Расположение содержимого: встроенное; filename = f.txt Истекает: 0 Передача-кодировка: чанки Сервер: Jetty (9.4.12.v20180830)

3E0 { "схемы": [ "Урна: IETF: PARAMS: SCIM: Схемы: Ядро: 2.0: User", .........} 0

  1. Как вы можете видеть, он добавляет 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...