• 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

      具体:

    3 java程序(当然,不一定是java语言,只要是提供了相关ws能力的都可以)

      具体:需要导入Xfire http client libraries

        

    1 Service srvcModel = new ObjectServiceFactory()
                    .create(IHelloWSsss.class);
    
     XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
                    .newInstance().getXFire());
    
    
    2 IHelloWSsss srvc = (IHelloWSsss) factory.create(
                        srvcModel, helloWorldURL);
    
    
    3 String result = srvc.example(" world"); ———— get the ws
  • 相关阅读:
    P1642 规划 [01分数规划]
    01分数规划学习笔记
    P1527 [国家集训队]矩阵乘法 [整体二分]
    P3292 [SCOI2016]幸运数字 [线性基+倍增]
    java中遍历集合的三种方式
    20190706中兴提前批专业面面经
    《java入门如此简单》——语句,函数和数组
    java中数组常见的操作
    2019 波克城市ava面试笔试题 (含面试题解析)
    2019 华云数据java面试笔试题 (含面试题解析)
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/3828916.html
Copyright © 2020-2023  润新知