레이블이 PI/PO인 게시물을 표시합니다. 모든 게시물 표시
레이블이 PI/PO인 게시물을 표시합니다. 모든 게시물 표시

2024-02-24

NWDS의 Profiling 서버 등록 시 'No jvmmond is running' 에러내용 정리

전에 잘 등록되었던것으로 기억이 나는데.. 이번에 PO메모리에 약간 부하가 있는것 같아 Manage Hosts...에 호스트:1099 등록해서 확인해보려니 아래와 같은 메시지가 발생
No jvmmond is running!

해당 에러메시지로 찾아본 내용
방화벽,네트워크,RMI 등 관련 내용이 나오는거서 보니 혼자 해결할수 없는 문제로 보임

1099 포트에 대한 핑 테스트는 tcping.exe툴을 사용했고 다운로드 주소는 https://elifulkerson.com/projects/tcping.php 이며 Windows > System32 폴더에 넣고 CMD창에서 사용하면 됨
그래서 핑 결과는?
tcping [아이피] [포트]
Probing 아이피:포트/tcp - No response - time=2010.107ms
Ping statistics for 아이피:포트
 4 probes sent.
 0 successful, 4 failed. (100.00% fail)
Was unable to connect, cannot provide trip statistics.

역시.. 혼자서는 해결이 어려워보임

SAP PO 데이터베이스 테이블 관련 정리

SAP PO운영하다 보면 BC_*나 XI_* 등 이런 테이블명으로 시작되는 내용을 보게 되는데 각 각의 테이블의 설명이 필요할것 같아 내용찾아 정리해보았음 

BC_*

BC_MSG
  • PI 7.0x에서는 XI_AF_MSG 테이블 명
  • 자바스텍의 메시지 마스터성 테이블
  • 비동기 방식의 메시지 하나 = 테이블에는 하나의 ROW
BC_MSG_VERSION
  • 메시지 편집,스테이징 될때 메시지 버젼
  • Receiver and Interface determination(MS) 단계후에 생성된다고 함
  • 타겟이 여러개인 분할메시지 인경우 MS,AM단계 이후 하나의 버젼이라는 것을 알려준다고함
BC_MSG_LOG
  • 로깅 후 버전당 하나의 레코드가 생성
BC_MSG_LOG_STAT
  • 로깅 후 메시지당 하나의 레코드
  • 모니터링 목적으로 사용
BC_MSG_AUDIT
  • 7.0x이하에서는 XI_AF_MSG_AUDIT이라고 함
  • RWB_PIMON에서 볼수 있는 AUDIT로그
  • 7.1이상에서는 기본적으로 오류/에러 메시지에 대해 DB에 생성된다고 함

2024-02-12

보안강화를 위한 리버스 호출이란?(SAP 웹 디스패처)


리버스 호출이란?

  • 보안네트워크(인트라넷)에서 네트워크 연결 설정하는 기술이라고 함 → 네트워크 보안 강화
  • 일반적인 시나리오에서는 A가 B로 연결 시도후 
  • 정상적으로 연결이 되면 데이터 전송
  • 리버스 호출에서는 B가 A연결을 설정 후 A가 B에게 데이터를 전송할수 있음
  • 리버스 호출설정은 표준설정보다 더 복잡할수 있다고 함
  • SAP는 웹 디스패쳐 간 설정으르 권장
  • 웹디스패쳐와 백엔드 시스템 간 직접 설정이 피하라고 얘기하는 듯
  • 리버스 호출은 연결보다 안전하게 설정하는게 더 중요하다고 얘기하는 듯

하나의 예로 양과 늑대의 어느 동화 내용이 떠오르는데

첫번째: 나쁜늑대가 양의 집 문을 똑똑 두들기고 들어가는 것
두번째: 양이 문틈으로 착한늑대인지 나쁜늑대인지 확인 후 잠긴 문을 열어주는 것
두가지 시나리오를 보면 두번째가 더 안전해 보임

PGP 구성 및 암,복호화 모듈 파라메터 내용 정리


PGP 구성

  • 채널의 PGP(Pretty Good Privacy) 모듈 구성으로 암호화된 전자데이터를 전송
  • 암복호화 키를 파일시스템에 저장
  • 개인키는 유출이 안되어야하고 운영체제 수준의 권한을 사용하여 보호해야한다고 함
  • 키가 포함된 폴더에는 OS권한 사용자에게 읽기권한을 부여
  • 모듈이름은 대소문자를 구분한다고함
  • 어댑터에 모듈을 사용하기 위해서는 PGP모듈이 사전에 배포되어야함

모듈,파라메터

복호화
모듈네임
localejbs/PGPDecryption 등
파라메터 네임
keyRootPath,ownPrivateKey,pwdOwnPrivateKey 등

암호화
파트너 공개키 사용하여 암호화 하고 자신의 개인 키를 사용하여 메시지에 서명한다고 함
모듈네임
localejbs/PGPEncryption 등
파라메터 네임
asciiArmored,dynamicFileName,dynamicNamespace,keyRootPath,patnerPublicKey 등

그외 여러 파라메터와 설명은 출처 사이트를 참고하시면 좋음

다른 관련글

2024-02-04

SAP PO 아밥프록시 시나리오 Integration Suite 마이그레이션 관련 MDR 내용정리

'ABAP Proxy In Integration suite - Best practice recommendation' 사이트를 보면 krishg라는 사람이 PO의 아밥프록시 시나리오를 IS로 마이그레이션 할때 권장사례를 찾고 있음

프록시를 마이그레이션하는 옵션중에 MDR? 프록시 구조가 바뀌어 ESR를 사용못하게 되는 경우 XI어댑터 대신 SOAManager를 사용, 웹서비스로 전환할수 있게 한다고 함

ESR이란 

Enterprise Services Repository(ES Repository)는 인터페이스를 위한 DataType이나 SOA(Service Oriented Architecture)등을 정의 엑세스 관리,서비스 하는 중앙 저장소인가 봄

MDR은 

Backend Metadata Repository 보통 PI/PO에서 생성한 Service Inteface 오브젝트에 따라 SAP의 SPROXY티코드에서 해당 아밥프록시를 생성하는게 일반적인 방법임
MDR은 PO없이도 프록시를 생성할수 있는 방법인것 같은데 IS(CPI)로 프록시를 마이그레이션하는 효과적인 방법인듯함

How to design ABAP Proxies without ESR(using MDR) 사이트에서는 ABAP-WS-Proxies와 ABAP-XI-Proxies방식을 얘기하는데 두가지 차이는 아래와 같다고 얘기함
WS-Runtime은 SOA매니저를 통한 웹서비스
XI-Runtime은 로컬Integration Engine을 사용한 SOAP XI 3.0프로토콜
XI 3.0은 PO의 프록시 채널의 메시지 프로토콜과 동일해보이며 SOA매니저 같은경우 PO없이도 프록시 지원하는 SAP 시스템에서 웹서비스를 통한 인터페이스가 가능한 기능임
MDR관련 티코드로는 SPXNMIG,SPROXY,SPXNGENAPPL 등이 있음

2024-01-31

MYSQL 중국 간체자 에러에 대한 정리

java.sql.BatchUpdateException: Data truncation: Incorrect string value: \xF0... [서비스네임].[테이블명].[컬럼명] at row 1
위와 같은 에러가 발생되었는데 MYSQL 전송시 이모지 데이터와 다르게 중국 간체자데이터로 인한 문제같은경우 좀 확인이 까다로운것 같음
찾아본 관련 내용을 정리해보면
  • 잘못된 문자열 값이 항상 \xF0으로 시작됨
  • 중국어 간체자(GB2312)
    • 간자체(음과 뜻이 같은데 획이 간략화된 문자)
    • 확장 중국어 문자는 4바이트 영역을 사용
  • MYSQL 접속후에 'SHOW VARIABLES' 명령을 입력하여 언어셋 확인가능
    • 테이블속성을 보면 Charset과 컬럼이 UTF8MB4
    • Collation이 utf8mb4_unicode_ci나 general ci
    • 하지만 조회된 character_set_*과 collation_*로 시작되는 언어셋이 다른경우 왠지 안되는것 같은 느낌
  • set names은 mysql 도움말에 따르면 아래의 효과
    • 타겟 서버와 설정이 어떤지 모르는경우 그냥 변경가능하는 듯
    • GB2321은 중국어 간체, BIG5는 중국어 번체용 인코딩
    • 쿼리 실행전에 'set names [언어셋]' 실행하면
    • character_set_client|results|connection 언어셋 바뀌는 듯?
  • 한중일 케릭터셋 리스트(CJK)은 MYSQL버젼에 따라 다를수 있다고 함

SAP PO 'Mandatory key xml.recordsetStructure missing!' SFTP에러 정리

아는 지인의 에러를 재 확인

에러내용

processing local module localejbs/AF_Modules/MessageTransformBean
아래 부터 에러
using Transform.Class: com.sap.aii.af.sdk.xi.adapter.Conversion
Transformer Conversion3.0.5226 Error initializing
java.lang.Exeption: Mandatory key xml.recordsetStructure missing!

채널에 설정된 AF_Modules/MessageTransformBean모듈의 설정된 Transform.Class 등 파라메터에 대한 컨버젼 에러로 보이며 해당 파라메터나 값을 수정시 해결이 가능한것으로 보임

에러내용으로 찾은 관련 내용이 담긴 사이트로는 아래와 같음

그외 3394349 - PO MessageTransformBean is taking long time to process large payloads > Standard SAP Modules | SAP Help Portal 사이트를 보면 아래와 같은 내용을 확인할수 있는데

SFTP 'PrivateKey[Private Key Entry] not found in KeyStoreView[Private Key View] 에러정리


에러내용은

Error Message could not be forwarded to the JCA adapter. Reason: java.lang.IllegalArgumentException: 
PrivateKey[Private Key Entry] not found in KeyStoreView[Private Key View]

에러내용으로 찾아본 사이트로는


원인으로 추정되는 내용으로는

NWA > Certificates and Keys: Key Storage의 Entry Type이 'PRIVATE KEY' 여야 하는데 'CERTIFICATE'로 잘못 임포트된것 같다고 함

SAP PO-Snowflake 간 연계관련 정리

  • PO JDBC어댑터에서 Snowflake DB연결할때 발생되는 드라이버 오류에 대한 현상과 해결방안 등의 내용
  • 신규 DB연계 시 JDBC공급업체에 PO내 자바버젼과 호환되는 JDBC드라이버를 다운로드 필요

  • SAP PO에서 Snowflake JDBC드라이버 사용시 XML데이터 변환 실패에 대한 내용
  • 우회하여 해결하는 방법을 알려주고 있지만 SAP 공식적인 해결방법은 아닌듯
  • 3299186-Snowflake Connectivity using CPI노츠에서의 CPI와 Snowflake에서 지원하는 오픈 컨넥터로 가능한듯
    • 그외 어댑터 지원 관련되서는 SAP Cloud Integration > Connectivity(Adapters)사이트 통해 확인 가능함

2024-01-21

Message Status Overview가 안보일때

SAP PO의 Message Status Overview는 갑작스런 장애나 아니면 비정상적인 현상으로 화면이 안보일때가 있는것 같고 관련된 내용을 정리하였음

간략하게 오버뷰 특징을 정리해보면

  • 항상 메시지 수신 시점을 기준으로 보여진다고함
  • 기본적으로 비동기 메시지가 표시
  • 동기식 메시지는 로깅을 활성화 하는 경우 표시
    • 싱글,듀얼스텍 동일하며 설정위치는 다름
    • xiadapter.stage.conf 스테이징, xiadapter.logger.conf 로깅구성
  • 보여지는 메시지 수는 데이터베이스 탭에 표시된 수와 다를수 있음?

서비스패키지가 낮은경우 메시지 검색속도가 낮은경우가 있는것 같은데 해당 PO서버에 맞는 패키지적용 후에는 속도가 개선되는 경우가 있는것 같음

만약 안보일때는?

3098733-Message Status Overview is slow and no data displayed in it를 보면 NWA > Locks: Java Locks의 잠금 해제에 대한 방법이 나와있으며
XI_AF_PROF로 시작되는 락,테이블명도 확인이 되는것 같은데 이것과 관련이 있는것으로 보임

그 외 

2730926-Message Overview: Aggregation job hangs의 NWA > Background Job Processing Monitor > Adapter Framework Scheduler Jobs탭에서의 주기적으로 실행되는 데이터집계 관련 백그라운드 확인 내용도 있는데 일반적으로 집계는 밀리초 내에 완료되고 Overview의 성능에는 영향을 끼치지 않는다고 하는데 만약 해당 스케쥴이 오랫동안 실행중이며 관련 화면에 엑세스할수 없다면? 확인이 필요해보임

SAP XI/PI/PO 컨설턴트 이후 시도할수 있는 부분들

IT가 아닌 다른 직종에서도 오랫동안 한 업무를 하다보면 어떤 이유로 인해 다른일 하고 싶은 마음이 들거나 하고 싶은 생각이 들수도 있는것 같음
만약 SAP XI/PI/PO의 EAI업무 및 인터페이스 시스템 통합 등 오랫동안 일을 했던사람이고 다른일을 찾는경우에 대해 내용을 정리해보았음

아래내용은 오래된 내용도 있을수 있어 참고부탁드리겠습니다.

어느 3년경력의 SAP PI 개발자 새로운 시도에 대한 AI의 답변

  • SAP관련 지식을 늘리는것
    • EAI와 별개로 관심있어했던 SAP 모듈이나 시스템들 → SAP ABAP, SuccssFactors 등
  • 다른 EAI솔루션 경험
    • SAP의 EAI말고도 다른 회사의 EAI제품도 있음
    • 다른 통합기술을 배워 전문지식을 더 키우는 방법
  • 관리 기술들 습득
    • 기술스킬 외에 관리스킬이 필요할때가 있을수 있음
    • 관리스킬로 프로젝트관리,커뮤니케이션능력,리더쉽 등
  • 미래지향 스킬 습득
    • 4차산업혁명과 관련된 기술
    • 클라우드컴퓨팅,빅데이터,AI 등

2024-01-07

MSSQL TOP, NOLOCK관련 SQLServerException 쿼리시간 초과 에러관련 내용 정리

MSSQL안에 테이블 조회 시 간혈적으로 타임아웃이 발생되는데 정상조회 시 약 30초가 소요됨 왜 타임아웃이 발생되는 걸까? 이에 궁금한 부분을 확인 내용을 정리

조회 조건은

  • 쿼리에는 TOP구문으로 데이터 존재 유무 확인
  • [테이블명] with (nolock) 구문 포함
  • PO JDBC Sender채널 > Advanced에 'sqlquerytimeout' 파라메터 추가

TOP이란?

  • 테이블 레코드 조회 후 결과에 대해 상위 몇개만 표시하는 구문 → 일단 전체레코드에 대한 조회?
  • SELECT TOP [조회 레코드 수] [컬럼] FROM [테이블명] WHERE [조건] 처럼 쓰임
  • ORDER BY 관련
    • 같이 사용하지 않으면 임의 순서로 반환
    • 같이 사용하면 처음 순서로부터 행을 반환
  • 조회할 레코드 수는 상수,변수,백분율로 사용 가능
  • WITH TIES와 사용하면 중복값 포함한 결과
  • TOP문 동작
    • TOP 3일때 3개의 배열 생성
    • 배열에 조회된 값들이 채워짐(ORDER BY없는 경우)
    • ORDERY BY이 있다면 그 조건에 따라 반복적인 프로세스를 진행하는듯?
  • DELETE,UPDATE,MERGE,UNION 등에 사용 시 생각했던대로 처리가 안될수 있음 → 예를들어 더 많은 레코드가 삭제되거나 잘못된 값의 수정 등이 발생될수 있다고 함
  • Oracle의 ROWNUM, MYSQL Limit와 유사하게 사용 가능하는듯

PO서버 Severe error occured while accessing the batch job cluster lock. Will abort the batch job processing과 Problems with Enqueue Server and/or communication issues. If system cannot recover, check logs of Enqueue Server에러내용 정리

PI/PO에서 발생되는 장애 관련되서 인터페이스 연계되는 시스템 외에 SAP Netweaver 운영서버의 클러스터나 CI,SCS,ERS에 장애가 발생될때에도 영향을 받는 듯함

PO서버 에러내용

서버 에러는 NWA메뉴의 Log Viewer이나 NWDS의 Mnagement Console에서
'defaultTrace'파일에서 확인이 가능한데 NWDS툴이 무겁지만 않으면 이 기능에서 계속 확인해보고 싶음
ThreadName: Timeout Event Processor, id [], invocation
CNSComponent: BC-ESI-WS-JAV-CFG
Text: Servere error occured while accessing the batch job cluster lock. Will abort the batch job Processing.
[EXCEPTION]
com.sap.esi.esp.lib.mm.config.exceptions.TechnicalException: Server error occured while accessing the batch job cluster lock. Will abort the batch job Processing
 at com.sap.esi.esp.service.server.SOATimeoutListenerImpl.run(SOATimeoutListenerImpl.java:411
배치잡 클러스터 잠금에 접근하는데 오류가 발생했다고 하는데 뭔지 모르겠음

2023-12-23

java.sql.BatchUpdateException: Data truncation: Incorrect string value: '\xF0\x9F\x90\xBE' for column at row 1에러내용 해결과정

SAP PO에서 MySQL 전송시 아래와 같은 에러를 확인하는 경우가 있는데 전송되는 데이터에 이모티콘이나 이모지가 포함되서 에러가 발생되었었음
java.sql.BatchUpdateException: Data truncation: Incorrect string value: '\xF0\x9F\x90\xBE' for column at row 1
\xF0\x9F\x90\xBE이걸로 구글에서 검색하면 곰발바닥 같은 이모지가 확인이 되는데 
에러내용으로 검색해보면

DB의 컬럼 언어셋을 utf8mb4로 변경해야되는것 같고 요청 후에는 utf8mb4_unicode_c로 변경 후에 다시 전송해보니 동일한 에러가 발생되었음

이후에 JDBC Receiver채널에 셋팅된 접속정보를 
?characterEncoding=utf8&serverTimezone=Asia/Seoul → serverTimezone=Asia/Seoul 변경후에는 정상적으로 전송된것으로 확인

과연.. 이전 언어셋으로 DB컬럼 원복후 전송했어도 성공되었을까?

하지만 다른 컬럼의 한글데이터들이 ??? 이렇게 들어오는 바람에 다시 원복 모르겠다..
추가로 ?characterEncoding=utf8mb4 이거나 utf8mb4_unicode_c 이렇게 해도 안되었음

해당 내용을 정리하다보니 동일한 에러로 정리했던 글이 있었음

PO web tools(ESR,ID) 실행이 안될때(OCSP response error: MALFORMED_REQUEEST)

어느날 갑자기 잘만 실행되었던 PO의 ESR,ID 툴이 실행이 안되었던적이 있어 찾아본 내용을 정리하였습니다.

에러,현상 정리

실행할때 자바 콘솔로그에는 아래와 같이 발생되면 툴 실행이 실패
보안을 위해 애플리케이션이 차단됨
인증서 검증을 실패했습니다.
애플리케이션이 실행되지 않습니다.
java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: OCSP response error: MALFORMED_REQUEEST

인증서 관련 오류인것 같은데 암호화 통신 기반이 되느느 SSL,TLS에서는 인증서관리가 매우 중요하며 인증서에는 만료기간 및 생성,폐지,갱신 등이 필요하여 무결성이 항상 유지되어야 한다고 하며 무결성 유지를 하기 위해 OCSP,CRL,OCSP Stapling 등 기술등이 사용되어 유지되어있는 것같음

OCSP란?

  • OCSP = Onlice Certificate Status Protocol = 온라인인증서 상태 프로토콜
  • X.509를 이용한 전자 서명 인증서의 폐지상태를 파악하는 사용되는 인터넷 프로토콜
  • CRL보다 동일한 기능이지만 개선된 표준
  • 인증기관의 서버에서 실시간으로 인증서의 유효성을 검증
  • OCSP가 CRL보다 우선 → 모두 가능한경우
  • 만료여부를 CA인증서 DB에 직접요청 → CRL보다 빠름
  • good,revoked,unknown의 세가지 응답값
  • 유효하지 못한 인증서는 error code로 응답
  • 실시간으로 많은 요청이 발생되는 경우 응답이 느리거나 접속을 보장해줄수 없는 상태가 될수도 있음

2023-12-18

PO시스템 패스워드 규칙,정책이 변경되어야 하는 경우

"직접 패스워드 규칙이나 정책을 수정한적 없고 문서내용 토대로 정리한 내용입니다."

SAP PO 프로젝트는 모르겠고 운영을 하다보면 PO시스템 내에서 아니면 외부시스템에서 PO접근할때 사용하는 시스템계정이나 모니터링 등 기능을 사용할때 사용자 유저 등에 대한 패스워드 규칙이나 정책이 변경될 경우의 내용을 정리해보았습니다.

위 노츠에서는 싱글,듀얼 스택의 PI/PO에서의 설정된 PI*유저 등의 시스템 유저들이 사용되는 메뉴나 위치등과 작업절차에 대해 알수 있는것 같습니다.


http://<host>:<port>/irj의 시스템관리 > UME구성이나 NWA > Configuration > Security > Identity Management 메뉴의 보안정책 메뉴에서 아이디/패스워드 정보를 볼수 있으며 그룹별로 수정,반영이 가능해 보였고 수정가능한 항목들을 보면 로그인 횟수,아이디/패스워드 길이 등 다양하게 구성 되어있습니다.

그외 고객요청에 따라 어댑터모듈이나 자바프록시 등을 사용할때 생성된 아이디를 가지고 소스에 하드코딩된 경우도 본것 같은데 나중에 이런 규칙이나 정책이 변경되는 작업을 고려하며 개발하는것도 좋을것 같습니다.

ABAP Proxy에서 호출된 EOIO+ACK호출은 왜 PO에서 홀딩로그만 보일까요?

인터페이스 현상정리

  • ABAPPROXY to JDBC 그리고 EOIO+ACK방식
  • 간혈적으로 발생되는 현상임
  • ACK상태가 'Still awaiting acknowledgment'일때만 PO로그상태가 'Holding'임?
  • 타겟에 프로시저 호출이 있음
  • 소스에서 배치로 실행되는데 해당 시간에 사용량이 많음?

EOIO특징

  • 앞에 메시지가 전송될때까지 뒤에있는 메시지는 Holding상태
  • 소스쪽에서 EOIO=exactly once in drder로 전송한 순서대로 전달 → 로그에 시퀀스넘버 생성됨
  • 처리중에 오류가 발생된 다음 로그들은 앞에 에러난 메시지가 처리(재처리성공,취소)될때까지 처리되지 않음
  • 에러로그 재처리 시도시 다음 메시지도 이어서 처리됨
  • 홀딩된 로그만 보이는 경우 검색조건을 길게 해서 동일 큐이름의 에러로그를 확인해야함
  • 그래도 찾기 힘들면 검색조건에 시퀀스아이디로 조회 가능

2023-11-25

SAP PO의 매핑에서 오라클DB의 Date/Timestamp 펑션처리 필요할까?

동일한 PO서버이지만 매핑에서 어떤 타겟서버는 오라클의 날짜/시간 펑션을 사용해야 인터페이스 수행이 되고 어떤 서버는 사용안해도 잘 되는 이유는 뭘까요?

펑션을 사용안하는 PO서버를 A, 사용하는 서버를 B라고 하고 송,수신 DB 컬럼타입을 Timestamp인경우 A같은경우 매핑에서TO_TIMESTAMP 펑션을 사용안하는 경우 'ORA-01843: not a valid month' 에러가 확인되었고 B서버에서는 펑션을 사용해도 타겟DB에 데이터가 잘 전송이 되었던적이 있습니다.

아무리 두개의 서버의 차이점을 찾아봐도 모르겠고 결국에 찾아낸건
NWA의 상단에 System Time/Date 값이 예를들어
A서버는 '11/09/2023 04:47 PM KST'로 되어있고 B서버는 '11/09/2023 04:53 오후 KST'로 되어있는데 왜 위와 같은 현상이 발생되는지 모르겠군요..

그리고 왜 소스쪽에서는 다르게 발생될까요..

로그뷰어의 'An error occurred while listing the destinations of type HTTP. The error was Cannot lock...'에러내용

메시지 모니터링에서 아래와 같은 에러를 본다면?
Exceptionn caught by adapter framework: com.sap.aii.af.sdk.xi.srt.BubbleException: Unable to get the destination due to com.sap.security.core.server.destinations.api.DestinationException: [com.sap.ASJ.dest.sv0707] Application or service sap.com/com.sap.aii.adapter.soap.app tried to access destination [Destination이름] of type HTTP which does not currently exist in the destination service. You can create destinations in the NWA under Configuration Management-InFrastructure-Destinations. [null "null"]
에러내용이 엄청 긴데요. SAP 시스템에 프록시 채널 통해서 통신하려고 만든 NWA의 Destination을 못찾는것 같은데.. 생소한 에러였던것 같습니다. 메시지모니터링에서 위에러가 확인되기전에는 로그뷰어에서 'An error occurred while listing the destinations of type HTTP. The error was Cannot lock...'뒤에 나와있는 아이디 같은것을 확인가능한데 NWA > Locks 메뉴에서 검색하면 잠금목록을 찾게 되는데 저에러와 뭔가 관련있어 보이네요.

해결의 힌트는 아래 노츠에서 찾았던것 같습니다.

2023-10-11

MySQL 'SQLSyntaxErrorException: You have an error in your SQL syntax' 역슬래시(,backslash) 에러내용 정리

SAP PO와 MySQL 연계 인터페이스에서 역슬래시(₩,backslash)데이터로 인해 발생된 에러에 대해 정리해보았습니다.

최초 에러내용은
Unable to execute statement for table or stored procedure. '[테이블명]' (Structure '[상위노드명]' due to java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near...

Receiver JDBC Adapter의 채널 접속정보 셋팅은
jdbc:mysql://[아이피]:[포트]/[서비스네임]?serverTimezone=Asia/Seoul&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=ture
이렇습니다.

전에 정리했던 'SAP PO에서 UTF8B4 데이터처리를 어떻게 해야할까?' 내용에서의 셋팅이 기억이 나서 혹시나 characterEncoding=utf8 → utf8mb4로 변경해서 테스트해보니 에러가 나는군요..
JDBC message processing failed; reason Error when attempting to get processing resources: com.sap.aii.af.lib.util.concurrent.ResourcePoolException: Unable to create new pooled resourace: DriverManagerException: Cannot establish connection with the registered driver. com.mysql.jdbc.Driver returns: Unsupported character encoding utf8mb4.: SQLException: Unsupported character encoding utf8mb4