WSO2 MI 4.1.0 File Connector写入无报错但文件未创建求助
问题排查:WSO2 MI 文件写入无报错但未创建文件
我正在使用WSO2 MI 4.1.0和File Connector 4.0.12,当API请求到达时执行写入固定文件的简单测试,无任何报错却未创建文件。相关源码如下:
API 配置
<?xml version="1.0" encoding="UTF-8"?> <api context="/writeFile" name="writeFile" xmlns="http://ws.apache.org/ns/synapse"> <resource methods="GET"> <inSequence> <file.write configKey="LocalFile2"> <filePath>write_api.txt</filePath> <contentOrExpression>saswswsadsadasds</contentOrExpression> <mimeType>Automatic</mimeType> <compress>false</compress> <writeMode>Create New</writeMode> <enableStreaming>false</enableStreaming> <appendNewLine>false</appendNewLine> <enableLock>false</enableLock> <includeResultTo>Message Body</includeResultTo> <updateLastModified>true</updateLastModified> </file.write> <respond/> </inSequence> <outSequence/> <faultSequence/> </resource> </api>
Local Entry 配置
<?xml version="1.0" encoding="UTF-8"?> <localEntry key="LocalFile2" xmlns="http://ws.apache.org/ns/synapse"> <file.init> <workingDir>/apim/file/to/</workingDir> <name>LocalFile2</name> <fileLockScheme>Local</fileLockScheme> <connectionType>LOCAL</connectionType> </file.init> </localEntry>
API请求与响应状态正常(请求成功返回200)。
可能的问题及排查步骤:
目录权限问题
- 检查WSO2 MI运行用户是否对目标目录
/apim/file/to/拥有写入权限,可通过以下命令验证:
若无法创建文件,需给目录添加对应权限:sudo -u <mi运行用户> touch /apim/file/to/test_write.txtchown -R <mi运行用户>:<mi运行用户组> /apim/file/to/ chmod -R 755 /apim/file/to/
- 检查WSO2 MI运行用户是否对目标目录
文件路径有效性问题
- 确认
workingDir配置的路径是否存在、拼写正确(Linux路径区分大小写),执行命令检查:ls -ld /apim/file/to/ - 相对路径
write_api.txt会基于workingDir拼接成绝对路径,确保拼接后的路径合法。
- 确认
日志级别过低隐藏错误
- 修改WSO2 MI的日志配置文件
repository/conf/log4j2.properties,将File Connector日志级别调为DEBUG:loggers = ..., file-connector logger.file-connector.name = org.wso2.carbon.connector.file logger.file-connector.level = DEBUG - 重启MI后重试,查看
repository/logs/wso2carbon.log,里面可能包含权限、路径等隐性错误的详细信息。
- 修改WSO2 MI的日志配置文件
写入模式冲突
- 当前
writeMode设为Create New,若目标文件write_api.txt已存在,会导致写入失败但无明显报错。可改为Append或Overwrite重试,或先删除已存在的文件再测试。
- 当前
连接器初始化异常
- 检查启动日志中是否有
file.init相关的初始化错误,确认Local Entry是否正确加载。可尝试重新创建Local Entry,确保配置无语法问题。
- 检查启动日志中是否有
内容的提问来源于stack exchange,提问作者raekwon.ha
相关产品推荐
相关产品推荐

