2016-09-07 54 views
0

我已經根據WSO2文檔實現ISO 8583連接器上WSO2 ESB:https://docs.wso2.com/display/ESBCONNECTORS/Configuring+ISO8583+Connector+OperationWSO2 ESB ISO 8583連接器錯誤

我把下面的XML消息從REST客戶端:

<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) 

請告知任何想法。

問候

回答

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>