웹 서비스 호출 프레임워크 문제점 해결 팁

WSIF(Web Services Invocation Framework)를 경험하는 문제점을 해결하기 위해 도움을 주는 특정 팁 세트.

참고: 이 주제는 하나 이상의 애플리케이션 서버 로그 파일을 참조합니다. 권장되는 대안은 분배 및 IBM® i 시스템에서 SystemOut.log, SystemErr.log, trace.logactivity.log 파일을 사용하는 대신 HPEL(High Performance Extensible Logging) 로그를 사용하고 인프라를 추적하도록 서버를 구성하는 것입니다. 원시 z/OS® 로깅 기능과 연계하여 HPEL을 사용할 수도 있습니다. HPEL을 사용하는 경우 서버 프로파일 바이너리 디렉토리의 LogViewer 명령행 도구를 사용하여 모든 로그에 액세스하고 정보를 추적할 수 있습니다. HPEL 사용에 대한 자세한 정보는 HPEL을 사용한 애플리케이션 문제점 해결 정보를 참조하십시오.

WebSphere® Application Server 레벨 문제점 해결에 대한 정보는 도구 문제점(진단 도구 사용)의 내용을 참조하십시오.

WSIF 관련 문제점을 식별하고 해결하려면 표준 WebSphere Application Server 추적 및 로깅 기능을 사용할 수 있습니다. WSIF와 관련될 수 있다고 생각하는 문제점이 발생하면 WebSphere Application Server 관리 콘솔 및 Application Server stdout.log 파일에서 오류 메시지를 검사할 수 있습니다. 또한 애플리케이션 서버 디버그 추적을 사용하여 자세한 예외 덤프를 제공할 수도 있습니다.

WSIF 런타임 시스템 메시지 목록은 각 메시지가 의미하는 것에 대한 세부사항으로 WSIF(Web Services Invocation Framework) 메시지에서 제공됩니다.

WSIF를 사용할 때 적용하는 알려진 주요한 제한사항 목록이 WSIF - 알려진 제한사항에 제공됩니다.

각 활동과 연관된 공통 문제점에 대한 조언을 가진 주요 WSIF 활동의 체크리스트가 있습니다.

서비스 작성
[AIX Solaris HP-UX Linux Windows][z/OS]

수동으로 작성한 WSDL(Web Services Description Language) 파일은 많은 문제점을 야기할 수 있습니다. WSDL 파일이 올바른지 확인하는 데 도움을 주려면 WSAD(WebSphere Studio Application Developer)와 같은 도구를 사용하여 웹 서비스를 작성하십시오.

[IBM i]

수동으로 작성한 WSDL(Web Services Description Language) 파일은 많은 문제점을 야기할 수 있습니다. WSDL 파일이 올바른지 확인하는 데 도움을 주려면 WDS(WebSphere Development Studio for System i®)와 같은 도구를 사용하여 웹 서비스를 작성하십시오.

전송 메커니즘 정의
JMS(Java™ Message Service)의 경우, JNDI(Java Naming and Directory Interface)를 올바르게 설정하고 필수 연결 팩토리와 큐를 작성했는지 확인하십시오.
[AIX Solaris HP-UX Linux Windows][z/OS]SOAP의 경우, WSAD(WebSphere Studio Application Developer) 또는 유사한 도구를 사용하여 이를 작성하여 배치 디스크립터 파일 dds.xml이 올바른지 확인하십시오.
[IBM i]SOAP의 경우, WDS(WebSphere Development Studio for System i)를 사용하여 이를 작성하여 배치 디스크립터 파일 dds.xml이 올바른지 확인하십시오.
클라이언트 - Java 코드 작성

WSIF 서비스, 포트, 조작 및 메시지를 작성하기 위한 올바른 형식을 따르십시오. 올바른 코드의 예제는 예제: WSIF를 사용하여 AddressBook 샘플 웹 서비스 동적 호출의 내용을 참조하십시오.

컴파일 코드(클라이언트 및 서비스)
코드에 대한 빌드 경로가 올바른지 확인하고 JAR 파일의 올바른 레벨을 포함하는지 확인하십시오.
웹 서버에 배치를 대비하여 서비스에 대한 올바른 EAR 파일을 작성하십시오.
서비스 배치
서비스 EAR 파일을 설치 및 배치할 때, 서비스가 배치될 때 제공된 메시지도 주의깊게 확인하십시오.
서버 설정 및 시작

WebSphere Application Server server.policy 파일 (/properties 디렉토리의)에 올바른 보안 설정이 있다는 것을 확인하십시오. 자세한 정보는 WSIF 보안의 내용을 참조하십시오.

WSIF 설정

wsif.properties 파일이 올바르게 설정되는지 확인하십시오. 자세한 정보는 wsif.properties 파일 - 초기 컨텐츠의 내용을 참조하십시오.

클라이언트 실행

클라이언트 클래스, WSIF JAR 파일 및 기타 필수 JAR 파일에 참조사항을 포함시키기 위해 클래스 경로를 올바르게 정의했는지 확인하거나 (가급적) WebSphere Application Server launchClient 도구를 사용하여 클라이언트를 실행하십시오.

클라이언트 클래스, WSIF JAR 파일 및 기타 필수 JAR 파일에 참조사항을 포함시키기 위해 클래스 경로를 올바르게 정의했는지 확인하거나 (가급적) WebSphere Application Server 실행 클라이언트 도구를 사용하여 클라이언트를 실행하십시오. 이 도구에 대한 자세한 정보는 애플리케이션 개발 및 전개 PDF 서적의 애플리케이션 클라이언트 실행 장을 참조하십시오.

클라이언트 코드를 실행할 때 수신되는 클래스 정의 오류가 없음

이 문제점은 주로 클래스 경로 설정에서 오류를 표시합니다. 관련 JAR 파일이 포함되는지 확인하십시오.

WSDL 오류를 찾을 수 없음

일부 유사한 원인은 다음과 같습니다.

  • Application Server가 실행 중이 아닙니다.
  • WSDL의 서버 위치 및 포트 번호는 정확하지 않습니다.
  • WSDL이 올바르지 않게 형성됩니다(Application Server stdout.log 파일에서 오류 메시지 검사).
  • Application Server가 서비스가 설치된 이후 다시 시작되지 않습니다.

다음 검사를 시도할 수도 있습니다.

  • 오류 메시지에 지정된 위치에서 웹 브라우저에 WSDL을 로딩할 수 있습니까?
  • 웹 브라우저에 해당 WSDL 바인딩 파일을 로드할 수 있습니까?

웹 서비스 EAR 파일이 Application Server에 올바르게 설치되지 않음

EAR 파일이 올바르지 않게 형성되었을 수 있습니다. 다음 단계를 완료하여 설치를 확인하십시오.
  • EJB 바인딩의 경우, WebSphere Application Server 도구 \bin\dumpnamespace를 실행하십시오. 이 도구는 JNDI 디렉토리의 현재 컨텐츠를 나열합니다.
  • HTTP를 통한 SOAP 바인딩의 경우, http://pathToServer/WebServiceName/admin/list.jsp 페이지를 여십시오(SOAP 관리 페이지를 설치한 경우). 이 페이지는 현재 설치된 모든 웹 서비스를 나열합니다.
  • JMS를 통한 SOAP 바인딩의 경우, 다음 검사를 완료하십시오.
    • 큐 관리자를 실행 중인지 확인하십시오.
    • 필수 큐가 정의되는지 확인하십시오.
    • JNDI 설정을 확인하십시오.
    • jmsadmin 도구에서 "표시 컨텍스트" 옵션을 사용하여 현재 JNDI 정의를 나열하십시오.
    • RPC(Remote Procedure Call) 라우터가 실행 중인지 확인하십시오.

권한 문제점 또는 보안 오류

WebSphere Application Server server.policy 파일 (/properties 디렉토리의)에 올바른 보안 설정이 있다는 것을 확인하십시오. 자세한 정보는 WSIF 보안의 내용을 참조하십시오.

다중 클라이언트로 WSIF를 사용하면 SOAP 구문 분석 오류가 야기됨

WebSphere Application Server에 웹 서비스를 배치하기 전에, 웹 서비스의 범위에 대해 결정해야 합니다. 웹 서비스에 대한 배치 디스크립터 파일 dds.xml에 다음 행이 포함됩니다.

    <isd:provider type="java" scope="Application" ......

Scope 속성을 Application 또는 Session으로 설정할 수 있습니다. 기본 설정은 Application이고 웹 서비스에 대한 각 요청에 단일 인스턴스보다 오랫동안 유지보수되도록 하려는 오브젝트가 필요하지 않는 경우 이 값은 정확합니다. ScopeApplication으로 설정되면 단일 인스턴스의 실행 동안 다른 요청에 오브젝트를 사용할 수 없고 완료 시 릴리스 됩니다. 웹 서비스에 다중 요청을 위해 유지보수되고 각 요청에서 고유한 오브젝트가 필요한 경우, 범위를 Session으로 설정해야 합니다. ScopeSession으로 설정되면 세션의 주기 동안 다른 요청에 사용할 수 없고 세션의 완료 시에 릴리스됩니다. 범위가 Session 대신 Application으로 설정되면 다음 SOAP 오류를 가져올 수 있습니다.

SOAPException: SOAP-ENV:ClientParsing error, response was:
FWK005 parse might not be called while parsing.;
nested exception is:

[SOAPException: faultCode=SOAP-ENV:Client; msg=Parsing error, response was:

FWK005 parse might not be called while parsing.; 
        targetException=org.xml.sax.SAXException:
FWK005 parse might not be called while parsing.]

JNDI 검색 오류는 다른 머신의 Application Server에서 실행되는 JMS 메시징 큐 및 큐 연결 팩토리에 동일한 이름을 사용할 때 발생합니다.

WSIF가 항상 처음으로 JMS 대상을 로컬로 검사하고 대상을 로컬로 찾을 수 없는 경우 전체 JDNI 참조만 사용하므로 다른 머신의 Application Server에서 실행되는 메시징 큐 및 큐 연결 팩토리에 대해 동일한 이름을 사용하지 않아야 합니다. 예를 들어, 원격 머신에서 웹 서비스를 실행하고 메시징 큐와 큐 연결 팩토리에 대해 동일한 이름을 사용하는 로컬로 실행 중인 ApplicationServer가 있는 경우, 원격 JNDI 대상이 WSDL 서비스 정의에서 완전하게 제공된다고 해도 WSIF가 로컬 큐를 찾아서 사용합니다.

WebSphere Application Server 버전 5에서 실행 중인 JAX-RPC 클라이언트가 JMS를 통해 SOAP를 사용하여 버전 5 Application Server에서 실행 중인 웹 서비스를 호출합니다.

WebSphere Application Server 버전 5에서 실행 중인 JAX-RPC 클라이언트가 JMS를 통해 SOAP를 사용하여 버전 5 Application Server에서 실행 중인 웹 서비스를 호출합니다. 어떤 사용자 ID 또는 비밀번호도 대상 MQ 시리즈 큐에 필요하지 않습니다. Application Server가 버전 6으로 마이그레이션되고 버전 6 기본 메시징을 사용한 후 기본 인증이 지금 사용되므로 클라이언트 요청이 실패합니다.

문제점이 로그 메시지로 표시됩니다.
SibMessage W [:] CWSIT0009W: A client request failed in the application server
with endpoint <endpoint_name> in bus <your_bus> with reason: CWSIT0016E: 
The user ID null failed authentication in bus <your_bus>.

문제점을 해결하기 위해 취하는 단계의 경우, 다음 서비스 통합 기술 문제점 해결 팁을 참조하십시오.버전 5.1 애플리케이션 서버를WebSphere Application Server 버전 7.0 이상에 마이그레이션

현재 WSIF 기본 SOAP 제공자 (IBM 웹 서비스 SOAP 제공자)는 이전(Apache SOAP) 제공자에서 실행 중인 서비스와 완전하게 상호작용하지 않습니다.

이는 IBM 웹 서비스 SOAP 제공자가 완전히 JAX-RPC 준수 웹 서비스와 상호작용하도록 디자인되기 때문이고 Apache SOAP는 그러한 서비스를 제공할 수 없습니다. 상호 운용을 사용하려면 WSIF SOAP 제공자: 기존 애플리케이션과 작업에서 설명된 대로 사용자의 웹 서비스 또는 WSIF 기본 SOAP 제공자를 수정하십시오.


주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsf_trouble
파일 이름:rwsf_trouble.html