Service Registry 3.1 릴리스 노트

호환성 문제

이 절에서는 호환성과 관련된 다음과 같은 문제에 대해 설명합니다.

사용할 수 없게 되는 기능

사용자 등록 메커니즘

이 Service Registry 릴리스에서는 자체 사용자 관리 및 인증 메커니즘을 사용합니다. 이후 릴리스에서는 이 구성 요소가 구현하는 ebXML Registry 표준에 지정된 SAML 기반 메커니즘으로 레지스트리를 업데이트할 계획입니다.

호환성과 관련된 버그

Service Registry 3.1에서 발견된 다음 버그는 호환성과 관련된 것입니다.

6422192: Service Registry 3.0에서 Service Registry 3.1 관리 도구를 사용할 때 NullPointerException이 발생함

문제 요약: 배포된 Service Registry 3.0에서 Service Registry 3.1 관리 도구를 사용하는 경우 cprm과 같은 명령을 실행하면 NullPointerException이 발생됩니다.

해결 방법: Service Registry 3.1에서만 Service Registry 3.1 관리 도구를 사용하고 Service Registry 3.0에서는 Service Registry 3.0 관리 도구를 사용합니다.

6463868: JDK 1.6을 사용하는 클라이언트 프로그램 또는 서버에 오류가 발생함

문제 요약: JDK 1.6 환경에서 JAXR 클라이언트 프로그램을 실행하는 경우 또는 Service Registry를 JDK 1.6을 실행 중인 시스템에 배포한 경우 해당 프로그램에서 쿼리 또는 게시 작업을 수행하면 런타임 오류가 발생합니다. 기본적인 문제는 JDK 1.6이 SAAJ(Attachments API for Java)에서 1.3 버전의 SOAP를 사용하는 반면 Application Server는 1.2 버전을 사용한다는 것입니다.

해결 방법: 클라이언트 시스템과 서버에 대한 두 가지 유형의 해결 방법이 있습니다.

Procedure클라이언트 시스템 해결 방법을 수행하는 방법

클라이언트 시스템이 JDK 1.6을 실행 중인 경우 클라이언트 시스템 해결 방법이 필요합니다. 이 해결 방법은 다음 작업을 함께 수행해야 합니다.

  1. 클래스 경로에 다음 JAR 파일이 포함되어 있는지 확인합니다.

    Solaris OS:

    /usr/share/lib/saaj-api.jar
    /usr/share/lib/saaj-impl.jar

    Linux 및 HP-UX 시스템:

    /opt/sun/share/lib/saaj-api.jar
    /opt/sun/share/lib/saaj-impl.jar

    예를 들어 Linux 시스템에 대한 Ant 대상에 다음과 같은 설정이 포함된 경우 클래스 경로가 맞는 것입니다.

    <path id="classpath">
      <fileset dir="/opt/sun/share/lib">
        <include name="*.jar"/>
      </fileset>
      ...
    </path>
  2. build.xml 파일에서 다음 <sysproperty> 태그를 <java> 대상에 추가합니다.

    <sysproperty key="javax.xml.soap.MessageFactory" 
       value="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl"/>
    <sysproperty key="javax.xml.soap.MetaFactory" 
       value="com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl"/>
    <sysproperty key="javax.xml.soap.SOAPConnectionFactory" 
       value="com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory"/>
    <sysproperty key="javax.xml.soap.SOAPFactory" 
       value="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl"/>

Procedure서버 시스템 해결 방법을 수행하는 방법

서버 시스템 해결 방법은 다음 작업을 함께 수행해야 합니다.

  1. Application Server lib 디렉토리로 변경합니다.

    Solaris OS: cd /opt/SUNWappserver/appserver/lib

    Linux 및 HP-UX 시스템: cd /opt/sun/appserver/lib

  2. Application Server lib 디렉토리에 두 개의 SAAJ JAR 파일에 대한 백업 복사본을 만듭니다. 예를 들면 다음과 같습니다.


    cp saaj-api.jar saaj-api.jar.v1.2
    cp saaj-impl.jar saaj-impl.jar.v1.2
    
  3. SAAJ 1.3 JAR 파일을 Application Server lib 디렉토리에 복사합니다.

    Solaris OS:


    cp /usr/share/lib/saaj-api.jar .
    cp /usr/share/lib/saaj-impl.jar .
    

    Linux 및 HP-UX 시스템:


    cp /opt/sun/share/lib/saaj-api.jar .
    cp /opt/sun/share/lib/saaj-impl.jar .
    
  4. Service Registry 3.1 Administration GuideTo Use the Application Server Admin Console에 설명된 대로 Application Server 관리 콘솔에 로그인합니다.

  5. 구성 노드를 확장합니다.

  6. 서버 노드 server-config (Admin Config)를 확장합니다.

  7. JVM 설정을 누릅니다.

  8. JVM 옵션 탭을 누릅니다.

  9. JVM 옵션 추가를 누릅니다.

  10. 텍스트 필드에 다음을 입력합니다.


    -Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
    
  11. JVM 옵션 추가를 다시 누릅니다.

  12. 텍스트 필드에 다음을 입력합니다.


    -Djavax.xml.soap.MetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl
    
  13. 저장을 누릅니다.

  14. Service Registry 3.1 Administration GuideTo Stop and Restart the Application Server Domain for the Registry에 설명된 지침을 따릅니다.

6475651: Java ES 2005Q4 Service Registry 로그인이 Application Server 업그레이드 후 실패함

문제 요약: Java ES 2005Q4에서 이전 버전의 Service Registry를 설치하여 사용하다가 이제Java ES 5 버전의 Application Server로 업그레이드했지만 Java ES 5 버전의 Service Registry로 업그레이드하지 않은 경우 웹 콘솔에서 이전에 만든 인증서와 동일한 인증서를 사용하려고 하면 로그인에 실패합니다.

해결 방법: web.xml 파일과 Service Registry의 보안 정책 파일을 편집합니다.

    해당 레지스트리에 대한 Application Server 도메인을 중지하고 web.xml 파일을 편집하려면 다음 단계를 수행합니다.

  1. Service Registry 설치 디렉토리를 다음과 같이 변경합니다.

    Solaris OS: cd /opt/SUNWsoar/install

    Linux 및 HP-UX 시스템: cd /opt/sun/SUNWsoar/install

  2. 레지스트리에 대한 Application Server 도메인을 중지합니다.

    Ant-base/ant -f build-install.xml appserver.domain.stop

  3. RegistryDomain-base /domains/registry/applications/j2ee-modules/soar/WEB-INF/ 디렉토리로 변경합니다.

  4. 텍스트 편집기에서 web.xml 파일을 엽니다.

  5. <security-constraint> 태그 내의 </web-resource-collection> 태그 다음에 다음을 삽입합니다.

    <auth-constraint>
      <role-name>have.client.cert</role-name>
    </auth-constraint>
  6. </security-constraints> 태그 다음에 다음을 삽입합니다.

    <error-page>
      <error-code>400</error-code>
      <location>/registry/thin/AuthenticateError.jsp</location>
    </error-page>
    <security-role>
      <description>all subjects who have client certificates</description>
      <role-name>have.client.cert</role-name>
    </security-role>
  7. web.xml 파일을 저장하고 닫습니다.

    보안 정책 파일을 편집하고 도메인을 다시 시작하려면 다음 단계를 수행합니다.

  1. 다음 디렉토리로 변경합니다.

    Solaris OS: cd /var/opt/SUNWsoar/domains/registry/config

    Linux 및 HP-UX 시스템: cd /var/opt/sun/SUNWsoar/domains/registry/config

  2. 텍스트 편집기에서 server.policy 파일을 엽니다.

  3. 이 파일에 다음 허가를 추가합니다.

    grant codeBase "file:${com.sun.aas.instanceRoot}/applications/j2ee-modules/soar/WEB-INF/lib/-"{
           permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    };
    
    grant codeBase "file:${com.sun.aas.instanceRoot}/generated/jsp/j2ee-modules/soar/-" {
          permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    };
  4. server.policy 파일을 저장하고 닫습니다.

  5. 레지스트리에 대한 Application Server 도메인을 다시 시작합니다.

    Ant-base/ant -f build-install.xml appserver.domain.start

  6. 웹 브라우저를 열어 URL(http://localhost:6060/soar로 이동합니다. 이제 로그인하여 게시할 수 있습니다.

6491246: HP-UX 플랫폼에서 업그레이드가 실패함

문제 요약: HP-UX 시스템에서 Java ES 2005Q4의 이전 버전 Service Registry를 설치하여 사용하다가 이제 Java ES 5 버전의 Service Registry로 업그레이드할 경우 고가용성 데이터베이스(HADB)에 문제가 있다는 오류 메시지와 함께 설치에 실패합니다. 문제가 발생하는 것은 Java ES 5 설치 프로그램이 기본 위치로 사용하지 않는 위치에 HADB 패키지가 설치되었기 때문입니다.

또한 Java ES 2005Q4 버전의 Application Server를 제거한 다음 Java ES 5 버전의 Service Registry 및 Application Server를 설치할 경우 이 문제가 발생합니다.

해결 방법: Application Server를 제거한 경우 다시 설치하기 전에 sun-hadb 패키지를 제거해야 합니다.

Java ES 2005Q4 버전의 Service Registry에서 Java ES 5 버전으로 직접 업그레이드하는 경우 단계가 더 복잡합니다.

  1. sun-hadb 패키지를 제거합니다.

  2. Java ES 5 버전의 Service Registry 및 Application Server를 설치합니다.

  3. 다음과 같이 /opt/sun/appserver/config/asenv.conf 파일을 편집합니다.

    • 다음 줄을 찾습니다.

      AS_ANT="/opt/sun/share/lib/ant/bin"

      다음과 같이 변경합니다.

      AS_ANT="/opt/sun/bin"
    • 다음 줄을 찾습니다.

      AS_ANT_LIB="/opt/sun/share/lib/ant/lib"

      다음과 같이 변경합니다.

      AS_ANT_LIB="/opt/sun/share/lib"
    • 다음 두 개의 줄을 추가합니다.

      AS_DERBY_INSTALL="/opt/sun/javadb"
      AS_MFWK_HOME=/opt/sun/mfwk/share
  4. /opt/sun/appserver/lib 디렉토리에 endorsed라는 하위 디렉토리를 만듭니다.

  5. /opt/sun/javadb/lib/derby.jar 파일을 /opt/sun/appserver/lib/endorsed 디렉토리에 복사합니다.