WSO2 EI 6.5.0设置端口偏移后任务调度器无法调用代理服务的问题咨询
解决WSO2 EI端口偏移后任务调度器无法调用代理的问题
首先,问题根源很清晰:你设置了端口偏移3后,EI的HTTP传输端口已经从默认的8280变为8280+3=8283,但你的MessageInjector任务仍在尝试连接默认的8280端口,这才导致了连接拒绝的报错。
下面是两种可行的解决方案,你可以根据实际场景选择:
方案一:直接修改任务配置,指定偏移后的端口
在你的任务XML配置中添加端口属性,让任务明确调用正确的端口:
<?xml version="1.0" encoding="UTF-8"?> <task class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz" name="EmailTicketingScheduler" xmlns="http://ws.apache.org/ns/synapse"> <trigger interval="60"/> <property name="proxyName" value="EmailTicket_ConnectMSOutlook_Proxy" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> <property name="soapAction" value="urn:mediate" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> <property name="message" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"> <root xmlns=""/> </property> <property name="injectTo" value="proxy" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> <!-- 添加以下属性指定偏移后的端口 --> <property name="transport.http.port" value="8283" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> <property name="transport.nhttp.port" value="8283" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> </task>
注意:如果你的端口偏移数值不是3,记得把8283替换成对应计算后的端口号。
方案二:修改全局配置,让所有任务自动识别端口偏移
如果你有多个任务需要调整,不想逐个修改,可以修改<PRODUCT_HOME>/repository/conf/synapse.properties文件,添加或更新以下配置:
# 设置HTTP和NHTTP端口为偏移后的数值 synapse.transport.http.port=8283 synapse.transport.nhttp.port=8283
修改完成后重启EI服务器,所有MessageInjector任务都会自动使用这个端口调用本地代理。
额外检查项
- 先确认代理服务在偏移后的端口正常运行:可以用浏览器或curl访问
http://localhost:8283/services/EmailTicket_ConnectMSOutlook_Proxy,如果能看到代理的WSDL,说明端口配置无误。 - 若你启用了HTTPS,默认HTTPS端口8243偏移后为8246,若任务需要通过HTTPS调用,记得同步添加
transport.https.port=8246的属性配置。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

