@Override
	public void handleMessage(Message message) throws Fault {
		SoapMessage msg = (SoapMessage)message;
		List<Header> headers = msg.getHeaders();
		
		if(headers == null || headers.size() < 1){
			throw new Fault(new IllegalArgumentException("There have no header node!"));
		}
		
		Header firstHeader = headers.get(0);
		
		for (Header header : headers) {
			QName qName = header.getName();
			System.out.println(qName);
		}
		
		Element element = (Element)firstHeader.getObject();
		
		NodeList usernameNode = element.getElementsByTagName("username");
		NodeList passwordNode = element.getElementsByTagName("password");
		
		if(usernameNode == null || usernameNode.getLength() != 1){
			throw new Fault(new IllegalArgumentException("not valid username"));
		}
		
		if(passwordNode == null || passwordNode.getLength() != 1){
			throw new Fault(new IllegalArgumentException("not valid password"));
		}
		
		String userName = usernameNode.item(0).getTextContent();
		String userPass = passwordNode.item(0).getTextContent();
		
		if(!("admin".equals(userPass) && "admin".equals(userName))){
			throw new Fault(new IllegalArgumentException("username or password is not valid"));
		}
	}