美文网首页
WebService服务端开发

WebService服务端开发

作者: 藝龍 | 来源:发表于2017-10-23 15:08 被阅读0次

    Java WebService服务端开发


    JWS

    1. 介绍: JWS-WebService.JWS是Java语言实现的一种webservice,用来开发和发布服务,它是一个轻量级的WS框架,实现起来也非常的简单
    2. 实例:
    • 定义接口,并将接口发布成webservice:
    package org.zttc.service;
    import javax.jws.WebParam;
    import javax.jws.WebResult;
    import javax.jws.WebService;
    import javax.jws.soap.SOAPBinding;
    @WebService
    @SOAPBinding(style = SOAPBinding.Style.RPC)
    public interface IMyService {  
        @WebResult(name="addResult")  
        public int add(@WebParam(name="a")int a,@WebParam(name="b")int b);  
        @WebResult(name="loginUser")  
        public User login(@WebParam(name="username")String username,@WebParam(name="password")String password);  
    }
    
    • 定义接口实现:
    package org.zttc.service;  
      
    import javax.jws.WebParam;  
    import javax.jws.WebResult;  
    import javax.jws.WebService;  
      
    @WebService(endpointInterface="org.zttc.service.IMyService")  
    public class MyServiceImpl implements IMyService {  
      
        @Override  
        public int add(int a, int b) {  
            System.out.println(a + "+" + b + "=" + (a + b));  
            return a+b;  
        }  
      
        @Override  
        public User login(@WebParam(name = "username") String username,  
                @WebParam(name = "password") String password) {  
            System.out.println(username + " is logging");  
            User user = new User();  
            user.setId("1");  
            user.setUsername(username);  
            user.setPassword(password);  
            return user;  
              
        }  
    }  
    
    • 发布服务:
    package org.zttc.service;  
      
    import javax.xml.ws.Endpoint;  
      
    public class MyServer {  
          
        public static void main(String[] args){  
            String address = "http://localhost:8888/ns";  
            Endpoint.publish(address, new MyServiceImpl());  
        }  
          
    }  
    
    • 编写测试类代码:
    package org.zttc.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){  
             try {  
                 //创建访问wsdl服务地址的url  
                URL url = new URL("http://localhost:8888/ns?wsdl");  
                //通过QName指明服务的和具体信息  
                 QName sname= new QName("http://service.zttc.org/","MyServiceImplService");  
                 //创建服务  
                 Service service = Service.create(url,sname);  
                 //实现接口  
                 IMyService ms =service.getPort(IMyService.class);  
                 System.out.println(ms.add(12, 33));  
            } catch (MalformedURLException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            }  
              
        }  
    }  
    

    Axis2

    1. 官网:http://axis.apache.org/axis2/java/core/

    CXF Apache CXF = Celtix + XFire

    1. 官网: http://cxf.apache.org/
    1. XFire在2007年后已停止更新。正式更名为Apache CXF,亦可以说是XFire2.0

    Java WebService客户端开发


    使用JDK命令生成客户端调用代码
    wsimport -p com.xxx -keep http://10.1.108.155/Services/MobileRegisterService.svc?wsdl URI地址必须要以wsdl结尾

    客户端调用代码:(MobileRegisterService,IMobileRegisterService主要使用这个类和接口)

    MobileRegisterService mrs = new MobileRegisterService();
    IMobileRegisterService imrs = webServicesSoap.getBasicHttpBindingIMobileRegisterService();
    imrs.method();

    使用axis2中bin目录下的wsdl2java.bat生成

    wsdl2java -uri http://10.1.108.155/Services/MobileRegisterService.svc?wsdl -o D:\ -p com.xxx

    • 一、JAX-WS:全称是JavaTM API forXML-Based Web Services
      JAX-RS :全称是 JavaTM API forRESTful Web Services
      关于JAX-WS与JAX-RS两者是不同风格的SOA架构。前者以动词为中心,指定的是每次执行函数。而后者以名词为中心,每次执行的时候指的是资源。
    • 二、JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java标注来简化Web服务的客户端和服务端的开发和部署。
      JAX-WS规范是一组XML web services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。

    相关文章

      网友评论

          本文标题:WebService服务端开发

          本文链接:https://www.haomeiwen.com/subject/onrauxtx.html