加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

【WebService学习过程记录(一)】照猫画虎---运行示例

发布时间:2020-12-16 22:04:53 所属栏目:安全 来源:网络整理
导读:学习网址:?JAVA6开发WebService (一) ?这篇博客枯燥言语少,直接一个可运行的代码,先动手一试,我习惯的学习方式是“知其然再知其所以然”,先会用再追其原理 模仿实例,遇见问题记录 1、JDK安装及验证?? JDK版本1.6u17 及以上,我的是 :java version "

学习网址:?JAVA6开发WebService (一)

?这篇博客枯燥言语少,直接一个可运行的代码,先动手一试,我习惯的学习方式是“知其然再知其所以然”,先会用再追其原理

模仿实例,遇见问题记录

1、JDK安装及验证??JDK版本1.6u17及以上,我的是 :java version "1.7.0_02" ,符合

2、eclipse建立java项目,项目名称WebServiceTest

Hello代码如下:

[java]? view plain ?copy
?print ?
  1. package?com.rwq.jdkwebservice;??
  2. ??
  3. import?javax.jws.WebService;??
  4. import?javax.xml.ws.Endpoint;??
  5. ??
  6. @WebService????
  7. public?class?Hello?{????
  8. ????
  9. ????public?String?sayHello(String?name)?{????
  10. ????????return?"Hello?"?+?name;????
  11. ????}????
  12. static?void?main(String[]?args){????
  13. ????????Endpoint.publish("http://localhost:8080/com.rwq.jdkwebservice.Hello",?new?Hello());????
  14. ????????System.out.println("Success");????
  15. ????}????
  16. }????

3、运行Hello,控制台打印出Success ,即为成功?

注意:执行是咧过程中Hello必须处于运行状态,不可关闭

4、打开浏览器输入:http://localhost:8080/com.rwq.jdkwebservice.Hello 可以看见如下Web Services信息


5、打开浏览器输入:http://localhost:8080/com.rwq.jdkwebservice.Hello?wsdl会看到WSDL信息

6、打开命令行,转到WebServiceTest项目src所在路径,执行:wsimport -p com.rwq.client -keep http://localhost:8080/com.rwq.jdkwebservice.Hello?wsdl???【 wsimport -p [包名] -keep [发布的服务地址?wsdl]???? 用以生成客户端代码】

注意:此时的Hello处于运行状态,不可关闭。若关闭报如下错误:

[plain]? copy
??
    [ERROR]?Connection?refused:?connect??
  1. Failed?to?read?the?WSDL?document:?http://localhost:8080/com.rwq.jdkwebservice.He??
  2. llo?wsdl,?because?1)?could?not?find?the?document;?/2)?the?document?could?not?be??
  3. read;?3)?the?root?element?of?the?document?is?not?<wsdl:definitions>.??
  4. [ERROR]?failed.noservice=Could?not?find?wsdl:service?in?the?provided?WSDL(s):??
  5. At?least?one?WSDL?with?at?least?one?service?definition?needs?to?be?provided.??
  6. Failed?to?parse?the?WSDL.??


7、eclipse刷新WebServiceTest项目

自动生成了客户端代码

8、写个示例程序调用一下

copy

?import?com.rwq.client.HelloService;??
  • import?com.rwq.client.Hello;??
  • class?HelloClient?{????
  • ????
  • ????/**??
  • ?????*?@param?args??
  • ?????*/????
  • void?main(String[]?args)?{????
  • ????????Hello?hello?=?new?HelloService().getHelloPort();????
  • ????????String?s?=?hello.sayHello("why");????
  • ????????System.out.println(s);????
  • ??????????
  • ????????s?=?hello.sayHello("RWQ");????
  • ????????System.out.println(s);????
  • 运行结果 Hello why
    Hello RWQ

    copy

    ?at?sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:992)??
  • ????at?sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:928)??
  • ????at?sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:846)??
  • ????at?sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296)??
  • ????at?java.net.URL.openStream(URL.java:1035)??

  • 至此,第一个java的webService示例正确运行完成

    心中疑问:

    1、若我的其他项目想调用这个interface,怎么做?

    2、若其他地址想调用我这个interface,0)">答疑解惑继续学

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读