2014-12-07 4 views
2

Я создаю новое платежное приложение. У меня есть клиентское приложение, в котором пользователь выбирает цену, вводит ее информацию об аутентификации, а затем клиент создает сообщение iso 8583 и отправляет эти данные на сервер банка.начать работу с jpos

Согласно моим исследованиям, я могу использовать jPOS для эмуляции банковского сервера. На самом деле мне нужен сервер для получения сообщений iso и ответов на них, но я не знаю, как я могу использовать jPOS для этого предложения.

Я искал это в Интернете, но не смог найти ни одного ресурса, который бы нам четко ответил. Мой главный вопрос заключается в том, нужно ли мне создавать приложение с использованием jPOS для реализации моих требований или только для установки jPOS на сервере, достаточно для тестирования моего клиентского приложения?

ответ

2

Ну, прочитайте МСС документация библиотека проект ее версия доступна на веб-сайте вы можете найти его here

Специфическая на ваш вопрос о JPOS сервера лучше реализовать свой собственный сервер. JPos предоставляет класс ISOServer, например. следующая фасоль инициирует ISO сервера в applicationContext.xml файле

<bean id="paymentServer" class="org.jpos.iso.ISOServer"> 
    <constructor-arg> 
     <value>13000</value> 
    </constructor-arg> 
    <constructor-arg ref="paymentChannel" /> 
    <constructor-arg ref="paymentServerThreadPool" /> 
</bean> 

<bean id="paymentChannel" class="org.jpos.iso.channel.ASCIIChannel"> 
    <constructor-arg ref="paymentPackager" /> 
</bean> 

<bean id="paymentPackager" class="com.sample.payment.packager.PaymentPackager"/> 

<bean id="paymentServerThreadPool" class="org.jpos.util.ThreadPool"> 
    <constructor-arg> 
     <value>1</value> 
    </constructor-arg> 
    <constructor-arg> 
     <value>100</value> 
    </constructor-arg> 
    <constructor-arg> 
     <value>PaymentServer</value> 
    </constructor-arg> 
</bean> 

<bean id="paymentProcessor" class="com.sample.processors.PaymentProcessor" init-method="init"/> 

Следующий класс для реализации Упаковщик,

public class PaymentPackager extends ISOBasePackager { 

    protected ISOFieldPackager fld[] = { 
      /* 0000 */ new IFB_NUMERIC ( 4, "Message Type Indicator", false), 
      /* 0001 */ new IFB_BITMAP (16, "Bitmap"),  
      /* 0002 */ new IFB_LLLCHAR (999, "Primary Account number"),  
      /* 0003 */ new IFB_NUMERIC ( 6, "Processing Code", true), 
      /* 0004 */ new IFB_NUMERIC (12, "Amount, Transaction", true), 
      //..... 
      /* 0063 */ new IFB_LLLCHAR (999, "Reserved for national use"), 
      /* 0064 */ new IFB_BINARY (20, "Message authentication code field"), 
      //.....  
      /* 0125 */ new IF_UNUSED (), 
      /* 0126 */ new IF_UNUSED (), 
      /* 0127 */ new IF_UNUSED (), 
      /* 0128 */ new IFB_BINARY (20, "Message authentication code field"), 
    }; 

    public PaymentPackager() { 
     super(); 
     setFieldPackager(fld);  
    } 

} 

В классе точки входа приложения вы можете получить компонент и использовать как следующий прикрепить слушателю канальную

paymentServer.addISORequestListener(paymentProcessor); 

следующий образец прослушивателя

public class PaymentProcessor implements ISORequestListener { 

    private static Logger log = LoggerFactory.getLogger(PaymentProcessor.class); 

    public void init() { 

     //do init 
    } 

    public boolean process (ISOSource source, ISOMsg m){ 

     log.debug(">PaymentProcessor.process"); 

     ISOMsg request = (ISOMsg) m.clone(); 
     ISOMsg response = new ISOMsg(); 

     //... 
     //build your response 
     //... 

     source.send(response); 
     return true; 
    } 
} 

Примечание: я не реализовали, но еще МСС обеспечивает новый способ реализации сервера и клиента с помощью Q2 вы можете найти в документации класса QServer для реализации сервера, я попытаюсь поделиться образец, как только я мог.

Счастливое кодирование :)

+0

Очень спасибо @Mubashar, недавно я нашел кое-что о jpos-ee. Я не уверен, что это такое, но в нижеследующем руководстве: http://jpos.org/doc/jPOS-EE.pdf они внесли кое-что о серверных и клиентских симуляторах (стр. 31-35). Какова ваша идея? что? Не лучше ли использовать его вместо разработки нового эмулятора сервера самостоятельно? –

+2

Да, я бы не использовал его, но я планирую создать образец симулятора в соответствии с моей потребностью в понедельник или в выходные дни. Он использует QServer кстати, но потому, что я не был уверен в этом, поэтому я поделился с вами кодом сервера. Я дам вам знать, смогу ли я с этим справиться. –

+0

большое спасибо @Mubashar –

Смежные вопросы