예제: JAX-WS 특성을 사용하여 JAX-WS 핸들러에서 SOAP 헤더 조작

WebSphere® Application Server는 JAX-WS(Java™ API for XML-Based Web Services)와 Java EE(Java Platform, Enterprise Edition)용 웹 서비스 클라이언트 프로그래밍 모델에 jaxws.binding.soap.headers.outbound와 jaxws.binding.soap.headers.inbound 특성을 포함하는 확장기능을 제공합니다. 이 예제는 이러한 두 가지 특성을 사용하여 JAX-WS 핸들러에서 SOAP 헤더를 사용하는 방법을 보여줍니다.

문제점 방지 문제점 방지: 이들 API 확장기능 및 표준 API를 사용하여 동일한 JAX-WS 핸들러에서 SOAP 헤더를 조작할 수 없습니다. JAX-WS 핸들러에 대한 SOAP 헤더 조작 처리를 설정할 때 이들 확장기능 또는 표준 API 사용 여부를 결정해야 합니다. gotcha
다음 프로그래밍 예제는 JAX-WS 핸들러 컨텍스트에서 두 개의 요청 SOAP 헤더를 설정하고 하나의 응답 SOAP 헤더를 검색하는 방법을 나타냅니다.
1  //Create the hashmaps for the outbound soap headers
2  Map<QName, List<String>> outboundHeaders=messageContext.get("jaxws.binding.soap.headers.outbound"); 
3
4  //Add "AtmUuid1" and "AtmUuid2" to the outbound map
5  List<String> list1 = new ArrayList<String>();
6  list1.add("<AtmUuid1 xmlns=\"com.rotbank.security\"><uuid>ROTB-0A01254385FCA09</uuid></AtmUuid1>");
7  List<String> list2 = new ArrayList<String>();
8  list2.add("<AtmUuid2 xmlns=\"com.rotbank.security\"><uuid>ROTB-0A01254385FCA09</uuid></AtmUuid2>"
9  outboundHeaders.put(new QName("com.rotbank.security", "AtmUuid1"), list1);
10 outboundHeaders.put(new QName("com.rotbank.security", "AtmUuid2"), list2);
11 // Set the outbound map on the MessageContext object, which is passed into the JAX-WS handler method
12 messageContext.put("jaxws.binding.soap.headers.outbound", outboundHeaders);

2행에서, MessageContext 매개변수에서 JAX-WS 핸들러 메소드로 전달되는 아웃바운드 SOAP 헤더 맵을 검색하십시오.

5 - 10행에서는 AtmUuid1과 AtmUuid2 헤더 요소가 아웃바운드 맵에 추가됩니다.

12행에서, 아웃바운드 맵이 JAX-WS 핸들러 컨텍스트에 설정되며 이는 AtmUuid1과 AtmUuid2 헤더가 요청 메시지에 추가되는 원인이 됩니다. outboundHeaders 맵은 라이브 맵이기 때문에 이 코드는 필요하지 않습니다.

JAX-WS 핸들러 메소드 또한 맵에서 특정 헤더를 검색하고 원하는 경우 헤더 또는 헤더의 전체 목록을 제거할 수 있습니다.

참고: 이들 API만 또는 표준 API만 사용하여 메시지를 처리하십시오. 둘을 혼합하지 마십시오.

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



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