[jboss-user] [JBoss Web Services] - Re: Jboss 6.0 WebService Client with SSL (Saaj)

Fabiano Oss do-not-reply at jboss.com
Mon May 9 10:56:02 EDT 2011


Fabiano Oss [http://community.jboss.org/people/fabiano.oss] created the discussion

"Re: Jboss 6.0 WebService Client with SSL (Saaj)"

To view the discussion, visit: http://community.jboss.org/message/604247#604247

--------------------------------------------------------------
protected ByteArrayOutputStream sendMessage(URL urlWSDL, QName qService, QName qPort, String soapMessage) throws Exception {
        MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
        SOAPMessage message;
        MimeHeaders header = new MimeHeaders();
        header.addHeader("Content-Type", "application/soap+xml");
        message = factory.createMessage(header, new ByteArrayInputStream(soapMessage.toString().getBytes()));
        Service service = Service.create(urlWSDL, qService);
        Dispatch<SOAPMessage> dispatch = service.createDispatch(qPort, SOAPMessage.class,Service.Mode.MESSAGE);
        setSecurity(dispatch);
        SOAPMessage res = dispatch.invoke(message);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        res.writeTo(out);
        return out;
}

    private void setSecurity(Dispatch<SOAPMessage> dispatch) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, FileNotFoundException, IOException, InvalidKeyException, InvalidKeySpecException, UnrecoverableKeyException {
        Client client = ((org.apache.cxf.jaxws.DispatchImpl) dispatch).getClient();
        HTTPConduit http = (HTTPConduit) client.getConduit();
        HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
        setProxy(security, http, httpClientPolicy);
        http.setClient(httpClientPolicy);
        TLSClientParameters tlsParams = new TLSClientParameters();
        TrustManager[] trustMgr = addTrustManagers(security);
        KeyManager[] keyMgr = addCertificado(security);
        tlsParams.setKeyManagers(keyMgr);
        tlsParams.setTrustManagers(trustMgr);
        http.setTlsClientParameters(tlsParams);
    }

    private void setProxy(SegurancaDES security, HTTPConduit http,
            HTTPClientPolicy httpClientPolicy) {
        httpClientPolicy.setProxyServer("192.168.1.1");
        httpClientPolicy.setProxyServerPort("3128");
        http.getProxyAuthorization().setUserName("proxyUser");
        http.getProxyAuthorization().setPassword("proxyPassword);
    }

    private KeyManager[] addCertificado(SegurancaDES security)
            throws KeyStoreException, IOException, NoSuchAlgorithmException,
            CertificateException, FileNotFoundException,
            UnrecoverableKeyException {
        KeyStore ks1;
        ks1 = KeyStore.getInstance("PKCS12");
        ks1.load(new FileInputStream(new File("file path")),"password".toCharArray());
        KeyManagerFactory keyFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        keyFactory.init(ks1, "password".toCharArray());
        KeyManager[] keyMgr = keyFactory.getKeyManagers();
        return keyMgr;
    }
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/604247#604247]

Start a new discussion in JBoss Web Services at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2044]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110509/29537974/attachment.html 


More information about the jboss-user mailing list