开发中可能会遇到token,或者认证信息从header里面传参,可以试试addSOAPHeader();
直接上代码:
SoapClient client = SoapClient.create(url)
.header("SOAPAction","http://baidu.com")
// 设置要请求的方法,此接口方法前缀为web,传入对应的命名空间
.setMethod("bjg:Send", "http://baidu.com")
.setParam("pInput",params,true);
SOAPHeaderElement soapHeaderElement = client.getMessage().getSOAPHeader().addHeaderElement(new QName("http://baidu.com","AuthenticationToken"));
soapHeaderElement.addChildElement("Userkey").setValue("11");
soapHeaderElement.addChildElement("Username").setValue("22");
soapHeaderElement.addChildElement("Password").setValue("33");
结果: