0

@attachment http プロパティを利用しようとしています

そのように呼び出されるフローでvalidateと呼ばれるdevkitメソッドがあります

<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
    ) {

ただし、私のラバアプリケーションを実行すると、これがスローされます:

ERROR 2013-07-30 09:06:39,225 [メイン] 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 のものを削除すると、実行時にエラーは発生しません。

4

1 に答える 1

1

これは DevKit でサポートされていますか? @InboundAttachmentsソース コード内に、演習と@OutboundAttachments注釈を含む単一の統合テストを見つけることができませんが、@InboundHeaders両方@OutboundHeadersともテストでカバーされています。

MuleEventまたは、それを介して添付ファイルを受信して​​アクセスすることもできます。

@Processor
@Inject
public Object validate(@Payload InputStream in, MuleEvent muleEvent) {
于 2013-07-30T16:14:25.150 に答える