Hi,
My application requires that I programmatically set a username and
password into the ws-security standard locations in the soap header. Note
that I do not want to configure Rampart athentication because authentication
logic will be fully proprietery in the server.
I intend to just retrieve the usename/password from soap header
programmtically from server and then authenticate myself.
What is the best way to do this?
I think i can do this using the code below. which will go into an outflow
handler.
Question now, is how to programmatically add an outflow handler.:
mport org.apache.axis.AxisFault;
import org.apache.axis.Message;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.message.SOAPHeaderElement;
import org.apache.axis.session.Session;
import org.apache.axis.transport.http.HTTPConstants;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.message.WSSecHeader;
import org.apache.ws.security.message.WSSecUsernameToken;
import org.w3c.dom.Document;
public class RequestHandler extends BasicHandler {
public void invoke(MessageContext messageContext) throws AxisFault {
MessageContext currContext = messageContext.getCurrentContext();
Message message = currContext .getRequestMessage();
SOAPEnvelope envelope = message.getSOAPEnvelope();
try {
Document doc = envelope.getAsDocument();
WSSecHeader secHeader = new WSSecHeader("",false);
secHeader.insertSecurityHeader(doc);
String username = "user1";
String password = "password";
WSSecUsernameToken builder = new WSSecUsernameToken();
builder.setPasswordType(WSConstants.PASSWORD_TEXT);
builder.setUserInfo(username, password);
builder.prepare(doc);
builder.appendToHeader(secHeader);
envelope.addHeader(new
SOAPHeaderElement(secHeader.getSecurityHeader()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
--
View this message in context:
http://www.nabble.com/programmatically-setting-usernametoken-in-wssecurity-soap-header-tp21691356p21691356.html
Sent from the WSS4J mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]