请选择 进入手机版 | 继续访问电脑版

技术_方法_掌握技术,成就未来-6miu百度云

 找回密码
 立即注册
查看: 4|回复: 0

Java6 WebServices (一)服务端

[复制链接]

277万

主题

277万

帖子

832万

积分

论坛元老

Rank: 8Rank: 8

积分
8326212
发表于 2021-1-4 13:17:56 | 显示全部楼层 |阅读模式
Java6发布了,其中一个吸引我的新特性就是原生支持WebServices。在这和大家分享下学习心得。
下面就开始写个最简单的WebServices:



  package
   org.hermit.study.jdk;
  import
   javax.jws.WebMethod;
  import
   javax.jws.WebService;
  import
   javax.jws.soap.SOAPBinding;@WebService(targetNamespace
  =
   
  "
  http://jdk.study.hermit.org/client
  "
  )@SOAPBinding(style
  =
   SOAPBinding.Style.RPC)
  public
   
  class
   Hello {    @WebMethod   
  public
   String sayHello(String name) {        
  return
   
  "
  hello:
  "
   
  +
   name;    }}
  
怎么样简洁吧,很多朋友的写法还要在命令行中执行“
wsgen –cp . ”
用偶这种方法写的service可以省去上面这步。
targetNamespace = "http://jdk.study.hermit.org/client"这句是指定客户端获取服务端服务后存放的类路径。注意是反着的,http://jdk.study.hermit.org/client在客户端生成的类会放在org.hermit.study.jdk.client包下。
下面是发布服务:



  
  package
   org.hermit.study.jdk;
  import
   javax.xml.ws.Endpoint;
  public
   
  class
   StartService
  ...
  {    public static void main(String[] args) ...{        Endpoint.publish("http://localhost:8080/HelloService", new Hello());    }}
  
呵呵,更简洁。一句话而已。
http://localhost:8080/HelloService是指发布的地址运行
StartService
...
,开发浏览器输入:http://localhost:8080/HelloService?wsdl
晕,怎么不能上传图片了。。。。。。。。。。。。
如果能看到以下内容,就可以



   
  
  xml version="1.0" encoding="UTF-8"
  ?>
   -
  
  definitions
  xmlns
  ="http://schemas.xmlsoap.org/wsdl/"
   xmlns:tns
  ="http://jdk.study.hermit.org/client"
   xmlns:xsd
  ="http://www.w3.org/2001/XMLSchema"
   xmlns:soap
  ="http://schemas.xmlsoap.org/wsdl/soap/"
   targetNamespace
  ="http://jdk.study.hermit.org/client"
   name
  ="HelloService"
  >
   
  
  types
  />
   -
  
  message
  name
  ="sayHello"
  >
   
  
  part
  name
  ="arg0"
   type
  ="xsd:string"
   
  />
     
  
  message
  >
  -
  
  message
  name
  ="sayHelloResponse"
  >
   
  
  part
  name
  ="return"
   type
  ="xsd:string"
   
  />
     
  
  message
  >
  -
  
  portType
  name
  ="Hello"
  >
  -
  
  operation
  name
  ="sayHello"
   parameterOrder
  ="arg0"
  >
   
  
  input
  message
  ="tns:sayHello"
   
  />
     
  
  output
  message
  ="tns:sayHelloResponse"
   
  />
     
  
  operation
  >
   
  
  portType
  >
  -
  
  binding
  name
  ="HelloPortBinding"
   type
  ="tns:Hello"
  >
   
  
  soap:binding
  style
  ="rpc"
   transport
  ="http://schemas.xmlsoap.org/soap/http"
   
  />
   -
  
  operation
  name
  ="sayHello"
  >
   
  
  soap:operation
  soapAction
  =""
   
  />
   -
  
  input
  >
   
  
  soap:body
  use
  ="literal"
   namespace
  ="http://jdk.study.hermit.org/client"
   
  />
     
  
  input
  >
  -
  
  output
  >
   
  
  soap:body
  use
  ="literal"
   namespace
  ="http://jdk.study.hermit.org/client"
   
  />
     
  
  output
  >
   
  
  operation
  >
   
  
  binding
  >
  -
  
  service
  name
  ="HelloService"
  >
  -
  
  port
  name
  ="HelloPort"
   binding
  ="tns:HelloPortBinding"
  >
   
  
  soap:address
  location
  ="http://localhost:8080/HelloService"
   
  />
     
  
  port
  >
   
  
  service
  >
   
  
  definitions
  >
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|技术_方法_掌握技术,成就未来-6miu百度云

GMT+8, 2021-1-17 13:47 , Processed in 0.056114 second(s), 19 queries .

合作伙伴:

盘搜搜 / 百度云搜索 / 盘多多 / 如风搜 / 小说阅读网 / 笔趣阁 / 文库 / 学术 / 小说排行榜 / 专利网 / 专利查询 / 网盘搜索 / 网盘 / 问医生 / 健康网 / APP开发 / 金蝶 / 软件定制 / 软件开发 / 教育app / ERP系统 / SAP / 分销系统 / 成都软件开发 / 小程序开发 / ERP / WMS / MES / LIMS / SCADA / PLM / PDM / 希沃 / SEEWO / OTO / O2O / 培训系统 / 在线问诊 / 在线问诊系统 / 医疗咨询系统 / 网店代运营 / 返利网 / 京东代运营 / 斯特封 / trelleborg / NOK / 斯凯孚 / SKF / 圣戈班 / Saint-Gobain / 派克汉尼汾 / parker / 洪格尔 / hunger / Merkel / 密封圈 /
快速回复 返回顶部 返回列表