webservice2
按照
当然,里面没写清楚如何配置第三方jar
结果一访问就报错:org.codehaus.xfire.transport.http.XFireConfigurableServlet
4年前就搞过ws的了,结果只是个helloworld, 当时也是没有完全弄明白,而且一直没有总结,所以,再次碰到ws还是有所不明白,这不,现在连helloworld 都做不出来了。。。悲剧!
——
参照Eclipse的帮助文档,第一个webservice helloworld 就做出来了。(其实这样的helloworld我很久之前就搞过了,当然,仅仅是helloworld,没有更深了。。)
中间还有小插曲,就是,在 Select web service creation scenario 这个页面, 我选择了Bottom up scenario ,但是下面的Create new Java Bean 没有勾选,导致下一步里一直提示 Service interface does not exist , 而当时我就非常迷糊了,最后,当然,还是仔细看了帮助文档才发现小问题。得以继续。
总结一下其中的几个步骤:
1 创建Web service project,(注意Web service & J2EE details Framework那里选择XFire框架即可),一直点下一步直到finish。 ——JAX-WS 和 XFire 的区别暂时不管。。—— 这样,一个空壳的Web service project就创建好了,但是什么内容都没。
2 创建Web service : project选之前创建的Web service project(必须是ws project,否则下一步没法继续); Framework选XFire(保持一致);Strategy 选 Bottom up scenario (除此之外还有Top-down选项) 。同时根据情况勾选Create new Java Bean。__这是一个有意思的选项,选中之后会生成接口和实现类,默认会生成public String example(String message);这样的一个接口。 否则只能从已有的接口、实现类中选择。
Bottom up / Top-down 的理解:
3 下一步: 输入ws名字,在Web service Implementation中选择上面的或下面的 —— 如果是下面的:java class implementation only 不知道什么意思。。。
: 如果是后者,则生成的ws xml 如:
<service>
<name>BottomupWS</name>
<serviceClass>com.lk.wa.Test123</serviceClass> ------------ 相对而言少了implementationClass标签,可以理解为此时的
serviceClass与implementationClass 合二为一了吗?? <style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
SOAP & Servlet configuration 保持默认,稍后解释。然后就是finish了。向导结束,services.xml文件会发生变化。
services.xml 的说明
其中<service>的格式,表明了提供的ws的个数,此时的ws(Web service) 是一个具体的概念。
启动Web service project后就可以访问ws了,如何访问ws?
3种方式:
1 Web浏览器
具体:
a 格式: http://ip:port/ws project名字/services/ws名字(从services.xml可知)?wsdl 如http://localhost:8080/HelloWS/services/HelloWSsss?wsdl
2 Eclipse内置的Web Services Explorer
具体:WSDL Page - 左边的WSDL Main - 右侧的 Actions - 下面的Open WSDL - Enter the URL of a WSDL document and click Go to explore
3 java程序(当然,不一定是java语言,只要是提供了相关ws能力的都可以)
具体:需要导入Xfire http client libraries
Service srvcModel = new ObjectServiceFactory()
.create(IHelloWSsss.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire()); IHelloWSsss srvc = (IHelloWSsss) factory.create(
srvcModel, helloWorldURL); String result = srvc.example(" world"); ———— get the ws
webservice2的更多相关文章
- flex 调用WebService2(基于.net)
flex 访问WebService的方法有很多种,使用FLEX4中的"数据/服务"功能可以自动生成访问WebService的代理类,这样可以避免把所有的数据访问都写到MXML页面上 ...
- wcf 中客户端调用之死 感悟 wcf与原来的webservice2.0 的客户端调用区别(wcf调用完不关闭的话那就把web服务搞死了)
说到wcf,本人也是刚刚使用所以不是很熟悉 在做项目的时候采用webservice+客户端程序架构 写了一个wcf中的webservice之后,又写了很多的客户端exe程序,有的是轮询调用这个webs ...
- WebServices:WSDL的结构分析
WSDL(Web Services Description Language,Web服务描述语言)是为描述Web Services发布的XML格式.W3C组织没有批准1.1版的WSDL,但是2.0版本 ...
- Asp.net通过Jquery操作WebService进行Ajax读写
一说到开始,我们当然需要项目. 首先,创建一个Asp.net Web 应用,然后新增一个名称为“Web 服务”的文件,也就是后缀名为".asmx"的文件,然后需要进行配置一下,在W ...
- C#并行库(TaskParallelLibrary)用法小结
今天有空,总结一下.NET 4.5并行库(TaskParallelLibrary)用法. 也许C和C++的程序员刚刚开始写C#还习惯于new Thread来新建一个线程,但新建线程需要内存和CPU上下 ...
- UI篇--布局问题
1.android:layout_marginRight 不起作用解决方法 今天想在RelativeLayout的左右分别放上一个按钮, 左边按钮用marginLeft="10dp" ...
- PB11.5创建及调用WebService
我今天做了这个“PB创建及调用WebService”的小作业,下面我来分享一下我的整个实践过程以及我遇到的问题,希望对大家有所帮助,这个小作业是分以下三部来完成的: 一.构建WebService ①创 ...
- Web Service 的服务端的引用
1.先说说服务端的引用 先写一个Web Service 的文件 上图 创建一个web 项目或者网站 然后添加新项 创建一个web服务 得到 下面的页面 然后运行起来 然后复制下地址 接下来创建另一 ...
- Base64上传图片
#region 上传图片 [HttpPost]/// <summary>/// 上传文件 jpg图片/// </summary>/// <param name=" ...
随机推荐
- winform初学
一.建立winform工程项目
- <数据结构与算法>之字符串,散列,布隆过滤器。
1:字符串 字符串是一组由数字,字符,下划线的一串字符,是特殊的一维数组. 2:字符串的应用 字符串移位包含问题: 例:给定两个字符串s1和s2,要求判断s2是否能被s1做循环移位得到字符串包含.例如 ...
- Android Sqlite数据库相关——实现 Sqlite 数据库版本升级
继承SQLiteOpenHelper类后,实现其中的onUpgrade 方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVer ...
- (转)Linux下root密码丢失和运行级别错误的解决办法
我们知道,root用户在Linux中是相当重要的,其地位如同Windows中的Adminstrator 有了root权限我们还能修改其他用户的密码,可是,如果root用户的密码丢失该怎么办? 不用担心 ...
- 文本框如果不输入任何内容提交过后是一个空字符串还是null
1.在表单不填就提交的情况下,text类型和textarea类型的表单域,提交到服务端为空 2.checkbox.readio.select等表单域在为不填情况下不会提交到服务器,也就是说服务器接收不 ...
- vb- ----之常用函数
[VB]常用函数 2007-10-25 10:52 3375人阅读 评论(1) 收藏 举报 vbstringdateintegervbscriptwindows (一)类型转换类函数1. CType( ...
- NPIO 导出记录
http://www.cnblogs.com/qingyuan/archive/2012/11/08/2760034.html http://www.cnblogs.com/gaoshuai/arch ...
- 如何去掉底部的织梦版权信息powered by dedecms
由于织梦DEDECMS程序6月份的漏洞,很多织梦网站都被黑了,所以大家都在抓紧时间更新系统补丁.但是这次的DEDECMS V5.7版本更新后,在前台网页底部会出现织梦版权信息 “powered by ...
- LINUX下常用SHELL指令
Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...
- markdown语法记录
换行:在结尾加两个空格后回车. 缩进:将输入法切换到全角,两个空格就是两个汉字的大小.