ftp端点:hostname不能为null

时间:2014-03-12 20:24:11

标签: mule mule-studio

我的FTP端点出现问题。它会工作一点然后停止工作,并给我主机名不能为空。我正在使用工作室版本:3.4.0。我的流程取决于FTP:

<context:property-placeholder location="environment.properties"/>
    <flow name="NpPlaFeedFlow1" doc:name="NpPlaFeedFlow1">
        <quartz:inbound-endpoint jobName="GetAttributes" cronExpression="30 * * * * ?" startDelay="500" responseTimeout="10000" doc:name="Quartz" repeatCount="0" repeatInterval="0">
            <quartz:event-generator-job/>
        </quartz:inbound-endpoint>
        <message-properties-transformer  doc:name="Message Properties" scope="session">
            <add-message-property key="database.server" value="${database.server}"/>
            <add-message-property key="database.port" value="${database.port}"/>
            <add-message-property key="database.user" value="${database.user}"/>
            <add-message-property key="database.password" value="${database.password}"/>
            <add-message-property key="database.databaseName" value="${database.databaseName}"/>
            <add-message-property key="adwords.promo" value="${adwords.promo}"/>
            <add-message-property key="file.fileName" value="${file.fileName}"/>
            <add-message-property key="ftp.serverName" value="${ftp.serverName}"/>
        </message-properties-transformer>
        <component doc:name="Java" class="com.newpig.transformer.GeneratePLA"/>
        <file:file-to-string-transformer doc:name="File to String"/>
        <logger message="Hostname is: ${ftp.serverName}" level="INFO" doc:name="Logger"/>
        <ftp:outbound-endpoint host="${ftp.serverName}" port="21" user="${ftp.user}" password="${ftp.pass}" responseTimeout="10000" doc:name="FTP"/>

当我运行应用程序时,记录器会显示正确的主机名,如下所示。

2014-03-12 16:16:45,078 [[npplafeed].NpPlaFeedFlow1.stage1.02] INFO  org.mule.api.processor.LoggerMessageProcessor - Hostname is: cmsdev_steves
2014-03-12 16:16:45,092 [[npplafeed].connector.ftp.mule.default.dispatcher.01] INFO  org.mule.lifecycle.AbstractLifecycleManager - Initialising: 'connector.ftp.mule.default.dispatcher.1429708287'. Object is: FtpMessageDispatcher
2014-03-12 16:16:45,092 [[npplafeed].connector.ftp.mule.default.dispatcher.01] INFO  org.mule.lifecycle.AbstractLifecycleManager - Starting: 'connector.ftp.mule.default.dispatcher.1429708287'. Object is: FtpMessageDispatcher
2014-03-12 16:16:45,109 [[npplafeed].connector.ftp.mule.default.dispatcher.01] ERROR org.mule.exception.CatchMessagingExceptionStrategy - 
********************************************************************************
Message               : hostname can't be null (java.lang.IllegalArgumentException)
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. hostname can't be null (java.lang.IllegalArgumentException)
  java.net.InetSocketAddress:-1 (null)
2. hostname can't be null (java.lang.IllegalArgumentException) (org.mule.transport.ConnectException)
  org.mule.transport.ftp.FtpConnector:556 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/transport/ConnectException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.lang.IllegalArgumentException: hostname can't be null
    at java.net.InetSocketAddress.<init>(Unknown Source)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:176)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:268)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************

2014-03-12 16:16:45,146 [[npplafeed].connector.smtp.mule.default.dispatcher.01] INFO  org.mule.transport.service.DefaultTransportServiceDescriptor - Loading default outbound transformer: org.mule.transport.email.transformers.ObjectToMimeMessage
2014-03-12 16:16:45,151 [[npplafeed].connector.smtp.mule.default.dispatcher.01] INFO  org.mule.lifecycle.AbstractLifecycleManager - Initialising: 'connector.smtp.mule.default.dispatcher.2029326140'. Object is: SmtpMessageDispatcher
2014-03-12 16:16:45,180 [[npplafeed].connector.smtp.mule.default.dispatcher.01] INFO  org.mule.lifecycle.AbstractLifecycleManager - Starting: 'connector.smtp.mule.default.dispatcher.2029326140'. Object is: SmtpMessageDispatcher

有谁知道还要检查什么?我试过替换host =&#34; $ {ftp.serverName}&#34;与主持人=&#34; cmsdev-steves&#34;有时我可以让它工作,有时候不能。

修改 的 我在原帖中没有提到我根本无法使用变量来连接FTP组件。最初我只在我的属性文件中有ftp.serverName,并没有将它添加到message-properties-transformer。我把它添加到那个变压器中,希望它能把它拿起来。同样,记录器会吐出正确的值,因此我无法理解为什么FTP端点也没有得到相同的值。

1 个答案:

答案 0 :(得分:0)

问题是您正在出站端点配置ftp凭据。

定义一个连接器,然后将你的ftp配置(主机名,用户名和密码)放在那里。

相关问题