java 新建 api 案列_Java利用webservice创建接口案例源码
環境要求:
JDK1.7,并配置Java的環境變量
BaseDao? 接口:
/**
* 要使得成為一個可供訪問的接口,必須添加:@WebService
* */
@WebService
public interface BaseDao {
//添加一個加法的接口
@WebResult(name="addddddre")
public int add(@WebParam(name="add01")int a,@WebParam(name="add02")int b);
public String t(String a,String b);
public User login(String usename,String password);
}
BaseDaoImpl:
/**
* endpointInterface? 是接入點的配置(提供給訪問者,訪問哪里)
* */
@WebService(endpointInterface="com.sram.dao.BaseDao")
public class BaseDaoImpl implements BaseDao{
@Override
public int add(int a, int b) {
// TODO Auto-generated method stub
System.out.println("a+b的和為"+(a+b));
return a+b;
}
@Override
public String t(String a, String b) {
// TODO Auto-generated method stub
return a+b;
}
@Override
public User login(String username, String password) {
// TODO Auto-generated method stub
System.out.println("username"+username+","+"password"+password);
return new User(username,password);
}
}
添加接口服務:
MyServer.java
public class MyServer {
public static void main(String[] args) {
//添加服務,確定在網上發布的地址
String url="http://localhost:8888/sram";
//發布接口
Endpoint.publish(url, new BaseDaoImpl());
}
}
MyClient:客戶端訪問接口:
/**
* 定義訪問的客戶端:
* */
public class MyClient {
public static void main(String[] args) {
URL url;
try {
url = new URL("http://localhost:8888/sram?wsdl");
QName qname = new QName("http://impl.dao.sram.com/","BaseDaoImplService");
//根據服務的名稱創建service
Service service = Service.create(url,qname);
//獲取接口
BaseDao dao = service.getPort(BaseDao.class);
//通過wsdl轉換成Java對象。沒有依賴Java程序,但依賴Java接口。
System.out.println(dao.add(3, 5));
/**
* 成功調用服務端的接口,實現功能,但是有問題。
*
* 1,服務商不可能把接口名提供給你。
*
* 2,如果服務器系統使用.NET開發沒有接口。所以,咱們寫的
* 客戶端不應該依賴服務器平臺。
* */
System.out.println(dao.t("test1", "test2"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
注意:第一種訪問依賴接口BaseDao,不推薦:
方式2:
利用wsimport生成不依賴平臺的客戶端訪問類。
具體辦法:打開控制臺,在控制臺端生成訪問文件(前提:需要配置Java的環境變量)
-d 指明生成的目錄
-keep 保留Java代碼
-verboss 輸出生成詳細信息
d:/test 為生成代碼的地址
生成客戶端訪問服務器接口的代碼:
wsimport -d d:/test -keep -verbose http://localhost:8888/sram?wsdl
生成之后,將其拷貝到訪問項目中,再次利用MyClient類,將BaseDao導入地址改為生成文件中的接口的地址。
再次訪問,OK!
總結
以上是生活随笔為你收集整理的java 新建 api 案列_Java利用webservice创建接口案例源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 标题去重复思想,WordPres
- 下一篇: Spring Cloud Alibaba