WebService入门浅谈

首先介绍一下开发工具,eclipse,axis1.4,axis发布webservice有即时发布和定制发布两种,这里只介绍定制发布。
1、将axis1.4解压后,axis-1_4\webapps目录下的axis复制到tomcat目录下的webapps目录下。
2、编写一个简单的java类,如
package com.service;

public class WebServiceClient {

public String getString(String str)
{
System.out.println("str="+str);
return "str="+str;
}
}将该类对应的class文件带包,即eclipse工程下,build\classes目录下的com文件拷贝到tomcat安装目录下的\webapps\axis\WEB-INF\classes目录中。
3、在tomcat目录下的webapps\axis\WEB-INF目录下建立一个deploy.wsdd文件(文件名可以自己定义),内容如下:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="WebServiceClient" provider="java:RPC">
<parameter name="className" value="com.service.WebServiceClient"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="request"/>
</service>
</deployment>
需要改的只有两个参数:service的name,还有className的value。
4、打开cmd,进入tomcat的webapps\axis\WEB-INF目录,输入
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd,回车,可以看到Processing file deploy.wsdd 和Done processing字样,并用http://localhost:8080/axis/servlet/AxisServlet进行测试,如果可以看到WebServiceClient (wsdl)这些字样,说明已经发布成功。
5、写客户端程序,调用发布的webservice,可以写一个main函数进行测试,如下:
String url = "http://localhost:8080/axis/services/WebServiceClient";
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(url);
call.setOperation(new QName(url),"getString");
String result = (String)call.invoke(new Object[]{"test"});
System.out.println(result);
url可以从第四步骤中的最后键入url地址后,点击相应的webservice接口连接后,出现的页面的最上面有targetNamespace字样,把这个后面的一串地址复制过来就可以了。
getString是第二步骤中定义的方法名字,test是传给getString方法的参数。
6、在eclipse中执行就可以看到结果了

猜你喜欢

转载自j-lyf.iteye.com/blog/1740914
今日推荐