2016-07-29 4 views
0

Я не слишком хорошо знаком с Anypoint, и мы, вероятно, будем использовать эту программу только один раз, я посмотрел учебники на веб-сайте, но я чувствую, что не могу найти тот, который демонстрирует задачу, которую мы имеем. В основном мы пытаемся прочитать файл JSON, который будет отправлен на программное обеспечение, оттуда мы хотим использовать JAVA для чтения/изменения содержимого в нужное форматирование XML. Наконец, мы отправляем назад или перенаправляем результаты XML.Mule Anypoint Studio Проходит в JSON и работает на Java

1: Я пытаюсь принять файл JSON из HTTP POST, я считаю, что выполнил эту часть, используя учебники и элемент HTTP с прикрепленными метаданными, представляющими формат JSON, который может появиться. Использование почтальона для отправки данных json.

2: Отсюда я начинаю полностью путаться. Мне интересно, что мне нужно сделать, чтобы передать данные в объект класса Java для чтения JSON-файла и начать использовать Java-код (getters/seters) вместо интерфейса Anypoint, чтобы начать разработку макета xml.

Спасибо,

ответ

0

Я думаю, что следующий шаг для вас, чтобы определить класс модели (с геттер/сеттер), который будет представлять содержимое вашего файла JSON. Поскольку у вас есть уже POST часть, следующая вещь, которую вы могли бы сделать это использовать JSON в объект Transformer, который модель впрыскивается в.

<json:json-to-object-transformer returnClass="com.alexfrndz.Person" doc:name="JSON to Object"/>

После добавления трансформатора, вы можете использовать мул пользовательского трансформатор, Вот пользовательский трансформатор.

package com.alexfrndz; 

import org.mule.api.MuleMessage; 
import org.mule.api.transformer.TransformerException; 
import org.mule.transformer.AbstractMessageTransformer; 

public class PersonTransformer extends AbstractMessageTransformer { 

    @Override 
    public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException { 
     Person person = (Person) message.getPayload(); 
     //Do your transformation hear 
    return null; 
    } 

} 

Вот как вы реализуете его,

<custom-transformer class="com.alexfrndz.PersonTransformer" doc:name="PersonTransformer"/> 

Надеется, что это поможет вам.