camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sonusmile01 <sonusmil...@gmail.com>
Subject Issue with adding wsse:security header in Apache Camel Route
Date Mon, 27 Oct 2014 15:40:28 GMT
I am using 
camel: 2.12.1
spring: 4.0.5.RELEASE
CXF : 2.7.13

My goal is to deliver a soap message with wsse:security header(as mentioned
below) in Payload mode from my camel router to some endpoint.

<wsse:Security soapenv:mustUnderstand="1"

xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"

xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
	
	<wsse:UsernameToken
		wsu:Id="UsernameToken-D5896C4D7E4684BCF8141101393698197">
		<wsse:Username><xsl:value-of select="User" /></wsse:Username>
		<wsse:Password
		
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"><xsl:value-of
select="password" /></wsse:Password>
		<wsu:Created><xsl:value-of select="$START_TIME" /></wsu:Created>
	</wsse:UsernameToken>
</wsse:Security>

To achieve this, I have created a config file which has the below entry

<jaxws:client name="{http://com.abc/CallingService}CallingService"
createdFromAPI="true">
  <jaxws:properties>
    <entry key="ws-security.username" value= "User" />
    <entry key="ws-security.password" value="password" />
  </jaxws:properties>
</jaxws:client>

But not sure how can I use this file or call this somewhere in route or some
other spring config file , so that I can have a soap header in my out going
message.

I am currently getting the exception

org.apache.cxf.ws.policy.PolicyException: No username available
	at
org.apache.cxf.ws.security.wss4j.AbstractTokenInterceptor.policyNotAsserted(AbstractTokenInterceptor.java:229)
~[cxf-rt-ws-security-2.7.13.jar:2.7.13]
	at
org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.addUsernameToken(UsernameTokenInterceptor.java:361)
~[cxf-rt-ws-security-2.7.13.jar:2.7.13]
	at
org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.addToken(UsernameTokenInterceptor.java:307)
~[cxf-rt-ws-security-2.7.13.jar:2.7.13]
	at
org.apache.cxf.ws.security.wss4j.AbstractTokenInterceptor.handleMessage(AbstractTokenInterceptor.java:95)
~[cxf-rt-ws-security-2.7.13.jar:2.7.13]
	at
org.apache.cxf.ws.security.wss4j.AbstractTokenInterceptor.handleMessage(AbstractTokenInterceptor.java:61)
~[cxf-rt-ws-security-2.7.13.jar:2.7.13]
	
My wsdl's policy is as below:

 <wsp:Policy wsu:Id="EndpointSecurityPolicy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
    <wsp:ExactlyOne>
      <wsp:All>
        <sp:TransportBinding>
          <wsp:Policy>
            <sp:TransportToken>
              <wsp:Policy>
                <sp:HttpsToken>
                  <wsp:Policy>
                    <sp:RequireClientCertificate/>
                  </wsp:Policy>
                </sp:HttpsToken>
              </wsp:Policy>
            </sp:TransportToken>
            <sp:AlgorithmSuite>
              <wsp:Policy>
                <sp:Basic128/>
              </wsp:Policy>
            </sp:AlgorithmSuite>
            <sp:IncludeTimestamp/>
          </wsp:Policy>
        </sp:TransportBinding>
        <sp:SupportingTokens>
          <wsp:Policy>
            <sp:UsernameToken>
              <wsp:Policy>
                <sp:NoPassword/>
              </wsp:Policy>
            </sp:UsernameToken>
          </wsp:Policy>
        </sp:SupportingTokens>
      </wsp:All>
      <wsp:All>
        <sp:TransportBinding>
          <wsp:Policy>
            <sp:TransportToken>
              <wsp:Policy>
                <sp:HttpsToken>
                  <wsp:Policy/>
                </sp:HttpsToken>
              </wsp:Policy>
            </sp:TransportToken>
            <sp:AlgorithmSuite>
              <wsp:Policy>
                <sp:Basic128/>
              </wsp:Policy>
            </sp:AlgorithmSuite>
            <sp:IncludeTimestamp/>
          </wsp:Policy>
        </sp:TransportBinding>
        <sp:SupportingTokens>
          <wsp:Policy>
            <sp:UsernameToken>
              <wsp:Policy>
                <sp:WssUsernameToken11/>
              </wsp:Policy>
            </sp:UsernameToken>
          </wsp:Policy>
        </sp:SupportingTokens>
      </wsp:All>
    </wsp:ExactlyOne>
  </wsp:Policy>




--
View this message in context: http://camel.465427.n5.nabble.com/Issue-with-adding-wsse-security-header-in-Apache-Camel-Route-tp5758106.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Mime
View raw message