WSO2 ESB ISO 8583连接器错误

时间:2016-09-07 11:50:12

标签: xml wso2 wso2esb

我已根据WSO2文档在WSO2 ESB上实施ISO 8583连接器:https://docs.wso2.com/display/ESBCONNECTORS/Configuring+ISO8583+Connector+Operation

我从Rest Client发送了以下XML消息:

<ISOMessage>
  <data>
    <field id="0">0200</field>
    <field id="3">568893</field>
    <field id="4">000000020000</field>
    <field id="7">0110563280</field>
    <field id="11">456893</field>
    <field id="44">DFGHT</field>
    <field id="105">ABCDEFGHIJ 9871236548</field>
  </data>

我在ESB系统日志中遇到以下错误:

Couldn't packed ISO8583 Messages    More
TID[-1234] [ESB] [2016-09-07 05:23:28,028] ERROR {org.wso2.carbon.connector.ISO8583.ISO8583MessageProducer} - Couldn't packed ISO8583 Messages org.jpos.iso.packager.GenericPackager.readFile(GenericPackager.java:204) org.jpos.iso.packager.GenericPackager.(GenericPackager.java:120) org.wso2.carbon.connector.ISO8583.ISO8583PackagerFactory.getPackager(ISO8583PackagerFactory.java:29) org.wso2.carbon.connector.ISO8583.ISO8583MessageProducer.packedISO8583Message(ISO8583MessageProducer.java:53) org.wso2.carbon.connector.ISO8583.ISO8583MessageProducer.connect(ISO8583MessageProducer.java:39) org.wso2.carbon.connector.core.AbstractConnector.mediate(AbstractConnector.java:32) org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:84) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:104) org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:148) org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:84) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:210) org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:403) org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:151) org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) 

请提出任何想法。

最好的问候

2 个答案:

答案 0 :(得分:1)

您是否按照https://docs.wso2.com/display/ESBCONNECTORS/Configuring+ISO8583+Connector+Operation

中的说明将jposdef.xml文件复制到ESB_HOME_Directory中

答案 1 :(得分:0)

我认为,在您的情况下,您使用入站测试服务器。如果是这样,您必须执行以下操作  1.您可以在下面的类中注释该行,然后构建pom并获取新jar并将其粘贴到lib目录中(从dropins中删除以前的jar)https://github.com/wso2-extensions/esb-inbound-iso8583/blob/master/src/main/java/org/wso2/carbon/inbound/iso8583/listening/ConnectionRequestHandler.java#L61

2。使用以下代理和以下入站配置

<proxy name="ISO8583_Test" startOnLoad="true" trace="disable" transports="https http"> <description/> <target> <inSequence> <ISO8583.init> <serverHost>localhost</serverHost> <serverPort>5000</serverPort> </ISO8583.init> <ISO8583.sendMessage/> <log level="full"/> <respond/> </inSequence> <outSequence> <log/> <send/> </outSequence> </target> </proxy>



<sequence name="request" onError="fault"> <log level="full"/> </sequence>


<inboundEndpoint class="org.wso2.carbon.inbound.iso8583.listening.ISO8583MessageConsumer" name="custom_listener" onError="fault" sequence="request" suspend="false"> <parameters> <parameter name="sequential">true</parameter> <parameter name="inbound.behavior">listening</parameter> <parameter name="port">5000</parameter> </parameters> </inboundEndpoint>