2014-02-17 50 views
0

我正在運行騾3.3.1 CE。我可以通過編程訪問(並更改)smtp連接器的屬性嗎?

我有一個用例,我需要能夠在smtp端點上動態設置MIME類型。但現在看來,我不能這樣做,因爲它是目前竊聽: https://www.mulesoft.org/jira/browse/MULE-6005

另外,如果我用MEL嘗試設置MIME類型是這樣的:

mimeType="#[message.payload['email-mime']]" 

我得到的是一堆堆棧跟蹤,應用程序甚至不會部署。

ERROR 2014年2月17日16:28:58153 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.application.DefaultMuleApplication:空 org.springframework .beans.PropertyBatchUpdateException;嵌套0​​PropertyAccessException詳細信息(1)爲:PropertyAccessException 1: org.springframework.beans.MethodInvocationException:屬性 'mimeType'引發異常;嵌套異常是 java.lang.IllegalArgumentException:無法找到子類型。 在org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1167) 在org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:924)

是否有訪問連接的方式本身在運行時,也許能夠改變它,所以我可以根據需要更改MIME類型?還是另一種解決方案?

回答

1

定義一個單獨的smtp:connector像吉拉的描述,並嘗試某處設置內容類型Groovy腳本中像這樣的流程中:

muleContext.getRegistry().lookupObject('smtpConnector').setContentType('text/html') 
+1

或使用MEL:'#[app.registry.smtpConnector。 contentType ='text/html']' –

+1

@DavidDossot我可以使用你提供的MEL表達式來解決這個問題。沿着#[app.registry.smtpConnector.contentType ='#[header:mimetype]']的路線行進。明天我會在最後的解決方案中進行編輯。 – Zavior

相關問題