在eclipse中使用jax-ws构建webservices服务端和客户端
服务端:
package com.yinfu.service;
import javax.jws.WebService;
import javax.xml.ws.Endpoint; @WebService
public class TestWebsService {
public String sayHello(String username) {
return "Hello: " + username;
} public static void main(String[] args) {
Endpoint.publish("http://localhost:8075/com.yinfu.service.TestWebsService", new TestWebsService());
System.out.println("Success");
}
}
在想要发布为WebService的类上加上注解@WebService,这个类的方法就变为WebService的方法了,再通过Endpoint的publish方法,发布这个服务,到此,一个最简单的WebService搞定。运行main方法,在浏览器里输入”http://localhost:8075/com.yinfu.service.TestWebsService?wsdl “ 会看到你的WSDL信息。

OK,说明服务端没有问题,搭建成功
客户端:
在命令行输入命令 wsimport -p [包名] -keep [发布的服务地址?wsdl] 生成客户端代码,如生成本例的客户端代码wsimport -p com.yinfu.service.client-keep http://localhost:8075/com.yinfu.service.TestWebsService?wsdl“,当然,前提是你已经配好了JAVA环境变量。控制台会显示

注意现在需要找到生成的客户端java代码,控制台指向在那生成的代码就在哪里,例如我控制台指向的是C:\Users\Administrator\那么我生成的java文件就在C:\Users\Administrator\ com\yinfu\service\client\中,这个地方注意一下就可以了,有很多人不知道生成的代码去哪里了!
OK,把生成的代码拷贝到客户端的项目中,

package com.yinfu.service.client;
public class HelloClient {
/**
* @param args
*/
public static void main(String[] args) {
TestWebsServiceService myService = new TestWebsServiceService();
TestWebsService ms = myService.getTestWebsServicePort();
String s = ms.sayHello("why");
System.out.println(s);
}
}
利用这些生成的客户端代码,就可以调用这个WebService服务了:执行代码,输出:Hello why。运行的时候要注意服务端的项目服务是启动的。
在eclipse中使用jax-ws构建webservices服务端和客户端的更多相关文章
- app开发中如何利用sessionId来实现服务端与客户端保持回话
app开发中如何利用sessionId来实现服务端与客户端保持回话 这个问题太过于常见,也过于简单,以至于大部分开发者根本没有关注过这个问题,我根据和我沟通的开发者中,总结出来常用的方法有以下几种: ...
- node.js中ws模块创建服务端和客户端,网页WebSocket客户端
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...
- 使用Apache CXF开发WebServices服务端、客户端
在前一篇的博客中,我使用Xfire1.x来开发了WebServies的服务端. 但是如果你访问Apache的官网,可以看到xfire已经被合并了. 最新的框架叫做CXF. Apache CXF = C ...
- 解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)
由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...
- seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案
seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案 说明: 之所以只用nacos进行了注册与发现,因为seata使用naco ...
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)
1.定义接口 package org.WebService.ws.annotation; import javax.jws.WebService; @WebService public interfa ...
- [JavaEE]Get请求URI中带的中文参数在服务端乱码问题的解决方法
在Get请求中,如果请求参数中带有中文,如 http://localhost:8080/DinnerParty/shop/search?query=多伦多, 在服务端拿到的是乱码. 这是因为客户端提交 ...
- node.js中net网络模块TCP服务端与客户端的使用
node.js中net模块为我们提供了TCP服务器和客户端通信的各种接口. 一.创建服务器并监听端口 const net = require('net'); //创建一个tcp服务 //参数一表示创建 ...
- 启用Win8(中文版/核心版)中被阉割的远程桌面服务端
Windows 8/8.1 标准版(中文版/核心版)中取消了远程桌面服务端,想通过远程连接到自己的电脑就很麻烦了,第三方远程桌面速度又不理想(如TeamViewer).通过以下方法可让系统恢复远程桌面 ...
随机推荐
- 剑指Offer40 和为s的连续正数序列
/************************************************************************* > File Name: 40_Contin ...
- Sharepoint中有关文件夹的操作
1.GetItemsWithUniquePermissions根据返回数量和是否返回文件夹获取唯一权限的列表项集合 对于SharePoint对象模型中SPList的GetItemsWithUnique ...
- android:launchMode概述
android:launchMode An instruction on how the activity should be launched. There are four modes that ...
- Android ListView动态改变Item高度
在adapter的getView方法中进行设置,代码如下 @Override public View getView(int position, View convertView, ViewGroup ...
- SQL里IN的用法以及优化
1.in后条件不多,可以考虑主表建索引,或用union all 代替 2. in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查 ...
- File.Create创建文件后,需要释放资源
if (!File.Exists(SavePath)) { File.Create(SavePath).Close(); }
- (转)IIS7 优化-网站请发并发数
1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为65535. IIS Manager > ApplicationPools > Advanced Settings Queu ...
- JS获取非行间样式及兼容问题
获取非行间样式: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- HTML 5中的文件处理之FileAPI(转载)
原文地址:http://developer.51cto.com/art/201202/319435.htm 在众多HTML5规范中,有一部分规范是跟文件处理有关的,在早期的浏览器技术中,处理小量字符串 ...
- IE Problem : inetcpl.cpl
从windows8升级windows8.1后每次关闭ie11浏览器总是跳出出现一个问题导致关闭,我都快疯了,以前windows8一点问题都没有.这是怎么回事?还有能回到ie10吗?(张浩228) 小昕 ...