Axis2访问验证(SOAP方式)
来源:互联网 发布:centos7 pdo mysql 编辑:程序博客网 时间:2024/05/19 19:34
JAVA调用 web service时加入下面:
Client 端
call.addHeader(getSoapHeader(qName));
public static SOAPHeaderElement getSoapHeader(QName qName){
Name headerName = new PrefixedQName(qName);
SOAPHeaderElement header = new SOAPHeaderElement(headerName);
// header.setActor(null);
try{
header.addChildElement("username").addTextNode("admin");
header.addChildElement("password").addTextNode("admin");
}catch(Exception e){
e.printStackTrace();
}
return header;
}
Server 端
服务器端方法里面调用这个类的check方法:
import java.util.Iterator;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axis2.context.MessageContext;
public class SoapHeaderUtil {
@SuppressWarnings("unchecked")
public static boolean check(){
MessageContext msgContext = MessageContext.getCurrentMessageContext();
SOAPHeader header = msgContext.getEnvelope().getHeader();
if(header == null){
return false;
}
Iterator list = (Iterator)header.getFirstElement().getChildren();
String username = "";
String password = "";
while (list.hasNext()) {
OMElement element = (OMElement) list.next();
if (element.getLocalName().equals("username")) {
username = element.getText();
}
if (element.getLocalName().equals("password")) {
password = element.getText();
}
}
if (username.equals("qinan") && password.equals("admin")){
return true;
}else {
return false;
}
}
}
Client 端
call.addHeader(getSoapHeader(qName));
public static SOAPHeaderElement getSoapHeader(QName qName){
Name headerName = new PrefixedQName(qName);
SOAPHeaderElement header = new SOAPHeaderElement(headerName);
// header.setActor(null);
try{
header.addChildElement("username").addTextNode("admin");
header.addChildElement("password").addTextNode("admin");
}catch(Exception e){
e.printStackTrace();
}
return header;
}
Server 端
服务器端方法里面调用这个类的check方法:
import java.util.Iterator;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axis2.context.MessageContext;
public class SoapHeaderUtil {
@SuppressWarnings("unchecked")
public static boolean check(){
MessageContext msgContext = MessageContext.getCurrentMessageContext();
SOAPHeader header = msgContext.getEnvelope().getHeader();
if(header == null){
return false;
}
Iterator list = (Iterator)header.getFirstElement().getChildren();
String username = "";
String password = "";
while (list.hasNext()) {
OMElement element = (OMElement) list.next();
if (element.getLocalName().equals("username")) {
username = element.getText();
}
if (element.getLocalName().equals("password")) {
password = element.getText();
}
}
if (username.equals("qinan") && password.equals("admin")){
return true;
}else {
return false;
}
}
}
- Axis2访问验证(SOAP方式)
- axis2 soap
- axis2 soap
- Axis2+SOAP Header简单的验证方法实践
- Axis2+SOAP Header简单的验证方法实践
- Axis2+SOAP Header验证方法实践(基于SOAP的Web安全调用机制)
- 基于SOAP的Web安全调用机制-----Axis2+SOAP Header验证方法实践【已经试验】
- axis2 以 RPC的方式访问webservice
- webservice soap axis2
- axis2访问
- axis2客户端的访问方式rpc和axiom
- Java访问非.NET的webservice(axis2方式)
- 使用Axis2提供SOAP服务
- SOAP与AXIS2入门实例
- 发表Axis2+soap协议实例
- Android Axis2 KSOAP WebService SOAP
- Axis2 修改 soap-address-location
- android axis2+soap 传递对象
- 第八周任务1
- 第八周实验报告(1)
- SQLServer 2008 对视图或函数’XXX’的更新或插入失败,因其包含派生域或常量域解决
- 黑马程序员-网络编程
- QT打包
- Axis2访问验证(SOAP方式)
- 第八周任务一2
- 第八周实验报告(一)《方案三》拓展运算符功能
- 第8周实验报告1-2
- 【html5每日练习】html5 canvas画线
- 反射
- 第八周实验报告4
- 第8周实验报告1-3
- oracle利用rownum和rowid分页