IBM 독점 WS-Addressing(Web Services Addressing) SPI

IBM 독점 WS-Addressing(Web Services Addressing) SPI(System Programming Interfaces)는 IBM 독점 WS-Addressing API(Application Programming Interfaces)를 확장하여 엔드포인트 참조 및 다른 WS-Addressing 아티팩트의 컨텐츠에 대해 작성 및 추론하고, 웹 서비스 메시지에서 WS-Addressing MAP(Message-Addressing Properties)를 검색하거나 설정할 수 있습니다.

표준 JAX-WS API 클래스를 이 독점 SPI와 사용할 수 없습니다. 그러나 표준 JAX-WS API 클래스를 사용하여 작성된 엔드포인트 참조를 com.ibm.websphere.wsaddressing.jaxws21.EndpointReferenceConverter 클래스를 사용하여 독점 com.ibm.websphere.wsaddressing.EndpointReference 클래스의 인스턴스로 변환할 수 있습니다. 그러면 독점 SPI로 변환된 이 엔드포인트 참조를 사용할 수 있습니다.

이 주제의 프로그래밍 인터페이스는 IBM WS-Addressing SPI 문서에서 자세히 설명됩니다.

엔드포인트 참조의 컨텐츠에 대한 작성, 정제 및 추론

엔드포인트 참조의 컨텐츠에 대한 작성, 정제 및 추론을 위한 독점 SPI는 com.ibm.wsspi.wsaddressing 패키지에 포함되며 다음 그림으로 요약됩니다(처음 두 인터페이스는 SPI에서 확장된 독점 API 인터페이스임).
제공된 클래스 및 인터페이스의 세부사항은 SPI 문서를 참조하십시오.

SPI는 독점 WS-Addressing com.ibm.websphere.wsaddressing.EndpointReference API를 확장하여 com.ibm.wsspi.wsaddressing.EndpointReference 인터페이스를 통해 여러 추가 메소드를 제공합니다. com.ibm.websphere.wsaddressing.EndpointReference의 인스턴스를 com.ibm.wsspi.wsaddressing.EndpointReference에 캐스트하여 이 추가 기능에 액세스할 수 있습니다.

마찬가지로, SPI com.ibm.wsspi.wsaddressing.EndpointReferenceManager는 com.ibm.websphere.wsaddressing.EndpointReferenceManager API에 제공된 기능 세트를 확장합니다.

EndpointReference 및 EndpointReferenceManager SPI에서 제공된 추가 메소드를 사용하여 다음 조치를 완료할 수 있습니다.
엔드포인트 참조 작성
createEndpointReference(URI) 조작 또는 EndpointReferenceManager.createEndpointReference(AttributedURI) 조작을 사용하여 EndpointReference 오브젝트가 표시할 엔드포인트의 URI를 지정하여 EndpointReference 오브젝트를 작성합니다. EndpointReference 인스턴스에 대한 URI를 자동으로 생성하지 않는다는 점에서 이 메소드는 API 레벨에서 제공된 createEndpointReference 메소드와 다릅니다. 배치 제한사항이 없는 테스트 환경의 예와 같이 엔드포인트의 URI가 안정적이면 이 메소드를 사용할 수 있습니다.
XML 및 엔드포인트 참조의 Java™ 표시 사이의 맵
EndpointReference.getSOAPElement 조작을 사용하여 해당 SOAP 요소 인스턴스에 EndpointReference 인터페이스의 인스턴스를 직렬화할 수 있습니다. 반대로, EndpointReference.createEndpointReference(SOAPElement) 조작을 사용하여 EndpointReferenceType의 SOAP 요소를 해당 EndpointReference Java 표시로 직렬화 해제할 수 있습니다. EndpointReference 인스턴스를 포함하는 유형에 사용자 바인더를 작성하는 경우 이 직렬화 및 직렬화 해제 인터페이스가 유용할 수 있습니다.
더 복잡한 참조 매개변수 유형 사용
API 레벨에서 제공되는 독점 인터페이스는 유형 xsd:string의 매개변수를 참조로 제한되어 단순한 프로그래밍 모델에만 허용됩니다. SPI는 이 지원을 확장하여 유형 <xsd:any>의 참조 매개변수를 허용합니다. EndpointReference 인터페이스는 SOAP 요소로 참조 매개변수를 가져오고 설정하기 위한 메커니즘을 제공합니다. 또한, EndpointReferenceManager 클래스는 getSOAPElementReferenceParameterFromMessageContext 조작을 제공하며, 수신 엔드포인트가 수신 메시지에서 유형 문자열이 아닌 참조 매개변수를 얻을 수 있습니다.
참고: 참조 매개변수를 포함하는 EndpointReference 오브젝트로 서비스를 호출하면, 모든 부분(네임스페이스, localpart 및 접두부)이 표시된 완전한 QName 오브젝트를 사용하여 참조 매개변수를 작성해야 합니다. QName 오브젝트가 완전하지 않으면 서비스 호출이 실패합니다.
엔드포인트 참조 컨텐츠 설정 및 추론
EndpointReference 인터페이스는 WS-Addressing 주소와 메타데이터 특성과 같은 EndpointReference 인스턴스의 컨텐츠에 대해 설정하고 추론하는 조작을 제공합니다. 추가 인터페이스는 엔드포인트 참조, Metadata, AttributedURI 및 ServiceName을 구성하는 아티팩트를 표시하도록 제공됩니다. 독점 WSAddressingFactory 클래스에서 제공된 조작을 사용하여 이 인터페이스의 인스턴스를 작성합니다.
지원된 네임스페이스 얻기 및 변경
이 제품에서 WS-Addressing 지원은 다중 네임스페이스를 지원합니다. 독점 EndpointReference 인터페이스에서 제공된 setNamespace 및 getNamespace 조작으로 특정 EndpointReference 오브젝트와 연관된 네임스페이스를 변경하고 얻을 수 있습니다. SOAP 요소에 대한 직렬화는 EndpointReference 오브젝트의 네임스페이스에 따라 다릅니다. 기본적으로 대상 엔드포인트 참조의 네임스페이스(JAX-WS BindingProvider 오브젝트 요청 컨텍스트 또는 JAX-RPC 스텁이나 호출 오브젝트에 대한 com.ibm.websphere.wsaddressing.WSAConstants.WSADDRESSING_DESTINATION_EPR 특성으로 설정된 엔드포인트 참조)는 메시지의 message-addressing 특성의 네임스페이스를 정의합니다.

WS-Addressing message-addressing 특성 설정 및 검색

IBM 독점 WS-Addressing SPI는 아웃바운드 메시지에서 WS-Addressing MAP을 사용할 수 있는 JAX-WS 또는 JAX-RPC 특성 및 인바운드 메시지에서 MAP을 검색하는 데 사용할 수 있는 메시지 컨텍스트 특성을 식별하는 여러 상수를 제공합니다. 이 상수는 com.wsspi.wsaddresssing.WSAConstants 클래스의 다음 다이어그램에 표시됩니다. 다이어그램은 해당 특성 값 유형 AttributedURI 및 Relationship의 인스턴스 생성에 필요한 인터페이스도 표시합니다. 첫 번째 WSAConstants 인터페이스는 독점 API 인터페이스입니다.
제공된 클래스, 인터페이스 및 상수의 세부사항은 SPI 문서를 참조하십시오.

아웃바운드 메시지에서 WS-Addressing message-addressing 특성 설정:

BindingProvider, Stub 또는 Call 오브젝트로 메시지를 호출하기 전에 JAX-WS BindingProvider 오브젝트 요청 컨텍스트 또는 JAX-RPC Stub 또는 Call 오브젝트에 대해 적절한 특성을 설정하여, 보내는 메시지에 WS-Addressing 메시지 정보 헤더를 추가할 수 있습니다. 다음 테이블은 관련 특성 및 유형을 요약합니다.
표 1. BindingProvider 오브젝트 요청 컨텍스트(또는 Stub 또는 Call 오브젝트)에서 설정될 수 있는 아웃바운드 특성. 테이블은 다른 특성 이름, Java 유형, 추상 WS-Addressing MAP 이름 및 기본 값을 나열합니다.
특성 이름(유형 문자열의) 특성 값의 Java 유형 추상 WS-Addressing MAP 이름, W3C XML 정보 세트 표기법 규칙 사용 기본값
WSADDRESSING_DESTINATION_EPR com.ibm.websphere.wsaddressing.EndpointReference

[destination] URI
[reference parameters]* (any)

설정되지 않음

이 특성 이름은 API에서 얻습니다.

WSADDRESSING_FROM_EPR com.ibm.websphere.wsaddressing.EndpointReference [source endpoint] 설정되지 않음
WSADDRESSING_REPLYTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [reply endpoint] 메시지가 응답이 없는 단방향 메시지인 경우 'none' 또는 설정되지 않습니다. JAX-WS 애플리케이션에서 양방향 비동기 메시지의 경우 이 특성은 자동으로 생성됩니다. 이 상황에서 이 특성을 설정하려고 하는 경우, javax.xml.ws.WebServiceException 예외가 발생합니다. 양방향 동기 메시지의 경우 엔드포인트 참조 주소가 익명 URI인 경우에만 이 특성을 설정할 수 있습니다. 주소가 익명 URI가 아닌 경우, javax.xml.ws.WebServiceException 예외가 처리됩니다.
WSADDRESSING_FAULTTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [fault endpoint] 설정되지 않음

JAX-WS 애플리케이션에서 양방향 비동기 메시지에 대해 이 특성을 설정하려는 경우 javax.xml.ws.WebServiceException 예외가 처리됩니다. 양방향 동기 메시지의 경우 엔드포인트 참조 주소가 익명 URI인 경우에만 이 특성을 설정할 수 있습니다. 주소가 동기 URI가 아닌 경우, javax.xml.ws.WebServiceException 예외가 처리됩니다.

WSADDRESSING_RELATIONSHIP_SET com.ibm.wsspi.wsaddressing.Relationship의 인스턴스를 포함한 java.util.Set [relationship] 설정되지 않음
WSADDRESSING_MESSAGE_ID com.ibm.wsspi.wsaddressing.AttributedURI [message id] 생성되어 고유 값으로 설정됨
WSADDRESSING_ACTION com.ibm.wsspi.wsaddressing.AttributedURI [action] WS-Addressing 스펙에 따라 생성되고 설정됨
WSADDRESSING_OUTBOUND_NAMESPACE 문자열 없음 지정된 경우 WSADDRESSING_DESTINATION_EPR 특성의 WS-Addressing 네임스페이스, 지정되지 않은 경우 기본 네임스페이스

인바운드 메시지에서 WS-Addressing message-addressing 특성 검색:

마지막 인바운드 메시지에 해당하는 WS-Addressing 메시지 정보 헤더는 WSAConstants 클래스에 정의된 인바운드 특성에서 사용 가능합니다. 다음 테이블은 사용 가능한 인바운드 특성을 요약합니다. 독점 EndpointReferenceManager.getReferenceParameter 인터페이스를 사용하여 메시지 컨텍스트에서 참조 매개변수를 얻습니다.
표 2. 메시지 컨텍스트에서 얻을 수 있는 인바운드 특성. 테이블은 다른 특성 이름, Java 유형 및 동등한 추상 WS-Addressing MAP 이름을 나열합니다.
메시지 컨텍스트 특성 이름(유형 문자열의) 특성 값의 Java 유형 추상 WS-Addressing MAP 이름, W3C XML 정보 세트 표기법 규칙 사용
WSADDRESSING_INBOUND_TO com.ibm.wsspi.wsaddressing.AttributedURI [destination]
특정 특성이 없습니다. EndpointReferenceManager.getReferenceParameter(QName name) 메소드를 사용하여 연관된 MAP을 얻습니다. 임의의 유형 [reference parameters]*
WSADDRESSING_INBOUND_FROM_EPR com.ibm.websphere.wsaddressing.EndpointReference [source endpoint]
WSADDRESSING_INBOUND_REPLYTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [reply endpoint]
WSADDRESSING_INBOUND_FAULTTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [fault endpoint]
WSADDRESSING_INBOUND_RELATIONSHIP com.ibm.wsspi.wsaddressing.Relationship의 인스턴스를 포함한 java.util.Set [relationship]
WSADDRESSING_INBOUND_MESSAGE_ID com.ibm.wsspi.wsaddressing.AttributedURI [message id]
WSADDRESSING_INBOUND_ACTION com.ibm.wsspi.wsaddressing.AttributedURI [action]
WSADDRESSING_INBOUND_NAMESPACE 문자열 수신 메시지의 WS-Addressing 네임스페이스

주제 유형을 표시하는 아이콘 개념 주제



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