按照

当然,里面没写清楚如何配置第三方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. VS2012常用快捷键

    Ctrl+K,D ----格式化全部代码 Ctrl+K,F ----格式化选中的代码 Ctrl+K,C ----注释选定内容 Ctrl+K,U ----取消注释选定内容 Ctrl+J或者 Ctrl+S ...

  2. 大前端学习笔记整理【五】rem与px换算的计算方式

    前言 这段时间的小项目中算是真正意义上使用了rem来进行移动端的页面布局,项目结束了我反思了一下之前的对于rem的使用...原来我以前对rem用法完全是在搞笑啊!!结合这次这个小项目,我觉得我也有必要 ...

  3. html5新特性之画布

    1.canvas的理解 canvas是一个矩形区域,在这个区域内,通过js可以对区域内的每一帧像素控制 2.js操作canvas对象 canvas对象.getContext("2d" ...

  4. 1236 - Pairs Forming LCM -- LightOj1236 (LCM)

    http://lightoj.com/volume_showproblem.php?problem=1236 题目大意: 给你一个数n,让你求1到n之间的数(a,b && a<= ...

  5. python 装饰器修改调整函数参数

    简单记录一下利用python装饰器来调整函数的方法.现在有个需求:参数line范围为1-16,要求把9-16的范围转化为1-8,即9对应1,10对应2,...,16对应8. 下面是例子: def fo ...

  6. Python小练习二

    # 以正确的宽度在居中的"盒子"内打印一个句子 # 注意,整数除法运算符(//)只能用在Python 2.2及后续版本,在之前的版本中,只使用普通除法(/) sentence = ...

  7. java学习:ArrayList的实现及原理

    1. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部 ...

  8. java覆盖和隐藏

    隐藏指的是子类把父类的属性或者方法隐藏了,即将子类强制转换成父类后,调用的还是父类的属性和方法,而覆盖则指的是父类引用指向了子类对象,调用的时候会调用子类的具体方法. (1) 变量只能被隐藏(包括静态 ...

  9. Android中的IntentService

    首先说下,其他概念:Android中的本地服务与远程服务是什么? 本地服务:LocalService 应用程序内部------startService远程服务:RemoteService androi ...

  10. 网页播放器(jsp、js)

    jsp对控件显示 <%@ page language="java" import="java.util.*" pageEncoding="UTF ...