按照

当然,里面没写清楚如何配置第三方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的更多相关文章

  1. flex 调用WebService2(基于.net)

    flex 访问WebService的方法有很多种,使用FLEX4中的"数据/服务"功能可以自动生成访问WebService的代理类,这样可以避免把所有的数据访问都写到MXML页面上 ...

  2. wcf 中客户端调用之死 感悟 wcf与原来的webservice2.0 的客户端调用区别(wcf调用完不关闭的话那就把web服务搞死了)

    说到wcf,本人也是刚刚使用所以不是很熟悉 在做项目的时候采用webservice+客户端程序架构 写了一个wcf中的webservice之后,又写了很多的客户端exe程序,有的是轮询调用这个webs ...

  3. WebServices:WSDL的结构分析

    WSDL(Web Services Description Language,Web服务描述语言)是为描述Web Services发布的XML格式.W3C组织没有批准1.1版的WSDL,但是2.0版本 ...

  4. Asp.net通过Jquery操作WebService进行Ajax读写

    一说到开始,我们当然需要项目. 首先,创建一个Asp.net Web 应用,然后新增一个名称为“Web 服务”的文件,也就是后缀名为".asmx"的文件,然后需要进行配置一下,在W ...

  5. C#并行库(TaskParallelLibrary)用法小结

    今天有空,总结一下.NET 4.5并行库(TaskParallelLibrary)用法. 也许C和C++的程序员刚刚开始写C#还习惯于new Thread来新建一个线程,但新建线程需要内存和CPU上下 ...

  6. UI篇--布局问题

    1.android:layout_marginRight 不起作用解决方法 今天想在RelativeLayout的左右分别放上一个按钮, 左边按钮用marginLeft="10dp" ...

  7. PB11.5创建及调用WebService

    我今天做了这个“PB创建及调用WebService”的小作业,下面我来分享一下我的整个实践过程以及我遇到的问题,希望对大家有所帮助,这个小作业是分以下三部来完成的: 一.构建WebService ①创 ...

  8. Web Service 的服务端的引用

    1.先说说服务端的引用 先写一个Web Service 的文件  上图 创建一个web 项目或者网站  然后添加新项 创建一个web服务 得到 下面的页面 然后运行起来 然后复制下地址 接下来创建另一 ...

  9. Base64上传图片

    #region 上传图片 [HttpPost]/// <summary>/// 上传文件 jpg图片/// </summary>/// <param name=" ...

随机推荐

  1. window下flask开发环境搭建

    1.安装python 官网下载https://www.python.org/downloads/,按提示安装就行,记住安装目录,把它添加到系统path中. 2.安装pip 官网下载pip文件:http ...

  2. 修改Linux可显示的行数

    在/boot/grub/menu.lst中,找到kernel开头的那一行,在后面加上参数vga=791 下面是vga可以取的值 #     +----------------------------- ...

  3. nodejs研究笔记

    首先呢,安装 1:安装mongodb-win32-x86_64-3.2.5-signed.msi 2:手动创建目录 如 C:\data\db 及 C:\data\dbConf 3:管理员身份运行 cm ...

  4. Java LinkedList 源码剖析

    LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack).这样看来,LinkedList简直就 ...

  5. JavaScript-永远点不到的小窗口

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. mysql下载安装

    1.下载 下载地址:http://dev.mysql.com/downloads/mysql/ 根据电脑配置来选,我选了 windows(x86,64-bit),ZIP Archive这个,点击Dow ...

  7. 第七章:利用AdaBoost元算法提高分类性能

    本章内容□ 组合相似的分类器来提髙分类性能□应用AdaBoost算法□ 处理非均衡分类问题

  8. 第五章:Logistic回归

    本章内容 □sigmod函数和logistic回归分类器 □最优化理论初步□梯度下降最优化算法□数据中的缺失项处理 这会是激动人心的一章,因为我们将首次接触到最优化算法.仔细想想就会发现,其实我们日常 ...

  9. isee - 创建项目 - 1

    1.在本地web目录下创建一个新项目 D:\web> composer create-project laravel/laravel isee --prefer-dist 2.在vhosts.c ...

  10. 天气预报API(一):全国城市代码列表(“旧编码”)

    说明 2016-12-09 补充 (后来)偶然发现中国天气网已经有城市ID列表的网页... 还发现城市编码有两种,暂且称中国天气网这些编码为旧标准 "旧编码"的特征是 9个字符长度 ...