WebService 加 Token 到header中

Axis WebService的客户端调WebService, 但是现在需要加一个UserNameToken.就是需要在Soap包里面加上一个头.需要加的内容如下(应该是用wss4j这个包来完成的):

  

    

      

        aaa

        aaaaa

      

    

  

 

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();

     }

    }

你可能感兴趣的:(WebService,安全)