axis1,xfire,jUnit 測試案列+開Web Service開發指南+axis1.jar下載 程式碼
axis1,xfire,jUnit 測試案列+Web Service開發指南(中).pdf+axis1.jar下載 程式碼
專案和資源文件+jar 下載:http://download.csdn.net/detail/liangrui1988/5810873
專案內容:
部分主要程式碼:
axis1:
package com.webservice.test;
/**
* @author liangrui
*
1:把axis-bin-1_4.zip 解壓後的axis檔案拷貝到tomcat webpaas目錄下
2:直接把java檔案拷貝到axis目錄下 (是配置即時發部)
3:定時釋出,有包名.
需要把編譯好的java檔案 也就是class檔案拷貝到你的axis/WEB-INF/class檔案下;
然後在WEB-INF目錄下新建一個deploy.wsdd檔案:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<!--服務相關配置-->
<service name="helloworldWSDD" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.webservice.service.HelloWorld"/>
<parameter name="scope" value="request"/>
</service>
</deployment>
****************************這個是我提前做好的檔案****************************
deploy.wsdd\start_Services.bat檔案拷貝到axis/WEB-INF下( 這個是配置 定時釋出的)
start_Services.bat //開啟服務 《也可以在cmd下操作》
***********************************************************************
4:cmd方式:
開啟cmd cd到你tomcat目錄下 axis WEB-INF下,輸入命令:
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
//編譯當前資料夾(WEB-INF)下的 deploy.wsdd檔案,會生成一個server-config.wsdd檔案
5:瀏覽器訪問的時候會根據你的請求名字
來找這個配製檔案(server-config.wsdd) 裡的service 節點下的name屬性 ,
再詳細的解析==(也就是deploy.wsdd 檔案 下的 <service name="xx" ....>)
shutDown_Services.bat //關閉服條 根開啟服務操作一樣
*
*/
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
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) {
jwsTest();// 即時發部
deployTest(); //定時釋出 部署,有包名
}
/**
* 即時發部
*/
public static void jwsTest(){
try {
// 訪問的url
String url="http://localhost:8080/axis/HelloWorld.jws";
// 建立service
Service service = new Service();
// 通過service 建立call
Call call =(Call) service.createCall();
// 設定訪問的webservice
call.setTargetEndpointAddress(url);
//呼叫指定方法
call.setOperationName(new QName(url,"sayHello"));
//傳送引數 並返回結果
String resource=(String) call.invoke(new Object[]{"accp157"});
System.out.println("返回的資料:"+resource);
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 定時釋出
*/
public static void deployTest(){
// 訪問的url
// http://專案路徑 /services/服務名稱(需要和deploy.wsdd 中的service 配置一)
String url ="http://localhost:8080/axis/services/helloworldWSDD";
// 建立service
Service service = new Service();
try {
// 建立call
Call call = (Call) service.createCall();
// 設定訪問的url
call.setTargetEndpointAddress(url);
// 設定呼叫的webservice 的方法
call.setOperationName(new QName(url,"jia"));
// 執行
int result = (Integer) call.invoke(new Object[]{2,3});
// 執行結果
System.out.println("結果是:"+result);
call.setOperationName(new QName(url,"jian"));
result = (Integer) call.invoke(new Object[]{2,3});
System.out.println("結果是:"+result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java檔案
public class HelloWorld {
public String sayHello(String name){
System.out.println("hello:"+name);
return "hello.."+name;
}
}
有包的java檔案
package com.webservice.service;
/**
* 加減乘除
* @author Administrator
*
*/
public class HelloWorld {
public int jia(int num1,int num2){
return num1+num2;
}
public int jian(int num1,int num2){
return num1-num2;
}
public int chen(int num1,int num2){
return num1*num2;
}
public int chun(int num1,int num2){
if(num2 > 0){
return num1/num2;
}else{
return 0 ;
}
}
}
axis1 呼叫天氣預報測試:
package com.webservice.test;
import java.rmi.RemoteException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
public class ForecastTest {
public static void main(String[] args) {
// http://WebXml.com.cn/是wsdl中definitions根節點的targetNamespace屬性
// webservice路徑
// 這裡後面加不加 "?wsdl" 效果都一樣的
String endpoint = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl";
String[] res = null;
// 查詢城市天氣的介面方法名
String operationName = "getWeather";
// 定義service物件
Service service = new Service();
// 建立一個call物件
Call call = null;
try {
call = (Call) service.createCall();
} catch (ServiceException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// 設定目標地址,即webservice路徑
call.setTargetEndpointAddress(endpoint);
// 設定操作名稱,即方法名稱
call.setOperationName(new QName("http://WebXml.com.cn/",operationName));
// 設定方法引數
call.addParameter( new QName("http://WebXml.com.cn/","theCityCode"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter( new QName("http://WebXml.com.cn/","theUserID"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
// 設定返回值型別
//對於返回是字串陣列的返回型別只有這兩種可行
//call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_VECTOR);
call.setReturnClass(java.lang.String[].class);
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://WebXml.com.cn/"+"getWeather");
String cityCode="廣州";
String userId="";
try {
res=(String[]) call.invoke(new Object[]{cityCode,userId});
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 如果返回型別是org.apache.axis.encoding.XMLType.SOAP_VECTOR時用下面的轉型接收
//Vector v=(Vector) call.invoke(new Object[]{cityCode,userId});
for(String str:res)
{
System.out.println(str);
}
// return res;
}
}
相關文章
- [請教]Junit測試web開發中的ActionBean的業務方法WebBean
- Web 開發中的檔案下載問題Web
- Web應用程式完全測試指南Web
- Three.js開發指南隨書原始碼下載地址JS原始碼
- 如何用java技術快速開發web service專案JavaWeb
- Web 開發進階指南Web
- Web開發初學指南Web
- Harmony OS 開發避坑指南——原始碼下載和編譯原始碼編譯
- 程式碼測試用例指南
- Go測試開發(一) 怎麼寫Go程式碼Go
- 測試同學動手搭個簡易web開發專案Web
- 面向開發的測試技術(三):Web自動化測試Web
- 開發測試
- 使用 CXF 整合 Spring 開發 Web ServiceSpringWeb
- JUnit測試方法
- Go Web開發入坑指南GoWeb
- 寫給程式設計師的軟體測試指南:人人都可以開發無Bug程式碼程式設計師
- 測試開發之前端篇-Web前端簡介前端Web
- Zsh 開發指南(五): 陣列陣列
- [測試開發]慶祝ITEye改版+測試開發專欄開通
- 學會程式碼不是測試的終點而是測試開發的起點
- 智汀雲盤-開發指南web:專案架構Web架構
- WEB程式設計開發常用的程式碼Web程式設計
- web自動化測試框架-02 快速開發用例文件指令碼Web框架指令碼
- 社交app開發|原始碼出售|案例詳情|專案測試APP原始碼
- 【敏捷開發】驅動測試開發敏捷
- 【JUnit測試】總結
- JUnit單元測試
- Junit 單元測試.
- Junit 4 測試方法
- 微信小程式開發記錄_03_開發指南_小程式程式碼組成微信小程式
- junit 使用JUnit測試預期異常
- JUnit3.8的Junit單元測試.
- 《Flask Web 開發指南 pt.2》FlaskWeb
- 測試src的方式開發vue專案Vue
- 《野火流明》「千映測試」預下載正式開啟!
- 測試多分支開發對合並程式碼的影響
- 介面自動化測試PHPUnit-框架程式碼開發3PHP框架