WSO2 Удалить пустые места из начала текстового файла - PullRequest
0 голосов
/ 17 июня 2020
• 1000 затем записывает в файл .txt. Все работает ОТЛИЧНО, за исключением того, что начало каждой строки в моем файле .txt предварено несколькими пробелами. Итак, файл выглядит так:
     value value value value
     value value value value

, а не так:

value value value value
value value value value

часть моего генератора smooks, заполняющая каждый элемент, выглядит так:

<ftl:freemarker applyOnElement="Employee180">
     <ftl:template>
          <!--${.vars["Employee180"].RecordType?right_pad(3)}${.vars["Employee180"].BlankSpace1?right_pad(1)}${.vars["Employee180"].ContractNumber?right_pad(6)}${.vars["Employee180"].BlankSpace2?right_pad(1)}${.vars["Employee180"].EmployeeIDNumber?right_pad(9)?replace("-","")}${.vars["Employee180"].BlankSpace3?right_pad(1)}${.vars["Employee180"].EmployeeName?right_pad(24)}${.vars["Employee180"].DateOfBirth?right_pad(10)}${.vars["Employee180"].BlankSpace4?right_pad(1)}${.vars["Employee180"].DateOfEmployment?right_pad(10)}${.vars["Employee180"].BlankSpace5?right_pad(1)}${.vars["Employee180"].Sex?right_pad(1)}${.vars["Employee180"].BlankSpace6?right_pad(8)}${.vars["Employee180"].SocialSecurityNumber?right_pad(9)}${.vars["Employee180"].BlankSpace7?right_pad(133)}${.vars["Employee180"].BenefitEventDate?right_pad(10)}${.vars["Employee180"].BlankSpace8?right_pad(5)}${.vars["Employee180"].BenefitEventReason?right_pad(4)}${.vars["Employee180"].BlankSpace9?right_pad(3)}${'\r\n'}-->
     </ftl:template>
</ftl:freemarker>

Я не уверен, что это то, что делает начальные пробелы, или это фактическое создание .txt. файл. Для этого я делаю следующее:

<property expression="fn:concat(get-property('ContractNumber'), get-property('DATE_FOR_FILE'), '.txt')" name="transport.vfs.ReplyFileName" scope="transport" type="STRING" xmlns:ns2="http://org.apache.synapse/xsd"/>
    <property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
    <property name="messageType" scope="axis2" type="STRING" value="text/plain"/>
    <send>
        <endpoint name="FileEpr">
            <address uri="vfs:file:///O:/myTestFolder/WSO2 Testing?transport.vfs.Append=true">
                <suspendOnFailure>
                    <initialDuration>-1</initialDuration>
                    <progressionFactor>1</progressionFactor>
                </suspendOnFailure>
                <markForSuspension>
                    <retriesBeforeSuspension>0</retriesBeforeSuspension>
                </markForSuspension>
            </address>
        </endpoint>
    </send>

Есть идеи, что может помещать эти начальные пробелы в мой файл? Или даже какие-то удобные термины, чтобы начать гуглить? Пока что в моих поисках не повезло.

1 Ответ

0 голосов
/ 17 июня 2020

Попробуйте удалить пробелы из вашего шаблона Freemarker:

<ftl:freemarker applyOnElement="Employee180">
     <ftl:template>
<!--${.vars["Employee180"].RecordType?right_pad(3)}${.vars["Employee180"].BlankSpace1?right_pad(1)}${.vars["Employee180"].ContractNumber?right_pad(6)}${.vars["Employee180"].BlankSpace2?right_pad(1)}${.vars["Employee180"].EmployeeIDNumber?right_pad(9)?replace("-","")}${.vars["Employee180"].BlankSpace3?right_pad(1)}${.vars["Employee180"].EmployeeName?right_pad(24)}${.vars["Employee180"].DateOfBirth?right_pad(10)}${.vars["Employee180"].BlankSpace4?right_pad(1)}${.vars["Employee180"].DateOfEmployment?right_pad(10)}${.vars["Employee180"].BlankSpace5?right_pad(1)}${.vars["Employee180"].Sex?right_pad(1)}${.vars["Employee180"].BlankSpace6?right_pad(8)}${.vars["Employee180"].SocialSecurityNumber?right_pad(9)}${.vars["Employee180"].BlankSpace7?right_pad(133)}${.vars["Employee180"].BenefitEventDate?right_pad(10)}${.vars["Employee180"].BlankSpace8?right_pad(5)}${.vars["Employee180"].BenefitEventReason?right_pad(4)}${.vars["Employee180"].BlankSpace9?right_pad(3)}${'\r\n'}-->
     </ftl:template>
</ftl:freemarker>
...