Cast 함수를 사용하여 로컬 환경 트리에서 일반 유형 구성

Cast 함수를 사용하여 로컬 환경 트리 (예: 변수 폴더) 에 정의된 메시지 맵 에서 변수를 정의할 수 있습니다.

태스크 정보

때때로 로컬 환경 또는 메시지 어셈블리의 다른 부분에서 일반 유형 변수로 전달되는 정보를 사용해야 합니다. 예를 들어, 다음 예제와 같이, 로컬 환경 변수 폴더에서 이전 노드가 제공하는 값에 기반하는 메시지 본문에 있는 다른 요소의 출력 값을 계산해야 할 수 있습니다.
LocalEnvironment.Variables.value_name
이 예에서 Variables는 일반 요소이며, 각 value_name에 대해 여기에 필수 요소를 정의해야 합니다. 또한 출력 로컬 환경에서 값(Destination.specific_node)을 설정하여 다음 노드의 동작을 대체할 수 있습니다. 예를 들어,
  • 메시지 플로우에서 라우팅하는 경우 맵을 다음과 같이 설정할 수 있습니다.
    LocalEnvironment.Destination.RouterList.DestinationData[1].labelName
  • REST 요청을 발행하도록 매개변수를 설정하려면:
    LocalEnvironment.Destination.REST.Parameters.parameter_name
    이 경우 Parameters는 일반 요소이며, 각 parameter_name에 대해 여기에 필수 요소를 정의해야 합니다.
  • LoopBack 요청에서 사용하기 위해 필터에서 순서를 설정하려면:
    LocalEnvironment.Destination.Loopback.Request.filter.order[1].name
    이 경우 order는 일반 요소이며, 각 name에 대해 여기에 필수 요소를 정의해야 합니다.

프로시저

변환의 일부로 해당 요소를 사용할 수 있도록 로컬 환경 트리 변수 또는 다른 일반 요소를 구성하려면 다음 단계를 완료하십시오.

  1. 메시지 모델에 필수 요소 (예: XML 스키마, DFDL 스키마, JSON 스키마 또는 Swagger 문서) 가 이미 정의되어 있는 경우 이 단계를 생략하고 2단계로 이동하십시오. 그렇지 않으면 이 단계를 완료하여 데이터를 정의할 모델을 작성하십시오.

    애플리케이션, 통합 서비스또는 라이브러리에 스키마 파일을 작성하여 로컬 환경 트리 변수 폴더의 요소 및 해당 유형을 정의하십시오.

    • 애플리케이션 개발 보기에서 새로 작성 > 메시지 모델 > 기타 XML을 선택하십시오. 다음을 클릭하십시오.
    • 빈 XML 스키마 파일을 작성하십시오. XML 스키마 편집기를 사용하여 내 데이터를 모델화하려고 합니다를 선택한 후 다음을 클릭하십시오.

      이 그림은 빈 XML 스키마 파일 작성 옵션을 선택하는 창을 표시합니다. XML 스키마 편집기를 사용하여 내 데이터를 모델링합니다.

    • XSD 파일 YourLExsdFileName.xsd를 작성하십시오. 여기서, YourLExsdFileName은 로컬 환경 변수 폴더 메시지 모델이 포함되는 파일 이름입니다. 그런 다음 완료를 클릭하십시오.

      이 그림은 프로젝트를 선택하고 xsd 파일 이름을 입력하는 데 사용하는 창을 그래픽으로 표시합니다.

    • XSD 파일은 XML 스키마 편집기를 사용하여 변수 및 해당 유형을 정의하는 새 탭에서 열립니다.

      예를 들어, 다음 스키마를 정의할 수 있습니다.

      <?xml version="1.0" encoding="UTF-8"?>
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
             <xsd:element name="Country"  type="xsd:string"/>
             <xsd:element name="CountryCode"  type="xsd:integer"/>
      </xsd:schema>
      참고: ESQL 또는 Java™를 사용하여 메시지 플로우 노드 에서 로컬 환경 변수를 정의할 수 있습니다. 네임스페이스는 정의되지 않습니다. 이 때문에 스키마도 네임스페이스 선언 없이 정의됩니다.
  2. 캐스트 함수를 사용하여 메시지 맵 에서 로컬 환경 변수를 정의하여 맵의 변수 폴더 아래에 표시되도록 하십시오. 출력 로컬 환경 트리에서 변수와 변수의 유형에 any 요소를 캐스트하려면 다음 단계를 완료하십시오.
    • any 요소를 마우스의 오른쪽 단추로 클릭한 후 캐스트를 선택하십시오.

      이 그림은 요소를 캐스트하기 위해 선택하는 메뉴 옵션을 그래픽으로 표시합니다. 임의의 요소를 마우스 오른쪽 단추로 클릭한 후 캐스트를 선택하십시오.

    • 유형 선택 창에서 유형(예: Country)을 선택하고 확인을 클릭하십시오.
      이 그림은 빨간색 사각형 안에 Country및 CountryCode 요소가 있는 유형 선택 창을 표시합니다.
      주: 속성을 사용하는 XML 유형으로 캐스트하지 마십시오. 로컬 환경 트리의 데이터는 일반 구문 분석기를 사용하여 저장되며 특정 필드 유형이 설정되어 있지 않습니다 ( XMLNSC: 필드 유형 사용참조). 특히, 데이터를 XMLNSC 트리에서 로컬 환경 트리로 복사하는 경우, 요소 또는 속성 유형을 정의하는 필드 유형은 보존되지 않습니다. 데이터를 속성으로 모델화하는 경우, 맵은 XMLNSC 트리에 지정되는 필드 유형을 가지는 데이터 요소에 일치되는 XPath 표현식을 사용하여 데이터에 액세스하기 때문에 데이터를 읽지 않습니다.

결과

라우팅 또는 필터링을 위해 메시지 플로우 의 다른 메시지 플로우 노드 에서 사용할 수 있는 하나의 로컬 환경 변수를 정의했습니다.

메시지 맵의 로컬 환경 Variables 폴더에 Country 요소가 표시됩니다.

이 그림은 로컬 환경 변수 폴더의 요소 아래에 Country 요소를 그래픽으로 표시합니다.

다른 예제:

ESQL Compute 노드에서 다음 코드를 사용하여 로컬 환경 트리의 Variables 폴더 내에 두 개의 단순 필드를 설정하는 경우:

SET Outputlocal environment.Variables.dec = 10.1;
SET Outputlocal environment.Variables.str = 'Some text';

Cast 함수를 사용하여 맵핑 노드에서 이러한 필드에 액세스하려면 통합 솔루션 에서 스키마 파일을 작성하여 요소 및 해당 유형을 정의해야 합니다. ESQL이 해당 요소를 규정화하기 위해 어떤 네임스페이스도 사용하지 않기 때문에 스키마도 네임스페이스 선언을 사용하지 않고 정의됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <xsd:element name="dec"  type="xsd:decimal"/>
       <xsd:element name="str"  type="xsd:string"/>
</xsd:schema>

스키마 파일이 저장되면 로컬 환경 트리의 변수 섹션에서 any 요소를 선택하고 컨텍스트 메뉴 조치 캐스트 를 사용하여 메시지 맵에 필요한 각 요소 "dec" 및 "str" 에 대한 맵핑 캐스트를 추가할 수 있습니다. 자세한 정보는 입력 또는 출력 메시지에서 xsd: any 맵핑을 참조하십시오.

다음 수행할 사항

입력 로컬 환경 트리와 출력 로컬 환경 트리 사이의 변환을 정의하십시오. 자세한 정보는 그래픽 데이터 맵핑 편집기에서 변환 (맵핑 오퍼레이션)변환 유형 지정을 참조하십시오.