2014-12-07 5 views
2

새로운 지불 애플리케이션을 만들고 있습니다. 내가 가지고있는 것은 고객이 가격을 선택하고 인증 정보를 입력 한 다음 클라이언트가 iso 8583 메시지를 작성하고이 데이터를 은행 서버로 보내는 클라이언트 애플리케이션이다.jpos로 작업 시작

내 연구에 따르면 jPOS를 사용하여 은행 서버를 에뮬레이션 할 수 있습니다. 실제로 iso 메시지와 응답을 얻기 위해 서버가 필요하지만이 제안을 위해 jPOS를 어떻게 사용할 수 있는지 모르겠습니다.

인터넷에서이 항목을 검색했지만 명확하게 답변 한 리소스를 찾을 수 없습니다. 내 주요 질문은 내 요구 사항을 구현하기 위해 jPOS를 사용하여 응용 프로그램을 만들거나 서버에 jPOS 만 설치하면 내 클라이언트 응용 프로그램을 테스트하기에 충분합니까? 초안 버전을 웹에서 볼 수 있습니다 라이브러리 문서

답변

2

잘 읽고 JPOS 당신은 자신의 서버를 구현하는 JPOS 서버 나은에 대한 질문에이 here

특정 찾을 수 있습니다. JPos는 클래스 ISOServer을 제공합니다. 콩 다음은 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"/> 

다음 클래스의 ISO 서버 당신이 빈을 얻을 수있는 응용 프로그램 진입 점 클래스에서 패키저

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

다음은 샘플 수신기입니다

01 23,278,349,

참고 : 나는 아직 구현하지 않은하지만 JPOS 서버를 구현하기 위해 당신이에서 QServer 클래스의 문서를 볼 수 Q2를 사용하여 서버와 클라이언트를 구현하는 새로운 방법을 제공합니다, 나는 즉시 샘플을 공유하려고합니다 할 수 있었다.

해피 코딩 :)

+0

매우 감사합니다. @Mubashar, 최근에 jpos-ee에 대한 몇 가지 사실을 발견했습니다. 정확히 정확히 무엇인지는 모르겠지만 아래의 가이드에서 찾아 볼 수 있습니다 : http://jpos.org/doc/jPOS-EE.pdf 그들은 서버와 클라이언트 시뮬레이터에 관한 몇 가지 것을 소개했습니다 (31-35 페이지). 그? 혼자서 새 서버 에뮬레이터를 개발하는 대신 사용하는 것이 낫지 않습니까? –

+2

예, 사용하지 않았지만 월요일이나 주말에 내 필요에 따라 샘플 시뮬레이터를 만들 계획입니다. 그건 그렇고 QServer를 사용하지만 그 이유에 대해 확실하지 않으므로 서버 코드를 공유해 두었습니다. 내가 성공하면 알려주지. –

+0

to much thanks @Mubashar –