最終結構如圖:
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>
運行就好了。