关于JAVA webservice

来源:百度知道 编辑:UC知道 时间:2024/06/19 22:09:34
我现在用axis 在MYECLIPSE中起来WEB Service了,
public static void main(String[] args) {

try {

String endpoint = "http://localhost:8080/axis2/Hello.jws?wsdl";

Service service = new Service();

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(new java.net.URL(endpoint));

call.setOperationName(new QName("urn:ActionWebService", "getName"));

String ret = (String) call.invoke(new Object[] { "a" });

System.out.println("result is: " + ret);

} catch (Exception e) {
e.printStackTrace();
}
}

运行该文件得到 result is: Hello:a 说明OK了!
说明:方法名getName(String s)

问题:怎么用一个JSP运用这个http://loc

有2种选择
1.JSP表单提交请求 然后返回页面JSP 这样有个页面刷新的动作

2.局部刷新ajax请求

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
--------

Service service=new Service();
Call call=(Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
//调用.NET写的WebService时,与调用JAVA写的WebService要多一些代码。
//第一步,增加如下两行代码。
call.setUseSOAPAction(true);
call.setSOAPActionURI(namespace + "getFileInfo");//URI格式:命名空间+方法名

//第二步,设置方法名时,不能只用一个字符串(调JAVA用法),而要用QName,并且构造QName时一定要加上命名空间
call.setOperationName(new QName(namespace,"getFileInfo"));
<