DataMapper в Mule не возвращает требуемый вывод

Я новичок в Mule и просто пытаюсь использовать mule для предоставления веб-службы SOAP. Я использовал следующий пример из mule soft http://www.mulesoft.org/documentation/display/current/XML-only+SOAP+Web+Service+Example. Я могу открыть веб-сервис, но получаю сообщение об ошибке, когда компонент DataMapper пытается сопоставить данные из одного запроса в другой. Прикрепленные файлы содержат необходимые конфигурации. Когда я запускаю тестовый xml в картографе, используя вкладку предварительного просмотра в Mule Studio, он возвращает просто: и говорит, что ваш XML недействителен. Ошибка: преждевременный конец файла.

Пожалуйста, предложите.

Ниже приведена конфигурация:

    <?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper" xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd 
http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd 
http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule-data-mapper.xsd 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd ">
    <data-mapper:config name="admitToUpsert" transformationGraphPath="admittoupsert.grf" doc:name="DataMapper"/>
    <flow name="admitPatientService" doc:name="admitPatientService">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8080" doc:name="AdmissionService"/>
        <cxf:proxy-service port="AdmissionPort" namespace="http://www.mule-health.com/SOA/service/admission/1.0" service="AdmissionService" payload="body" doc:name="Proxy Service" wsdlLocation="service/AdmissionService.wsdl"/>
        <logger message="First request: #[message.payload]" level="INFO" doc:name="Logger"/>
        <mulexml:dom-to-xml-transformer doc:name="Object to XML" returnClass="java.lang.String"/>
        <logger message="Before hiting transfomer: #[message.payload]" level="INFO" doc:name="Logger"/>
        <data-mapper:transform config-ref="admitToUpsert" doc:name="DataMapper"/>
        <byte-array-to-string-transformer returnClass="java.lang.String" mimeType="text/plain" doc:name="Byte Array to String"/>
        <logger message="Upsert Request is: #[message]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>

Ниже приведен тестовый xml:

<ns0:admitSubject xmlns:ns0="http://www.mule-health.com/SOA/service/admission/1.0" xmlns:ns1="http://www.mule-health.com/SOA/model/1.0">
     <ns1:Referer>
        <ns1:clientId>7899</ns1:clientId>
     </ns1:Referer>
     <ns1:Referral>
        <ns1:procedure>
           <ns1:code>In-patient</ns1:code>
           <ns1:admission>Elective</ns1:admission>
           <ns1:department>CARDIOLOGY</ns1:department>
        </ns1:procedure>
     </ns1:Referral>
     <ns1:Subject>
        <ns1:nationalId>4657</ns1:nationalId>
        <ns1:firstName>Charles</ns1:firstName>
        <ns1:lastName>Brown</ns1:lastName>
        <ns1:address1>Any Street</ns1:address1>
        <ns1:address2>?</ns1:address2>
        <ns1:address3>?</ns1:address3>
        <ns1:nationality>American</ns1:nationality>
        <ns1:gender>Male</ns1:gender>
        <ns1:dateOfBirth>1987-01-19</ns1:dateOfBirth>
     </ns1:Subject>
  </ns0:admitSubject>

WSDL и XSD можно получить с https://github.com/mulesoft/Pre-sales-hospital-admission/tree/master/src/main/resources/service. Приносим извинения за то, что не вставили его сюда, так как это привело бы к большому количеству данных на странице, но я могу добавить их, если потребуется


person Harish Kumar    schedule 02.07.2013    source источник


Ответы (1)


Я могу это решить. Кажется, что при копировании вставки xml появился какой-то специальный символ. Когда я сгенерировал XML из XSD в студии Mule, он работал нормально.

person Harish Kumar    schedule 02.07.2013