不知能不能帮上忙!
package com.xfire.example;    
import org.apache.log4j.Logger;
import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.handler.AbstractHandler;
import org.jdom.Element;
import org.jdom.Namespace;/**
 * 客户端端的认证模块,回调处理模块
 * 每个需要认证的WebService方法都可以挂这个Handler
 * 
 * 仅用于Demo,从解耦和易用性出发,
 * 没有跟Acegi结合,你可以任意扩展
 * 默认用户名/密码是admin/admin
 * 
 * ClientAuthHandler跟AuthenticationHandler要一起用,或者都不用
 * 
 * @author  david.turing
 *
 * @blog openssl.blogjava.net
 */    
public class ClientAuthenticHandler extends AbstractHandler {
        private static final Logger log = Logger.getLogger(ClientAuthenticHandler.class);
        
        //客户端自己配置用户名密码或者更安全的KeyStore方式
        private String username = "admin";
        private String password = "admin";
        
        public ClientAuthenticHandler() {
        }
        
        public ClientAuthenticHandler(String username,String password) {
            this.username = username;
            this.password = password;
        }
        
        public void setUsername(String username) {
            this.username = username;
        }
        
        public void setPassword(String password) {
            this.password = password;
        }
        
        public void invoke(MessageContext context) throws Exception {
                        
            /*******************************************
             * Soap Header方式
             * 从Soap Header中获取用户名密码
             *******************************************/
            final Namespace ns = Namespace.getNamespace("SpringSide","http://service.webservice.plugins.bookstore.springside.org");  
            Element el = new Element("header",ns);            Element auth = new Element("AuthenticationToken", ns);
            Element username_el = new Element("Username",ns);
            username_el.addContent(username);
            Element password_el = new Element("Password",ns);
            password_el.addContent(password);
            auth.addContent(username_el);
            auth.addContent(password_el);
            el.addContent(auth);            
            context.getCurrentMessage().setHeader(el);            
            log.info("ClientAuthenticHandler done!");
        }
    }