<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    JBossWS and Security Client dependency
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/slbanal">stephen b</a> in <i>JBoss Web Services</i> - <a href="https://community.jboss.org/message/803993#803993">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I am currently trying to integrate Web service security to my web service following instructions from here <a class="jive-link-external-small" href="https://docs.jboss.org/author/display/JBWS/WS-Security">https://docs.jboss.org/author/display/JBWS/WS-Security</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The tutorial specified that I can create a client using code below. The tutorial did not explain which jar dependencies I have to use for this to work. I managed to build my project using Eclipse and added Apache CXF 2.4.6 library as project build dependecies and it works fine - client and server encrypts and decrypts the request/response. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><p><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">QName serviceName = </code><code class="java keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #336699 !important;">new</code> <code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">QName(</code><code class="java string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #003366 !important;">"<a class="jive-link-external-small" href="http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy">http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy"</a></code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">, </code><code class="java string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #003366 !important;">"SecurityService"</code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">);</code></p><p class="line number2 index1 alt1" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">URL wsdlURL = </code><code class="java keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #336699 !important;">new</code> <code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">URL(serviceURL + </code><code class="java string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #003366 !important;">"?wsdl"</code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">);</code></p><p class="line number3 index2 alt2" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">Service service = Service.create(wsdlURL, serviceName);</code></p><p class="line number4 index3 alt1" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">ServiceIface proxy = (ServiceIface)service.getPort(ServiceIface.</code><code class="java keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #336699 !important;">class</code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">);</code></p><p class="line number5 index4 alt2" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p class="line number6 index5 alt1" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">((BindingProvider)proxy).getRequestContext().put(SecurityConstants.CALLBACK_HANDLER, </code><code class="java keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #336699 !important;">new</code> <code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">KeystorePasswordCallback());</code></p><p class="line number7 index6 alt2" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">((BindingProvider)proxy).getRequestContext().put(SecurityConstants.SIGNATURE_PROPERTIES,</code></p><p class="line number8 index7 alt1" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java spaces" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important;">&#160;&#160;&#160;&#160; </code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">Thread.currentThread().getContextClassLoader().getResource(</code><code class="java string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #003366 !important;">"META-INF/alice.properties"</code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">));</code></p><p class="line number9 index8 alt2" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">((BindingProvider)proxy).getRequestContext().put(SecurityConstants.ENCRYPT_PROPERTIES,</code></p><p class="line number10 index9 alt1" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java spaces" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important;">&#160;&#160;&#160;&#160; </code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">Thread.currentThread().getContextClassLoader().getResource(</code><code class="java string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #003366 !important;">"META-INF/alice.properties"</code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">));</code></p><p class="line number11 index10 alt2" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">((BindingProvider)proxy).getRequestContext().put(SecurityConstants.SIGNATURE_USERNAME, </code><code class="java string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #003366 !important;">"alice"</code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">);</code></p><p class="line number12 index11 alt1" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">((BindingProvider)proxy).getRequestContext().put(SecurityConstants.ENCRYPT_USERNAME, </code><code class="java string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #003366 !important;">"bob"</code><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">);</code></p><p class="line number13 index12 alt2" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p class="line number14 index13 alt1" style="background-color: #ffffff !important; margin: 0 !important; padding: 0 1em 0 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"><code class="java plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #000000 !important;">proxy.sayHello();</code></p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>But when I use maven to build and run the test, client is not encrypting the SOAP message. I can't find any documentation which specifies the correct maven jar dependencies I have to add so that client side is able to encrypt the message. Based on logs and response from server it looks like the client did not send an encrypted SOAP message and service is throwing an Policy violation error to the client. </p><p>I tried to fix the issue by adding jboss-cxf-client as dependency but still the same issue.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>My question is, what dependencies should I include to my POM file?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thanks,</p><p>Stephen</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/803993#803993">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Web Services at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2044">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>