java Web Service Axis调用参数问题

本文介绍如何使用Java和Apache Axis实现WebService的登录验证功能,重点讲解了参数设置及意义,包括如何设置参数名、参数类型及参数传递模式。

java Web Service Axis

public int isLoginSuccessful(String studentID, String password)...{
try ...{
ResourceBundle rb=ResourceBundle.getBundle("com.wsscore4student.business.service-config");
String endpoint= rb.getString("url");
System.out.println( "url is " + endpoint);
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(new QName("http://www.wsscore.com/isStudentLoginSuccessful/SU","isStudentLoginSuccessful"));
call.addParameter("studentID",org.apache.axis.encoding.XMLType.XSD_DATE,javax.xml.rpc.ParameterMode.IN);
call.addParameter("password",org.apache.axis.encoding.XMLType.XSD_DATE,javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_INT);
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://www.wsscore.com/isStudentLoginSuccessful/Rpc");
int k = (Integer)call.invoke(new Object[]...{studentID,password});
System.out.println( "result is " + k + ".");
return k;
}
catch (Exception e) ...{System.err.println(e.toString());}
return -1;
}

这个程序中
call.addParameter("password",org.apache.axis.encoding.XMLType.XSD_DATE,javax.xml.rpc.ParameterMode.IN);
方法的各个参数是什么意思
收起
abs421209023  |  浏览 3179 次   2009-06-24 19:36
2015-10-24 20:07
addParameter:增加一个属性。

password,增加的属性名。

org.apache.axis.encoding.XMLType.XSD_DATE, 这个参数是WEBSERVCE内部定义好的参数,这个常量是WEBSERVICE里的QName实例。QName实例按照XML Schema 的第二部分,即【数据类型规范】里面的要求定义了一个固定的名称。QName包含三个属性,分别是命名空间URI, 用户部分和前缀。 用户部分是指一个固定的名称,命名空间URI是指一个负责引用命名空间的URI。QName是Object的直接子类,并且是可序列化的。这个XSD_DATE是指遵循QName的一个对象类型,其封装了数据类型DATE,即日期。另外还有XSD_TIME,时间 这类的类型定义。

javax.xml.rpc.ParameterMode.IN 是WEBSERVICE内部定义好的参数。意思是方法的参数模式为传入,另外还有传出,也就是OUT,和传入传出INOUT 两个参数。这个和ORACLE数据库调用存储过程是差不多的意思。

综上,上面那句代码的意思就是
增加一个参数,参数名为password,类型为XSD_DATE, 它能够被赋值,但不能读取,也就是说没有返回值。

不明白可以继续补充,呵呵。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值