Service Registry 3.1 릴리스 노트

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에 설명된 지침을 따릅니다.