SAP PO에서 PROXY to File인 인터페이스에서 XML to CSV로 커버젼 할때 발생되는 에러에 대해 정리를 했습니다. 그외 로직으로는 소스쪽에서 보낸 파일명으로 파일을 그대로 생성해주는 부분이 존재하는데 UDF로 아래의 소스 참고하시어 생성을 하면 됩니다.
DynamicConfiguration conf = (DynamicConfiguration)container.getTransformationParameters().get(StreamTransformationConstante.DYNAMIC_CONFIGURATION)
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName);
conf.put(key,
이렇게 만들고 테스트를 해보니 아래와 같은 에러가 발생되었습니다.
에러내용
MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error occurred while connecting to the FTP server: java.lang.Exception: Exception in XML parser (format problem?):java.lang.Exception: Message proessing failed in XML parser: Conversion configuration error: Unknown structure found in document, probably configuration error in file adapter (XML parser error)
왜 에러나는걸까?
소스쪽에서 파일명대로 파일은 잘 생성이 되지만 Content Converion 탭에 설정만 하면 에러가 발생되는데 기존 유사 인터페이스와 비교를 해보는데 차이점을 하나 발견합니다. 두개 UDF는 동일하지만 타겟쪽에 매핑이 Element(에러), Variable(성공) 이라는 차이가 있었고 시간이 없어서 끝까지 확인은 못했봤지만 타겟쪽 File Adapter에 설정된 Content Conversion에 없는 엘리먼트가 존재해서 Conversion configuration error, found in document에 대한 에러가 발생된게 아닐까 추측이 되는데 타겟의 컨버젼하는 XML에는 컨버젼 설정되는 엘리먼트,필드 외에 없어야 하는것 같다는 생각이 듭니다.현재는 매핑에서 Add Variable로 생성해서 UDF와 매핑한 로직은 정상적으로 파일명 변경 및 xml to csv로도 파일내용이 잘 컨버젼 되고 있습니다.
그외 FTP와 SFTP 간 Conversion에 대한 어댑터안에 설정위치, 방법이 다른데 아래내용을 참고하시면 좋을것 같습니다.
댓글 없음:
댓글 쓰기