按照

当然,里面没写清楚如何配置第三方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. Maven之自定义archetype生成项目骨架(一)

      Maven之自定义archetype生成项目骨架(一) 标签: mavennexus插件 2015-07-15 16:40 2443人阅读 评论(0) 收藏 举报  分类: Maven技术(9)  ...

  2. MyBatis-NET

    http://www.codeproject.com/Articles/894127/MyBatis-NET https://mybatis.github.io/mybatis-3/

  3. C#开发Android环境搭建

    目前破解比较稳定的版本(我亲自尝试过的)是4.2. wuleba上的4.6,4.8,4.10 破解均会出现各种问题. 1 当前电脑账户最好是使用英文账号,而不要使用汉字,否则路径会出现乱码问题. 2 ...

  4. JavaScript对UNIX时间戳的转换

    <script type="text/javascript"> var timestamp = '1479886513'; var d = new Date(times ...

  5. [转]为什么使用 Redis及其产品定位

    原文链接:http://www.infoq.com/cn/articles/tq-why-choose-redis 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据 ...

  6. 前端模板Juicer

    Juicer 是一个高效.轻量的前端 (Javascript) 模板引擎,使用 Juicer 可以是你的代码实现数据和视图模型的分离(MVC). 除此之外,它还可以在 Node.js 环境中运行. 用 ...

  7. 今天我们要说的画一个三角形,恩,画一个三角形,第一种呢是利用我们的html标签结合css来实现;而第二种方法就就是我们的html5新增的一个标签canves,这个canves就是网页画幕,那么顾名思义就是在网页里建造一个画板,用来画画,好,那接下来就和我一起去看看吧!

    第一种方法:利用我们的html标签结合css来实现 span{ width:0px; height:0px; border-width:7px; border-style:solid; border- ...

  8. scrapy-1.2.1安装失败之解决方法

    前几天重装了win10 64位系统,安装了python-3.5,但是用pip安装scrapy模块时出现如下错误: 看起来是lxml安装的时候出错了,于是先pip install lxml,出现了和上面 ...

  9. 黑马程序员-循环引用问题和weak

    使用weak reference(弱引用)来避免retain cycle 对一个对象发送retain消息会创建对这个对象的强引用(strong reference).如果两个对象都有一个强引用指向对方 ...

  10. ORA-12569: TNS: 包校验和失败解决方法一例

    经反复实验,发现OracleMTSRecoveryService服务使用端口1521,而这个端口默认是oracle数据库访问的监听端口.所以有两个办法,一是改变oracle数据库访问的监听端口,二是改 ...