java web Service 基础版本

首先编写 Service

package service;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
 * 一个简单的webService demo 类,使用 @WebService 注解申明 这是一个 webService 类
 */

@WebService
public class JwsServiceDemo {

    /**
     * WebService 注解中的方法会被发布到服务中去
     * @param Name
     * @return
     */
    public String helloJws(String userName) {
        return " Hello dear " + userName;
    }
    
    public String helloEverybody(String userName) {
        return " Hello dear " + userName;
    }
    
    /**
     * 静态方法不会发布到webService 上面 
     * @param Name
     * @return
     */
    public static String helloJwsStatic(String Name) {
        return " Hello dear " + Name;
    }
    
    /**
     * 添加WebMethod注解 且其中exclude 且属性等于 true 的时候不会发布到服务上面去
     * @param Name
     * @return
     */
    @WebMethod(exclude=true)
    public String hellJwsMethod(String Name) {
        return " Hello dear " + Name;
    }
    
    public static void main(String[] args) {
        
        /*
         * 调用javax.xml.ws.EndPoint 中的publish 来发布一个服务
         * 参数 服务发布的地址,端口
         * 提供服务的类 
         */
        Endpoint.publish("http://localhost:8084/Service", new JwsServiceDemo());
        System.out.println("WebServie 服务地启动成功 ~~~");
        
    }
}

    在启动成功后可以在浏览器中输入 http://localhost:8084/Service?wsdl 。注意 ? 是英文状态

    如果启动无误的话就能够后看到 Service.xml 的配置文件,其中可以看到 webService 中的方法,参数等类容

    然后下载 webService 中的类 在系统中在命令行中使用 Java命令

    wsimport -keep -p com.deom.webService http://localhost:8084/Service?wsdl

    wsimport 中的详细类容 可以使用 wsimport -help 进行查看

    导出时注意 写好包名 即com.deom.webService 保证将 .java 文件导入到编译器中的时候不会出现要修改包名的情况,如果修改包名有可能会出现错误。

    写好webService 服务类,导出具体的服务端代码文件之后,就可以调用服务端的 webService 端口了。

      

import com.deom.webService.JwsServiceDemo;
import com.deom.webService.JwsServiceDemoService;

/**
 * webSerivce 客户端简单案例
 *
 */
public class DemoWebCient {

    public static void main(String[] args) {
        
        /*
         * new 一个webService服务
         * 用过服务的端口拿到对用的方法,每个webService 中的方法都会生成一个 对应的方法类
         * 通过这个方法类再调用 webService中的方法
         */
        JwsServiceDemoService jws = new JwsServiceDemoService();
        JwsServiceDemo hello = jws.getJwsServiceDemoPort();
        System.out.println(hello.helloJws("Bob"));
        
    }
    
}

完成上述操作 并且控制带打印出 Hello dear Bob 完成了一个webService 客户端调用  服务端的操作


 

猜你喜欢

转载自my.oschina.net/u/3744526/blog/1791373
今日推荐