標籤:style blog http java color os
webservice
異構平台之間的互動如:.net、php、python、perl
流行的架構:CXF、Axis、Metro
JAVA提供的:JAX-WS
一、快速實現一個基於Jws的Webservice項目
1、伺服器的建立
1.1建立介面
package com.bling.service;import javax.jws.WebService;@WebServicepublic interface IMyService { public int sum(int a,int b); public int minus(int a,int b);}
1.2建立實作類別
package com.bling.service;import javax.jws.WebService;@WebService(endpointInterface="com.bling.service.IMyService")public class MyServiceImpl implements IMyService { @Override public int sum(int a, int b) { // TODO Auto-generated method stub System.out.println(a+"+"+b+" = "+(a+b)); return a+b; } @Override public int minus(int a, int b) { // TODO Auto-generated method stub System.out.println(a+"+"+b+" = "+(a-b)); return a-b; }}
1.3開啟服務
package com.bling.service;import javax.xml.ws.Endpoint;public class MyService { public static void main(String[] args) { // TODO Auto-generated method stub String address = "http://localhost:8888/ws"; Endpoint.publish(address, new MyServiceImpl()); }}
可以產生一個wsdl的檔案在服務地址中
2.用戶端建立
package com.bling.service;import java.net.MalformedURLException;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;public class TestClient { public static void main(String[] args) throws MalformedURLException { // TODO Auto-generated method stub URL url = new URL("http://localhost:8888/ws?wsdl"); QName sname= new QName("http://service.bling.com/","MyServiceImplService"); Service service = Service.create(url,sname); IMyService ms = service.getPort(IMyService.class); System.out.println(ms.sum(10, 20)); System.out.println(ms.minus(10, 20)); }}
輸出:
30
-10
GitBub源碼地址:https://github.com/WebServcie/service_start