Я реализую сервис SOAP в Mule ESB версии 3.8 с использованием компонентов HTTP и CXF.Пожалуйста, смотрите прикрепленное изображение для дизайна потока.
Поток Mule:
- Компоненты HTTP и CXF предоставляют веб-сервис, который дает сумму двух целых чисел.Объект, отправляемый в запросе:
открытый класс AddValues {private int a;private int b;public setA (int a) {this.a = a;} public getA () {return a;} public setB (int b) {this.b = b;} public getB () {return b;}}
Сохраните действие SOAP с помощью переменной. На основе действия SOAP направьте элемент управления потоком.
Использование преобразователя JAVA для получения полезной нагрузки и выдачи исключения сбоя Custom Webследующим образом:
public class AddValuesBusinessLogic extends AbstractMessageTransformer
{
@Override
public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {
MuleMessage muleMessage = message;
AddValues addValues = (AddValues) muleMessage.getPayload();
if (addValues.getA() == null || addValues.getB() == null ) {
//Make an AddValueException object
throw new Exception("Add value exception");
}
return null;
}
}
Но я получаю сообщение об ошибке "Surround с try / catch"
У меня вопрос, если я окружаюи обработать исключение, как я собираюсь отправить сбой SOAP конечному пользователю?
Может кто-нибудь подсказать, как лучше всего отправить нестандартный сбой SOAP из JAVA Transformer в Mule ESB?