Пустое исключение выдается при запуске mule, когда метод devkit 3.0.0 принимает параметр @InboundAttachments

Я пытаюсь использовать свойства http @attachment

У меня есть метод devkit под названием validate в потоке, который называется так

<http:connector name="httpConnector" doc:name="HTTP\HTTPS">
    <service-overrides
        messageFactory="org.mule.transport.http.HttpMultipartMuleMessageFactory" />
</http:connector>
<flow name="AttachmentTestFlow1" doc:name="AttachmentTestFlow1">        
    <http:inbound-endpoint connector-ref="httpConnector" doc:name="HTTP" exchange-pattern="request-response" host="localhost" port="8100"/>
    <Foo:validate config-ref="TestMessageSizeHappy"  />
</flow>

В девките:

@Processor
public Object validate(@Payload InputStream in
    ,@InboundAttachments("*") Map<String, DataHandler> inboundAttachments
    ,@OutboundAttachments Map<String, DataHandler> outboundAttachments
    ) {

Однако при запуске моего приложения мул это бросается:

ОШИБКА 2013-07-30 09:06:39,225 [main] org.mule.module.launcher.application.DefaultMuleApplication: null org.xml.sax.SAXParseException: cvc-complex-type.2.4.b: содержимое элемента 'xmlthreatprotection:validate'не завершено. Ожидается одно из {{" http://www.mulesoft.org/schema/mule/core": annotations, " http://www.mulesoft.org/schema/mule/xmlthreatprotection": inbound-attachments} ". в org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(неизвестный источник)

Мне кажется, что мул ожидает, что вложения как атрибуты будут каким-то образом! Когда я удаляю материал @attachment, я не получаю ошибок во время выполнения.

1 ответ

Решение

Вы уверены, что это поддерживается DevKit? Я не могу найти ни одного интеграционного теста в исходном коде, который осуществляет @InboundAttachments а также @OutboundAttachments аннотации, а @InboundHeaders а также @OutboundHeaders оба теста покрыты.

В качестве альтернативы вы можете получить MuleEvent и доступ к приложениям через него:

@Processor
@Inject
public Object validate(@Payload InputStream in, MuleEvent muleEvent) {
Другие вопросы по тегам