0123

개발 하고자 하는 인터페이스의 전반적인 내용입니다.

- 인터페이스 흐름

- DB Table 정보

- ECC Table 정보




  • Enterprise Service Builder


Namespace

http://www.inspien.co.kr/DB2Proxy

Data Type

POCSO01_IN_DT

INF_SALES_ORDER_OUT_DT

Message Type

POCSO01_IN_MT

INF_SALES_ORDER_OUT_MT

Service Interface

POCSO01_IN_AI

INF_SALES_ORDER_OUT_AO

Message Mapping

DB2PROXY_MM

Operation Mapping

DB2PROXY_OM


  • Integration Builder


시나리오 : KSW_DB2PROXY

Sender Channel : JDBC_Sender

Receiver Channel : PROXY_Receiver



  • Proxy 생성






Posted by 알 수 없는 사용자
,

DB to XML 컨셉의 매핑을 처리하기 위해 Mapper의 Create Map 메뉴을 통해서

1) Source Document 생성(DB Table 구조) -> 2) Target Document 생성(XML 구조) -> 3) Mapping -> 4) Test 진행시

1), 2), 3) 단계에서의 Validate 는 모두 통과하는 상황인데.. 4) 단계 진행시 아래와 같은 형식의 에러가 발생

 

Mapper TEST창의 Message Log상에서는 아래와 같은 메시지가 발생한다.

Date/Time: Fri Aug 02 14:15:27 KST 2013
Message Type: E
Message: Formatting end element tag 'error = message = [Fri Aug 02 14:15:27 KST 2013
FTXML16)
(parameterArray
 0: java.lang.NullPointerException
 at com.harbinger.mek.mk.adapter.xml.formatter.HLStack.push(HLStack.java:126)
 at com.harbinger.mek.mk.adapter.xml.formatter.HLXMLFormatter.formatElement(HLXMLFormatter.java:584)
 at com.harbinger.mek.mk.adapter.xml.formatter.HLXMLFormatter.formatRecord(HLXMLFormatter.java:977)
 at com.harbinger.mek.mk.adapter.xml.formatter.HLXMLFormatter.outputRecord(HLXMLFormatter.java:1090)
 at com.harbinger.mek.mk.adapter.xml.formatter.HLXMLFormatter.writeDocument(HLXMLFormatter.java:1305)
 at com.harbinger.mek.mk.controller.HLFormatterController.formatDocument(HLFormatterController.java:338)
 at com.harbinger.mek.mk.controller.HLController.translateDocument(HLController.java:3559)
 at com.harbinger.mek.mk.controller.HLController.findAndTranslateDocument(HLController.java:3279)
 at com.harbinger.mek.mk.controller.HLController.translateSource(HLController.java:3160)
 at com.harbinger.mek.mk.controller.HLController.translate(HLController.java:2977)
 at com.harbinger.mek.vm.HLVMTestMap$TestMap.<init>(HLVMTestMap.java:678)
 at com.harbinger.mek.vm.HLVMTestMap$1.construct(HLVMTestMap.java:243)
 at com.harbinger.mek.vm.HLVMSwingWorker$2.run(HLVMSwingWorker.java:146)
 at java.lang.Thread.run(Thread.java:619)

)]
severity = 3
 at com.harbinger.mek.mk.controller.HLController.throwErrorEvent(HLController.java:1971)
 at com.harbinger.mek.mk.controller.HLController.raiseErrorEvent(HLController.java:2086)
 at com.harbinger.mek.mk.controller.HLController.raiseErrorEvent(HLController.java:2130)
 at com.harbinger.mek.mk.controller.HLController.raiseErrorEvent(HLController.java:2143)
 at com.harbinger.mek.mk.adapter.xml.formatter.HLXMLFormatter.formatRecord(HLXMLFormatter.java:992)
 at com.harbinger.mek.mk.adapter.xml.formatter.HLXMLFormatter.outputRecord(HLXMLFormatter.java:1090)
 at com.harbinger.mek.mk.adapter.xml.formatter.HLXMLFormatter.writeDocument(HLXMLFormatter.java:1305)
 at com.harbinger.mek.mk.controller.HLFormatterController.formatDocument(HLFormatterController.java:338)
 at com.harbinger.mek.mk.controller.HLController.translateDocument(HLController.java:3559)
 at com.harbinger.mek.mk.controller.HLController.findAndTranslateDocument(HLController.java:3279)
 at com.harbinger.mek.mk.controller.HLController.translateSource(HLController.java:3160)
 at com.harbinger.mek.mk.controller.HLController.translate(HLController.java:2977)
 at com.harbinger.mek.vm.HLVMTestMap$TestMap.<init>(HLVMTestMap.java:678)
 at com.harbinger.mek.vm.HLVMTestMap$1.construct(HLVMTestMap.java:243)
 at com.harbinger.mek.vm.HLVMSwingWorker$2.run(HLVMSwingWorker.java:146)
 at java.lang.Thread.run(Thread.java:619)

현재 까지 확인된 상황은 새로운 Target Document를 Create Map 단계를 통해서 생성후 즉시 TEST진행시 XML형태의 Document에 대한

정보를 제대로 처리하지 못하는 것으로 파악된다.

현재의 대응책은 위의 단계에서 생성한 Map / Document 등을 모두 Save 및 Mapper 재기동후 TEST 진행하면 정상 동작이 가능하다.

정확한 원인이 밝혀진 내용이 아니라서 팁으로 게시한다.

Posted by 알 수 없는 사용자
,

마우스 오른쪽 버튼 → New → Java Service 클릭


Java Service 명을 수정한후에 Input/Output TAB에 각 필요한 변수를 정의 한다. 그리고 Save.....



이제 중앙에 EDIT상자에 JAVA소스를 넣으면 되는데.. 기본적인 소스를 생성 가능하다. 메뉴에서 Tools → Generate Code... 를 클릭한다.


For implementing this service를 선택 한 후 Next...


Default로 Setting되어 있는 Input / Output , All Fields를 선택 한후에 Finish를 클릭 한다.


Message창이 뜨면 OK를 누르면 clipboard에 해당 소스가 복사 되어 있다.


Edit Box에 Ctrl + v 를 눌러 주면 아래와 같은 소스가 복사 되며 중앙 부분에 소스를 코딩 해주면 된다.



----------------

// pipeline IDataCursor pipelineCursor = pipeline.getCursor(); String I_DATA1 = IDataUtil.getString( pipelineCursor, "I_DATA1" ); String I_DATA2 = IDataUtil.getString( pipelineCursor, "I_DATA2" ); pipelineCursor.destroy(); // 사용자가 소스 코드 Start String O_DATA = I_DATA1 + I_DATA2; // 사용자가 소스 코드 END // pipeline IDataCursor pipelineCursor_1 = pipeline.getCursor(); IDataUtil.put( pipelineCursor_1, "O_DATA", O_DATA ); // 기본적으로 "IDataUtil.put( pipelineCursor_1, "O_DATA", "O_DATA" );" 와 같이 되어 있는것을 // 변수로 받을수 있게 "을 제거 해준다. pipelineCursor_1.destroy();


Posted by INSPIEN
,