변경된 WSDL 업데이트

WSDL 및 WSDL 변경사항을 사용하는 프로젝트를 작성한 경우, 아래 프로시저의 설명대로 기존 WSDL을 새 WSDL로 업데이트하려고 시도할 수 있습니다.

이 태스크 정보

WSDL을 업데이트하면 WSDL과 상호 작용하는 모든 엔티티가 변경에 따른 영향을 받을 수 있습니다. 예를 들어, WSDL은 조작의 입력 및 출력 매개변수를 정의하므로 이러한 매개변수를 정의하는 스키마가 새 WSDL에서 변경되면 웹 서비스 활동의 입력 맵핑출력 맵핑 태스크에서 해당 매개변수를 나타내는 노드가 더 이상 존재하지 않고 해당 노드에 대한 링크가 더 이상 유효하지 않게 됩니다. 오케스트레이션이 다시 올바른 상태가 되려면 링크를 다시 작성해야 합니다. WSDL을 업데이트하려면 링크를 다시 작성하는 것 이외에 다른 프로젝트 변경이 필요합니다. 세부사항은 아래 표를 참조하십시오. 다음 표의 처음 새 행에 설명된 대로 새 WSDL이 로드되지 않는 경우도 있습니다.
주: 기존 WSDL 업데이트(아래 프로시저에 설명)는 프로젝트 탭으로 파일을 끌어오거나 프로젝트 탭에서 WSDL 폴더를 마우스 오른쪽 단추로 클릭하고 문서 추가를 선택하여 여러 WSDL을 프로젝트에 로드하는 것과 다릅니다. WSDL을 업데이트하면 프로젝트에서 기존 WSDL이 바뀌고 프로젝트 탭에 동일한 파일을 업로드하면 프로젝트에 WSDL의 두 인스턴스가 작성됩니다.
WSDL의 변경사항 새 WSDL로 업데이트 여부 프로젝트에 대한 영향
새 WSDL이 올바른 WSDL이 아닙니다. 예를 들어, WSDL 끝에서 최종 </definitions> 태그가 누락됩니다. 아니오, 업데이트가 발생하지 않습니다. 아니오, 새 WSDL이 로드되지 않습니다. 프로젝트 엔티티가 업데이트되지 않습니다.
기존 WSDL을 바꾸기 위해 새 WSDL을 업로드하면 프로젝트가 올바르지 않게 됩니다. 아니오, 업데이트가 발생하지 않습니다. 아니오, 새 WSDL이 로드되지 않습니다. 프로젝트 엔티티가 업데이트되지 않습니다.
현재 WSDL을 다른 WSDL과 오케스트레이션 또는 프로젝트의 엔드포인트로 업데이트하려는 시도는 현재 WSDL을 참조합니다.
주: 프로젝트에 여러 WSDL을 로드할 수 있습니다.
아니오, 업데이트가 발생하지 않습니다. 아니오, 새 WSDL이 로드되지 않습니다. 프로젝트 엔티티가 업데이트되지 않습니다.
WSDL의 서비스 바인딩 정의는 서비스, 포트 및 위치 요소로 정의됩니다. WSDL에서 서비스, 포트 및 위치 요소의 값이 변경되면 웹 서비스 엔드포인트에 저장된 해당 요소의 값이 업데이트되어야 합니다. 예, 업데이트가 발생합니다. 웹 서비스 엔드포인트의 값이 WSDL에 지정된 최신 값으로 업데이트됩니다. 이러한 요소에 대한 세부사항은 웹 서비스 엔드포인트 작성 또는 편집을 참조하십시오.
조작의 이름이 WSDL에서 변경되고 오케스트레이션이 해당 조작을 서비스 호출 활동에서 시작합니다. 예, 업데이트가 발생합니다. 조작 이름이 변경되고 서비스 호출 활동이 해당 조작을 사용하는 경우, WSDL의 첫 번째 조작은 기본적으로 서비스 호출 활동에 지정됩니다. 이와 같이 첫 번째 조작에 대한 재지정은 원하는 결과가 아닐 수 있습니다. WSDL에서 첫 번째 조작의 입력 및 출력 매개변수는 원래 지정된 조작과 다를 수 있으므로 입력 맵핑출력 맵핑 태스크에 더 이상 링크가 존재하지 않을 수 있습니다. 오케스트레이션이 유효하려면 서비스 호출 활동을 다시 구성해야 합니다.
WSDL에서 조작 중 하나의 이름이 변경되지만 오케스트레이션은 서비스 호출 활동에서 해당 조작을 시작하지 않습니다. 예, 업데이트가 발생합니다. 조작의 이름이 변경되고 해당 조작을 서비스 호출 활동이 사용하지 않으면 WSDL에 대한 이 변경사항이 아무런 영향도 주지 않습니다.
조작의 입력 또는 출력 매개변수를 정의하는 요소에 <part> 요소가 더 추가됩니다. 이 변경사항은 WSDL의 이 파트를 참조하는 프로젝트 엔티티에 영향을 줍니다. 다음은 영향을 받을 수 있는 엔티티의 목록입니다.
  • 독립형 맵
  • 변수 맵핑 활동
  • WSDL의 이 파트를 기반으로 하는 변수
  • 이 메시지 유형을 사용하는 조작을 시작하는 서비스 호출 활동이 포함된 오케스트레이션. 예를 들어, 다음 예제 <message> 요소와 같은 경우입니다.
<message name="HelloIn">
	<part name="address" type="xsd:string>
</message>
Add the following additional <part> element
<message name="HelloIn">
<part name="address" type="xsd:string>
<part name="city" type="xsd:string>
</message>
예, 업데이트가 발생합니다. <part> 요소는 <message> 요소에만 추가되었으므로 이 변경사항은 WSDL을 기반으로 하는 기존 맵과 변수에 영향을 주지 않습니다. <Helloin> 메시지 예제의 경우, 새 city 요소를 추가해도 서비스 호출 활동의 입력 맵핑 또는 출력 맵핑 태스크에서 기존 주소 <part> 요소에 대한 링크에 영향을 주지 않습니다. 필요한 경우 새 요소에 대한 링크를 작성할 수 있습니다.
조작의 입력 및 출력 매개변수를 정의하는 <message> 요소에서 <part> 요소의 유형을 변경합니다. 이 변경사항은 WSDL의 이 파트를 참조하는 프로젝트 엔티티에 영향을 줍니다. 다음은 영향을 받을 수 있는 엔티티의 목록입니다.
  • 독립형 맵
  • 변수 맵핑 활동
  • WSDL의 이 파트를 기반으로 하는 변수
  • 이 메시지 유형을 사용하는 조작을 시작하는 서비스 호출 활동이 포함된 오케스트레이션
예, 업데이트가 발생합니다. 유형이 변경되더라도 맵의 기존 링크는 제거되지 않습니다.
경고:
유형 변경으로 런타임에 영향을 줄 수 있으므로 출력 데이터가 잠재적으로 올바르지 않을 수 있습니다. 맵 링크에서 수행된 유형 변환으로 인해 런타임 시 잘못된 출력 데이터가 리턴되지 않는지 확인하십시오.
조작의 입력 또는 출력 매개변수의 <message> 요소를 변경합니다.

이 변경사항은 WSDL의 이 파트를 참조하는 프로젝트 엔티티에 영향을 줍니다. 다음은 영향을 받을 수 있는 엔티티의 목록입니다.

  • 독립형 맵
  • 변수 맵핑 활동
  • WSDL의 이 파트를 기반으로 하는 변수
  • 이 메시지 유형을 사용하는 조작을 시작하는 서비스 호출 활동이 포함된 오케스트레이션
예, 업데이트가 발생합니다. 맵에서 변경된 입력 또는 출력 매개변수에 대한 링크가 제거됩니다. 맵에서 변경된 매개변수에 대한 링크를 작성해야 합니다. 예를 들어, 서비스 호출 활동으로 호출된 조작의 입력 매개변수에 대해 <message> 요소가 변경되는 경우 서비스 호출 활동의 입력 맵핑 태스크에서 노드에 대한 링크가 제거됩니다. 변수에서 입력 맵핑 태스크의 활동으로 분할창에 표시되는 새 노드 세트로의 링크를 작성해야 합니다.