zoukankan      html  css  js  c++  java
  • WebService(三)

    JAX-WS简单使用示例:

    1.服务端

     1 package com.rong.service;
     2 
     3 import javax.jws.WebMethod;
     4 import javax.jws.WebParam;
     5 import javax.jws.WebResult;
     6 import javax.jws.WebService;
     7 
     8 @WebService
     9 public interface UserService {
    10     //private私有方法不会被发布,只会发布public方法
    11     //exclude默认为false,即发布;若为true,即不发布
    12     @WebMethod(operationName="getMyAge",exclude=true)
    13     public int getAge();
    14     public @WebResult(name="ResultType")String changeName(@WebParam(name="NameType")String name);
    15 }
     1 package com.rong.service;
     2 
     3 import javax.jws.WebService;
     4 
     5 //@WebService
     6 //通过注解修改wsdl文件信息
     7 @WebService(targetNamespace="http://service.rjl.com/",
     8             serviceName="UserService",
     9             portName="bindingname",
    10             name="portname",
    11             //UserServiceImpl可能实现多个接口,注解endpointInterface用于
    12             //只发布哪个接口服务,并且要在那个接口中添加@WebService
    13             endpointInterface="com.rong.service.UserService")
    14 public class UserServiceImpl implements UserService {
    15 
    16     @Override
    17     public int getAge() {
    18         return 0;
    19     }
    20 
    21     @Override
    22     public String changeName(String name) {
    23         return name.toUpperCase();
    24     }
    25 
    26 }
     1 package com.rong.test;
     2 
     3 import javax.xml.ws.Endpoint;
     4 
     5 import com.rong.service.UserServiceImpl;
     6 
     7 public class Test {
     8 
     9     public static void main(String[] args) {
    10         //第一个参数是发布的URL
    11         //第二个参数是服务接口的实现类对象
    12         Endpoint.publish("http://127.0.0.1:8080/myservice", new UserServiceImpl());
    13     }
    14 
    15 }

    运行main方法

    浏览器输入地址:http://127.0.0.1:8080/myservice?wsdl访问wsdl检验是否开启服务

    2.客户端

    eclipse创建项目,在项目路径下F:workplacemyclientsrc

    运行cmd,执行指令生成客户端代码(可用工具生成)

    然后在生成的代码文件夹中删除字节码文件.class文件,只保留java文件

    返回eclipse开发工具的客户端项目,刷新项目

    测试:

     1 package com.rong.test;
     2 
     3 import java.net.MalformedURLException;
     4 import java.net.URL;
     5 
     6 import javax.xml.namespace.QName;
     7 import javax.xml.ws.Service;
     8 
     9 import com.rjl.service.UserService;
    10 
    11 
    12 public class Test {
    13 
    14     public static void main(String[] args) throws MalformedURLException {
    15         
    16         // 客户端使用服务方式一:见上篇
    17         //客户端使用服务方式二
    18         URL url=new URL("http://127.0.0.1:8080/myservice?wsdl");
    19         //第一个参数是服务的URI,服务的命名空间名字
    20         //第二个参数是WSDL发布的服务名
    21         QName serviceName=new QName("http://service.rjl.com/", "UserService");
    22         Service service = Service.create(url, serviceName);
    23         UserService userService = service.getPort(UserService.class);
    24         System.out.println(userService.changeName("rjl and kobe!"));
    25     }
    26 }

  • 相关阅读:
    Bash简单介绍
    三大框架常遇的错误:hibernate : object references an unsaved transient instance
    第二十八篇: 学习笔记
    oracle表空间查询维护命令大全之二(undo表空间)
    JSON 数据的系统解析
    MySQL字符串函数
    HDU ACM 1025 Constructing Roads In JGShining's Kingdom->二分求解LIS+O(NlogN)
    实时竞价RTB广告平台_传漾科技_中国领先的智能数字营销引擎
    秒聘网-产品经理招聘,免费、专注、极速
    “小鸟推送”从DSP做到营销效果最大化,挂牌新三板后正在寻求B轮定增
  • 原文地址:https://www.cnblogs.com/57rongjielong/p/8150137.html
Copyright © 2011-2022 走看看