最终结构如图:
1. 准备工作:电脑上tomcat运行环境配置,以及在eclipse里面对tomcat进行配置。eclipse里面server要配置成对应的tomcat版本及安装位置。
2. 进入正题:首先创建一个Dynamic web Project作为我们的service的基础(有很多书里都是webProject,在较新版本的Eclipse里面即使就是Dynamic Web Project)
创建叫做SayHello2的web 工程:
在里面的src包里创建SayHello2的类(普通类即可);代码如下:
<span style="font-size:18px;">public class SayHello2 {
public String sayHello(String name){
return "Hello " + name;
}
}
</span>
3. 创建server:
创建server包:
,
选择你所安装的tomcat。next--》
选择addAll。finish。
4. 创建web service:
,browse找到SayHello2类,一路next就好。
5. 测试,在浏览器中打开:http://localhost:8080/SayHello2/services,出现如下图:
,表示成功创建service。
6. 再来创建Client来访问这个Service:
新建普通java Project --》AccessService。在这个工程里面创建web service client。
然后选择我们的那个service的WSDL文档,如下图:
这时候你会发现你的client类里面多了几个类,暂且不用管它,删了也可以。
下面我们创建自己的访问服务的类。
<span style="font-size:18px;">import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.MalformedInputException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class test {
public static void main(String[] args) throws ServiceException,
MalformedURLException, RemoteException {
String endPoint = "http://localhost:8080/SayHello/services/ServiceTest?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(endPoint));
call.setOperationName("sayHello");
String result = (String) call.invoke(new Object[] { "Arthur" });
System.out.println(result);
}
}
</span>
运行就好了。