package petr; import javax.annotation.Resource; import javax.jws.WebService; import javax.security.cert.X509Certificate; import javax.servlet.ServletContextAttributeEvent; import javax.servlet.ServletContextAttributeListener; import javax.xml.ws.*; // WebServiceContext import javax.xml.ws.handler.*; // MessageContext @WebService public class CDJAXWS { @Resource private WebServiceContext context; public String hello3(String name) { javax.xml.ws.handler.MessageContext mc = context.getMessageContext(); javax.servlet.http.HttpServletRequest sr = (javax.servlet.http.HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST); StringBuffer attrs = new StringBuffer(""); java.util.Enumeration enume = sr.getAttributeNames(); while (enume.hasMoreElements()) { String element = (String) enume.nextElement(); attrs.append(element+";"); } java.security.cert.X509Certificate cert[] = (java.security.cert.X509Certificate[]) sr.getAttribute("javax.servlet.request.X509Certificate"); if (cert != null && cert.length > 0) attrs.append(";CERT509="+cert[0].getIssuerDN().getName()); else attrs.append(";CERT509=null nebo nulova delka !"); return "This is the return value from hello3 for " + name + " from the address " + sr.getRemoteAddr() + " with the certificate :: " + cert + " ; isSecure :" + sr.isSecure() + " ; remoteUser :" + sr.getRemoteUser() + " ; buffer=" + attrs ; } }