Содержание WSO2 ESB не допускается в исключением пролога в неисправности

StackOverflow https://stackoverflow.com//questions/25053289

Вопрос

Я разрабатываю прокси-сервис с помощью SOAP WebService, который выполняет преобразование SOAP для отдыха, сообщение отправляется на сервлете, который отвечает со строкой в плоском формате (не XML), просто откатывание символов, таких как

 OIUW|ECHNOWE|RFHQWIUE|FBPQW|EFHAO|IEFH
.

Я вызываю с мылом UI, и я получаю этот ответ на точку зрения, теперь я хотел бы получить его в «Format SOAP», упаковывая сообщение в мыло: тело, я пробовал с XSLT и с помощью посредника долезного капитала., но как только я буду использовать любой из них (даже ничего не делать), я получаю

[2014-07-31 09:30:41,847] ERROR - RelayUtils Error while building Passthrough stream
org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: ParseError at     [row,col]:[1,1]
Message: Content is not allowed in prolog.
.

Что я делаю не так?Как я могу добиться преобразования сообщения без этого исключения?

Спасибо!

Обновление: Мой прокси по запросу Ratha

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
   name="SCL3"
   transports="http"
   startOnLoad="true"
   trace="disable">
<description/>
<target>
  <inSequence>
     <log level="custom">
        <property name="MyTrace" value="--- REQUEST ---"/>
     </log>
     <log level="full"/>
     <property name="REST_URL_POSTFIX"
               value="x4?msg=x4|0003|0000000021|0|0|0400002081020224849"
               scope="axis2"
               type="STRING"/>
     <property name="HTTP_METHOD" value="GET" scope="axis2" type="STRING"/>
     <property name="SOAPAction" scope="default" action="remove"/>
     <header name="Action" scope="default" action="remove"/>
     <send>
        <endpoint>
           <address uri="http://localhost:8087/X4" format="pox"/>
        </endpoint>
     </send>
  </inSequence>
  <outSequence>
     <log level="custom">
        <property name="MyTrace" value="--- RESPONSE ---"/>
     </log>
     <property name="ContentType"
               value="application/soap+xml"
               scope="transport"
               type="STRING"/>
     <property name="messageType"
               value="application/soap+xml"
               scope="transport"
               type="STRING"/>
     <payloadFactory media-type="xml">
        <format>
           <a xmlns="">$1</a>
        </format>
        <args>
           <arg value="my value"/>
        </args>
     </payloadFactory>
     <send/>
  </outSequence>
  </target>
  <publishWSDL uri="file:/C:/wso2/wso2esb-4.8.1/repository/workspaces/myproject/SCL3.wsdl"/>
</proxy>
.

Это было полезно?

Решение

Я видел, что мой сервлет устанавливал тип содержимого в «Text / XML» вместо «текста / простота», я изменил его на «текст / простое», и теперь все работает нормально.

Поэтому я вывод, что сообщение об ошибке

Контент «P>» не допускается в прологе «

на самом деле означает

" Неожиданный тип контента"

Другие советы

Когда у вас есть следующая конфигурация для поверхностей, что ваши журнальные отпечатки?

<outSequence>
     <log level="full">
        <property name="MyTrace" value="--- RESPONSE ---"/>
     </log>


     <send/>
  </outSequence>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top