Axis WebService的客户端调WebService, 但是现在需要加一个UserNameToken.就是需要在Soap包里面加上一个头.需要加的内容如下(应该是用wss4j这个包来完成的):
??<soapenv:Header>
?? ?<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
?? ? ?<wsse:UsernameToken>
?? ? ? ?<wsse:Username>aaa</wsse:Username>
?? ? ? ?<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">aaaaa</wsse:Password>
?? ? ?</wsse:UsernameToken>
?? ?</wsse:Security>
??</soapenv:Header>
?
public void setSoapHeader(){
?? ? try{
?? ? ? ? ? ?org.apache.axis.message.SOAPHeaderElement soapHeaderElement; ??
?? ? ?soapHeaderElement = new org.apache.axis.message.SOAPHeaderElement("wsse","Security");
?? ? ?soapHeaderElement.setMustUnderstand(true);
?? ? ?soapHeaderElement.setNamespaceURI("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
?? ? ?SOAPElement token = soapHeaderElement.addChildElement("UsernameToken");
?? ? ?SOAPElement userName = token.addChildElement("Username","wsse","http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
?? ? ?userName.setValue("username");
?? ? ?SOAPElement password = token.addChildElement("Password","wsse","http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
?? ? ?password.setValue("password");
?? ? ?_call.addHeader(soapHeaderElement);
?? ? }catch(Exception err){
?? ? ?err.printStackTrace();
?? ? }
?? ?}