2016-10-26 4 views
0

Я преобразовываю вход X12 в java, а затем преобразовываю его в csv. Хотя я конвертирую в csv, мне просто нужно отображать несколько полей. Если я напишу ниже код в dataweave то он работает отлично:Преобразование из сообщения x12 в java в csv в dataweave

payload.Detail."2000_Loop" map { 
    Provider_ID: $."0030_PRV".PRV01, 
    Subscriber_Name: $."0050_SBR".SBR04 
} 

Но я хочу, чтобы отобразить контрольный номер, а поэтому, когда я картографирования, он говорит:

com.mulesoft.weave.mule.exception.WeaveExecutionException: Exception while executing: 
    payload.SetHeader.ST02 as :string, 
    ^
Cannot coerce a :string to a :object 

Мой код картографирования контрольного номера вместе с именем providerid и абонентом:

%dw 1.0 
%output application/csv 
--- 
[ 
    payload.SetHeader.ST02 as :string, 

    payload.Detail."2000_Loop" map { 
    Provider_ID: $."0030_PRV".PRV01, 
    Subscriber_Name: $."0050_SBR".SBR04 
} 
] 

ответ

0

Это должно работать в вашем случае,

%dw 1.0 
%output application/csv 
--- 
flatten [ 
    data : payload.SetHeader.ST02 as :string, 

    payload.Detail."2000_Loop" map { 
    Provider_ID: $."0030_PRV".PRV01, 
    Subscriber_Name: $."0050_SBR".SBR04 
} 
] 

Надеюсь, это поможет.

+0

Я пробовал это, но он говорит, что не может принуждать null к строке –

+0

Может быть, некоторые поля имеют значение null, вы можете попробовать с нулевой проверкой. Пожалуйста, разместите образцы данных с измененной стоимостью, чтобы я мог помочь вам больше. – AnupamBhusari

0

Перейдите по ссылке ниже, в ней есть все о Dataweave.

 Смежные вопросы

  • Нет связанных вопросов^_^