Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Invalid
-
2.8.2
-
Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
Maven home: C:\Program Files\apache-maven-3.0.3
Java version: 1.6.0_25, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_25\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100) Maven home: C:\Program Files\apache-maven-3.0.3 Java version: 1.6.0_25, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_25\jre Default locale: de_DE, platform encoding: Cp1252 OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
-
Moderate
Description
In tried to setup a proxy webservice which takes care for authentication.
But even thou I added the right interceptor in my cxf:cxfEndpoint I receive the following soap fault, when providing my credentials to the proxy service:
<soap:Fault>
<faultcode>soap:MustUnderstand</faultcode>
<faultstring>MustUnderstand headers: [
Security] are not understood.</faultstring>
</soap:Fault>
I was looking in the debug modus, if the method getUnderstoodHeaders() in AbstractWSS4JInterceptor was called and discoverd that it was not. Therefore cxf does not know that it could handle my security-token.
I tried to extend the cxf proxy example, which is shipped with camel. Here is my cxfEndpoint configuration:
<!-- this is the CXF webservice we use as front end -->
<cxf:cxfEndpoint id="reportIncident"
address="http://localhost:9080/camel-example-cxf-proxy/webservices/incident"
endpointName="s:ReportIncidentEndpoint"
serviceName="s:ReportIncidentEndpointService"
wsdlURL="etc/report_incident.wsdl"
xmlns:s="http://reportincident.example.camel.apache.org">
<cxf:inInterceptors>
<bean id="logInbound" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
<bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
<bean id="authenticationInterceptor" class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry key="action" value="UsernameToken" />
<entry key="passwordType" value="PasswordText" />
<entry key="passwordCallbackClass" value="org.apache.cxf.systest.ws.wssec10.client.KeystorePasswordCallback" />
</map>
</constructor-arg>
</bean>
</cxf:inInterceptors>
</cxf:cxfEndpoint>