IBM Web Service(SOAP/HTTP) 바인딩을 위한 이주 옵션 1

WebSphere® Studio Application Developer Integration Edition SOAP/HTTP 프로세스 바인딩을 위한 첫 번째 이주 옵션은 웹 서비스 클라이언트에 액세스할 수 있는 비즈니스 프로세스를 작성하는 것입니다.

웹 서비스 바인딩을 사용한 내보내기에서는 외부 웹 서비스 클라이언트에서 액세스할 수 있는 SCA 컴포넌트를 작성합니다. 웹 서비스 바인딩을 사용한 내보내기를 작성하려면 다음을 수행하십시오.
  1. 이주 마법사가 작성한 모듈에 대한 어셈블리 편집기를 여십시오.
  2. 어셈블리 편집기에서 BPEL 컴포넌트를 마우스 오른쪽 버튼으로 눌러 WebSphere Studio Application Developer Integration Edition에서 IBM® Web Service(SOAP/HTTP) 바인딩을 생성한 각 BPEL 프로세스 인터페이스에 대해 SCA 바인딩을 사용한 내보내기를 작성하십시오.
  3. 내보내기…를 선택하십시오.
  4. 웹 서비스 바인딩을 선택하십시오.
  5. 컴포넌트에 대해 다중의 인터페이스가 있는 경우, 이 바인딩 유형으로 내보낼 인터페이스를 선택하십시오.
  6. soap/http 전송을 선택하십시오.
  7. 웹 서비스 내보내기를 작성한 후, 어셈블리 편집기에서 내보내기를 선택하고, 특성 보기에서 설명 컨텐츠 분할창을 선택하십시오. 내보내기 이름 및 설명이 나열되고 필요에 따라 수정할 수 있습니다.
  8. 어셈블리 다이어그램을 저장하십시오.
  9. 클라이언트 코드 보존이 바람직한 경우 다음 단계를 수행하여 새 웹 서비스 바인딩 및 서비스를 생성하십시오.
    1. ejbModule/META-INF/wsdl/business process name/business process interface port type name_HTTP.wsdl의 5.1 생성 EJB 프로젝트에서 비즈니스 통합 모듈 프로젝트로 5.1 WSDL 파일을 복사하십시오.
    2. 파일을 복사하고 모듈을 다시 빌드한 후 웹 서비스가 사용하는 XML 스키마 유형, WSDL 메시지 및 WSDL 포트 유형이 5.1에 있는 IBM Web Service WSDL 파일에서 중복되기 때문에 오류 메시지가 표시될 수 있습니다. 이를 수정하려면 IBM Web Service 바인딩/서비스 WSDL에서 중복 정의를 삭제하고 해당 위치에 실제 인터페이스 WSDL에 대한 WSDL 가져오기를 추가하십시오. 참고: WebSphere Studio Application Developer Integration Edition이 IBM Web Service 배치 코드를 생성했을 때 일부의 경우에 스키마 정의를 수정했음을 주의해야 합니다. 이는 IBM Web Service WSDL을 사용하는 기존 클라이언트에 대해 불일치를 유발할 수 있습니다. 예를 들어 원래의 스키마 정의가 규정되지 않은 경우, "elementFormDefault" 스키마 속성이 IBM Web Service WSDL에서 생성된 인라인 스키마에서 "qualified"로 설정되었습니다. 이는 런타임 중에 WSWS3047E: Error: Cannot deserialize element 오류가 생성되도록 합니다.
    3. 방금 비즈니스 통합 모듈에 복사한 이 WSDL 파일을 마우스 오른쪽 단추로 클릭하고 연결 프로그램을 선택한 후 WSDL 편집기를 선택하십시오.
    4. 소스 탭으로 이동하십시오. 이 파일에 정의된 모든 WSDL PortTypes 및 메시지를 삭제하십시오.
    5. 다음 오류가 표시됩니다. '<binding>' 바인딩에 대해 '<portType>' 포트 유형이 정의되지 않았습니다. 이를 수정하려면 그래프 탭의 WSDL 편집기에서 가져오기 섹션을 마우스 오른쪽 단추로 클릭하고 가져오기 추가를 선택하십시오.
    6. 일반 탭의 특성 보기에서 위치 필드의 오른쪽에 있는 단추를 클릭하십시오. WSDL 메시지 및 포트 유형 정의가 위치하는 인터페이스 WSDL을 찾아보고 확인을 클릭하여 인터페이스 WSDL을 서비스/바인딩 WSDL로 가져오십시오.
    7. WSDL 파일을 저장하십시오.
    8. 프로젝트를 새로 고치기/다시 빌드하십시오. 비즈니스 통합 Perspective로 전환하십시오. 어셈블리 편집기에서 모듈의 어셈블리 다이어그램을 여십시오.
    9. 프로젝트 탐색기 보기에서 이주 중인 모듈을 펼치고 웹 서비스 포트 논리 카테고리를 펼치십시오. 바인딩/서비스 WSDL 목록에 존재하는 포트가 보여야 합니다. 어셈블리 편집기로 끌어서 놓으십시오.
    10. 웹 서비스 바인딩을 갖는 내보내기 작성을 선택하고 적합한 포트 이름을 선택하십시오. 기존 웹 서비스 클라이언트가 변경할 필요가 없도록 이전 바인딩/서비스를 사용하는 내보내기가 작성됩니다. 방금 어셈블리 편집기에서 작성한 내보내기를 선택하고 특성 보기로 이동하는 경우, 바인딩 탭에서 5.1 포트 및 서비스 이름이 채워졌음을 알아야 합니다.
    11. 모든 변경을 저장하십시오.
    12. 응용프로그램을 배치하기 직전에 5.1 서비스 주소와 일치하도록 생성된 웹 프로젝트의 구성을 변경할 수 있습니다. (이 파일을 다시 생성하게 하는 SCA 모듈을 변경할 때마다 변경해야 합니다.) 재사용 중인 IBM Web Service WSDL 서비스 정의를 보는 경우, 다음과 같은 5.1 클라이언트가 코드화된 서비스 주소가 표시됩니다. <wsdlsoap:address location="http://localhost:9080/MyServiceWeb/services/MyServicePort"/>
    13. 6.0 생성 웹 프로젝트 아티팩트가 이 이전 서비스 주소와 일치하게 하기 위해 생성된 웹 프로젝트의 배치 설명자를 수정해야 합니다. WebSphere Integration Developer에서 배치 설명자를 열고, Servlet 탭에서 해당 내보내기에 대한 기존 URL 맵핑과 매우 비슷하고 동일한 Servlet 이름을 갖지만 다른 URL 패턴을 갖는 추가 URL 맵핑을 추가하십시오.
    14. 또한 이 웹 프로젝트의 컨텍스트 루트를 수정하여 원래 서비스 주소의 컨텍스트 루트와 일치하도록 해야 하는 경우(이 예제에서 컨텍스트 루트는 "MyServiceWeb"), 이 웹 프로젝트가 있는 J2EE Enterprise Application에 대한 배치 설명자를 열고 해당 웹 모듈의 컨텍스트 루트가 이전 서비스 주소의 컨텍스트 루트와 일치하도록 변경할 수 있습니다. 다음 오류가 표시될 수 있지만 무시할 수 있습니다. CHKJ3017E: Web Project: <WEB PROJ NAME> is mapped to an invalid Context root: <NEW CONTEXT ROOT> in EAR Project: <APP NAME>.

피드백
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.