WSDL에서 들여오기: 생성된 오브젝트 및 제한사항

이 주제에서는 WSDL 정의를 들여올 때 생성되는 오브젝트와 인지해야 하는 일부 제한을 설명합니다.

생성된 오브젝트

명령행 들여오기로 복사되는 파일
mqsicreatemsgdefsfromwsdl 명령은 들여오기 프로세스 실행 전에 필요한 WSDL 파일을 작업 공간으로 복사합니다. 이는 최상위 레벨 WSDL 파일이며 상대 위치를 사용하여 들여오기를 해석합니다. 파일이 지정된 메시지 세트에서 importFiles 폴더로 복사됩니다.
보고서 파일
WSDL 임포터는 들여오기 조작 결과를 보고서 파일에 추가하며 프로세스 중에 발생한 오류를 나열합니다. 보고서 파일 이름은 <message set>.wsdl.report.txt입니다.
SOAP 메시지 정의
필수 SOAP mxsd가 메시지 세트에 추가됩니다. 현재 SOAP 1.1 정의 들여오기가 항상 수행됩니다. 다음과 같은 이유로 SOAP 1.1 메시지 정의가 권장됩니다.
  • SOAP 1.1이 SOAP 1.2보다 널리 사용됩니다.
  • WSDL 1.1에 대한 표준 SOAP 1.2 바인딩이 없습니다. 이는 SOAP 1.2가 필수임을 WSDL 임포터가 신뢰성 있게 판별할 수 없음을 의미합니다.
  • 동일한 메시지 이름(예: 인벨로프)을 사용하므로 SOAP 1.1 및 SOAP 1.2 정의 모두를 들여올 수 없습니다.

SOAP 1.2 인스턴스 문서를 구문 분석해야 하는 경우 SOAP 1.1 정의를 수동으로 제거하고 메시지 정의 파일 마법사를 통해 SOAP 1.2 정의를 들여오며 IBM 제공 메시지를 선택해야 합니다.

메시지 세트에 TDS 또는 CWF 계층이 있는 경우 들여온 SOAP 정의에 대해 여러 경고가 표시됨을 알 수 있습니다. 이 가운데 대부분을 무시할 수는 있지만 Boolean 속성에 대해 허용되는 값을 고려해야 합니다. SOAP 1.1의 Boolean 값이 1 또는 0인 반면 SOAP 1.2의 값은 참 및 거짓입니다. 메시지 세트에 대한 Boolean 값의 XML 표시가 XML 물리적 형식의 물리적 등록 정보에 지정되어 있으며 이에 따라 설정해야 합니다.

메시지 정의 파일
기타 메시지 정의 파일 이름은 <input file name>.mxsd로 작성되며 컨텐츠는 WSDL 양식에 따라 다릅니다.
문서 양식
양식=”문서”(모든 SOAP 헤더, 결함 및 헤더 결함 부분을 포함)의 WSDL 메시지 부분은 XML 스키마에 정의된 요소를 참조합니다. 이 요소는 mxsd의 전역 요소 및 브로커 메시지로 들여오기가 수행됩니다.

메시지의 xsi:type 출력 정책이 "수행하지 않음"으로 설정됩니다.

rpc 양식
양식=”rpc”의 WSDL 메시지 부분(및 SOAP 본문에 독점적으로 할당된 부분)은 XML 스키마에 정의된 유형을 참조합니다. 이 경우 입력 및 출력 메시지가 다음과 같이 작성됩니다.
  입력 메시지 출력 메시지
도출 대상 WSDL 조작의 wsdl:input 하위(있는 경우)와 이에 따라 식별되는 WSDL 메시지 및 부분 WSDL 조작의 wsdl:output 하위(있는 경우)와 이에 따라 식별되는 WSDL 메시지 및 부분
요소 이름 WSDL 조작 요소의 이름 속성 값 "Response"가 접미부로 사용된 WSDL 조작 요소의 이름 속성 값
요소 네임스페이스 해당 soap:body 요소의 네임스페이스 속성 값 해당 soap:body 요소의 네임스페이스 속성 값

각 메시지는 로컬 복합 유형으로, 일련의 요소입니다. 각 요소 이름은 각각 입력 또는 출력 요소에 의해 식별된 메시지의 WSDL 부분에서 이름 속성 값이 됩니다. 이 요소는 네임스페이스가 없으며(근본적인 스키마 표현의 형식="규정되지 않음") 이름이 충돌되지 않도록 로컬로 범위가 지정됩니다. 이 로컬 요소의 유형은 해당 부분 요소의 유형 속성에 의해 참조되는 XML 스키마 유형입니다. (유형이 WSDL 스키마에서 전역이 됩니다.)

soap:body가 WSDL 정의에서 사용="인코딩됨"으로 정의된 경우 SOAP-ENV 네임스페이스의 속성 그룹 encodingStyle에 대한 참조가 메시지 정의에 포함되며 메시지의 xsi:type 출력 정책이 "SOAP 인코딩 규칙 준수"로 설정됩니다. 그렇지 않으면 메시지의 xsi:type 출력 정책이 "수행하지 않음"으로 설정됩니다.

제한사항

WSDL 정의 들여오기와 관련된 일부 제한을 설명합니다. 이는 WSDL 정의가 WS-I를 준수하지 않는 경우에 적용됩니다.
SOAP 배열
WSDL 1.1 정의에서 SOAP 배열을 정의할 수 있습니다(WSDL rpc 인코딩된 양식에만 적용, WS-I 미준수).
    <xsd:complexType name="t">
          <xsd:complexContent>
            <xsd:restriction base="SOAP-ENC:Array">
              <xsd:sequence>
                <xsd:element name="item" type="string" maxOccurs="unbounded"/>
              </xsd:sequence>
              <xsd:attribute  ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/>
            </xsd:restriction>
          </xsd:complexContent>
    </xsd:complexType>

SOAP 배열 구문의 일부 사용이 완전하게 지원되지 않습니다. 구문 분석 중 유용한 트리가 작성되지만(및 기록 시 직렬화가 가능) 다음에 유의하십시오.

  • 모델이 SOAP-ENC:arrayType 속성을 고려하지 않습니다.
  • 부분 전송 배열 모델이 SOAP-ENC:offset 속성을 고려하지 않습니다.

    예를 들어, offset[2]로 지정된 배열의 첫 번째 요소가 ESQL에서 InputRoot.MRM.array.item[3]이 아닌 InputRoot.MRM.array.item[1]로 액세스됩니다.

  • 다중 차원 배열 모델이 표현을 단일 차원으로 평면화합니다. 예를 들어, 2 차원 배열이 ESQL에서 InputRoot.MRM.array.item[x][y]가 아닌 InputRoot.MRM.array.item[i]로 액세스되며 이 경우 색인 i가 적절히 계산되어야 합니다.
익명 요소
위의 WSDL 발췌 부분은 다음 형식의 SOAP 인스턴스 문서를 설명합니다.
    <SOAP-ENC:Array SOAP-ENC:arrayType="xsd:string[3]">
       <item xsi:type="xsd:string">A general text string</item>
       <item xsi:type="xsd:token">A restriction of the string type</item>
       <item xsi:type="xsd:Name">ARestrictionOfTheTokenType</item>
    </SOAP-ENC:Array>

브로커 모델이 이를 예상대로 핸들링하지만 SOAP 인코딩에서는 SOAP 인코딩 네임스페이스로부터 유형 요소를 사용하는 데 배열 요소도 허용됩니다. 이는 동일한 WSDL 정의를 사용하는 응용프로그램이 다음 형식의 인스턴스 문서를 작성할 수 있다는 것을 의미합니다.

    <SOAP-ENC:Array SOAP-ENC:arrayType="xsd:string[3]">
       <SOAP-ENC:string>A general text string</SOAP-ENC:string>
       <SOAP-ENC:token>A restriction of the string type</SOAP-ENC:token>
       <SOAP-ENC:Name>ARestrictionOfTheTokenType</ SOAP-ENC:Name>
    </SOAP-ENC:Array>

구문 분석기가 자체 정의 요소로 처리할 수 없는 경우 이를 핸들링할 수 있도록 WSDL 들여오기를 통해 작성된 브로커 모델을 수동으로 편집해야 합니다.

관련 개념
메시지 모델링
메시지 모델
관련 태스크
메시지 모델 개발
메시지 정의 파일 관련 작업
메시지 모델 오브젝트에 대한 작업
관련 참조
메시지 모델 참조 정보
들여오기 형식
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ad30560_