Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package jboss.ws.ep;
  2.  
  3. import java.util.List;
  4. import java.util.Map;
  5.  
  6. import javax.annotation.Resource;
  7. import javax.jws.WebService;
  8. import javax.jws.soap.SOAPBinding;
  9. import javax.jws.soap.SOAPBinding.ParameterStyle;
  10. import javax.jws.soap.SOAPBinding.Style;
  11. import javax.jws.soap.SOAPBinding.Use;
  12. import javax.xml.ws.BindingType;
  13. import javax.xml.ws.WebServiceContext;
  14.  
  15. import jboss.ws.bean.Person;
  16.  
  17. import org.apache.cxf.headers.Header;
  18. import org.w3c.dom.Node;
  19.  
  20. @WebService
  21. @BindingType(value = "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true")
  22. @SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL, parameterStyle = ParameterStyle.WRAPPED)
  23. public class Hello {
  24.  
  25.     @Resource
  26.     WebServiceContext context;
  27.    
  28.     public String sayHello(Person person) {
  29.         Map<String, Object> headers = context.getMessageContext();
  30.         List<Header> headerList = (List<Header>) headers.get(Header.HEADER_LIST);
  31.         for (Header header : headerList) {
  32.             Node node = (Node) header.getObject();
  33.             System.out.println("soap header by cxf : header name <"
  34.                     + node.getNodeName() + " >,status <"
  35.                     + node.getTextContent() + ">");
  36.         }
  37.         try {
  38.             Thread.sleep(5000);
  39.         } catch (InterruptedException e) {
  40.         }
  41.  
  42.         return "Hello " + person + " by JBoss 6 WS with CXF implementation.";
  43.     }
  44. }