Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Not A Problem
-
2.4.2
-
Windows Vista; jdk 1.6.0_23; netbeans 6.9.1;soap-ui plugin
-
Unknown
Description
This is probably not really an issue for cxf but I'm a bit stumped.
Any advice on how to debug my attempt to configure cxf to pass the username and token in the soap header? I am getting the cryptic NoSuchMethod error which isn't helping me much.
<bean id="serverPasswordCallback" class="com.mycompany.myproj.security.ServerPasswordCallback" />
<bean id="wss4jInInterceptor" class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry key="action" value="UsernameToken" />
<entry key="passwordType" value="PasswordText" />
<entry key="signaturePropFile" value="c:/java/myproj/signature.properties" />
<entry key="passwordCallbackRef">
<ref bean="serverPasswordCallback" />
</entry>
</map>
</bean>
<jaxws:endpoint id="MyServImpl"
implementor="com.mycompany.myproj.myserv.MyServImpl"
endpointName="e:myserv"
serviceName="e:myserv"
address="myserv"
xmlns:e:urn:myserv.services.mycompany.com"
/>
The endpoint was working fine before I added in the WSS4J configuration.
com.mycompany.myproj.security.ServerPasswordCallback.java
has
public class ServerPasswordCallback implements CallbackHandler {
public ServerPasswordCallback()
{
System.out.println("inside constructor");
}
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
System.out.println("inside handle method");
}
When I run, I see that the constructor is called, but when I try to exercise the service using soap-ui (with the login/password) I get
SEVERE: Servlet.service() for servlet WebServicePort threw exception
java.lang.NoSuchMethodError: org.apache.ws.security.WSSecurityEngine.getWssConfig()Lorg/apache/ws/security/WSSConfig:
at org.apache.cxf.ws.security.wss4j.WSS4JIjInterceptor.handleMessage(WSS4JInInterceptor.java:193)