You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by SGE0 <st...@hotmail.com> on 2009/11/09 22:25:01 UTC
Axis2/Java 1.5.1 and Rampart 1.4 (no SoapFault returned)
Hi,
we use a service with a plain userid/password. We use RAMPART to deal with
this.
In case the clients passes a wrong userid or password (or none at all) we
get an ugly NullPointerException (see below) . No SOAP Response is returned
(we check with SOAPMonitor).
This is of course very inconvenient for 3rd parties wishing to use our
services.
Is this a known 'bug' and is there a workaround ?
Our Callback handler is:
public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException {
WSPasswordCallback pwcb = null;
for (int i = 0; i < callbacks.length; i++) {
pwcb = (WSPasswordCallback)callbacks[i];
String id = pwcb.getIdentifer();
LOGGER.info("PWCBHandler id: " + id + " PasswordType: " +
pwcb.getPasswordType());
// Check if password is plain text
if (pwcb.getUsage() ==
WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) {
if(!Admin.username.equals(id) || !Admin.password
.equals(pwcb.getPassword())) {
LOGGER.info("PWCBHandler id: " + id + " Invalid password: "
+ pwcb.getPassword());
throw new IOException(callbacks[i] + " ... check failed");
}
}
}
}
The error is the Tomcat logging is:
SEVERE: Servlet.service() for servlet AxisServlet threw exception
java.lang.NullPointerException
at
org.apache.rampart.RampartMessageData.<init>(RampartMessageData.java:308)
at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:61)
at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:508)
at
org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:423)
at
org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:386)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:176)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
--
View this message in context: http://old.nabble.com/Axis2-Java-1.5.1-and-Rampart-1.4-%28no-SoapFault-returned%29-tp26273931p26273931.html
Sent from the Axis - Dev mailing list archive at Nabble.com.