javaWeb服务详解(含源代码,测试通过,注释)

举报
穆雄雄 发表于 2022/12/17 11:39:10 2022/12/17
【摘要】        javaweb服务分为两个部分,一部分是web服务端,另一部分就是你调用的客户端了。首先我说下实现web服务的简单思路:一、服务器端实现:1.添加webservice  jar包 spring支持2.添加一个web服务3.在实体类和接口以及对应的实现类中添加注解,让它们具有公开的一种能力4.在spring配置文件中把具有公开能力的服务进行发布详细步骤:使用spring完成服务器...

       javaweb服务分为两个部分,一部分是web服务端,另一部分就是你调用的客户端了。首先我说下实现web服务的简单思路:

一、服务器端实现:
1.添加webservice  jar包 spring支持
2.添加一个web服务
3.在实体类和接口以及对应的实现类中添加注解,让它们具有公开的一种能力
4.在spring配置文件中把具有公开能力的服务进行发布

详细步骤:
使用spring完成服务器端的步骤:
 第一步:编写一服务接口和服务实现类(包括实体类)
 第二步:公开服务和方法
     前提:需要导入相关的jar包
     在实体类中 添加注解  @XmlRootElement(name="WeatherInfo")
     在接口和实现类中 添加注解:
                  公开方法中添加       @WebMethod
                 非公开方法中 添加    @WebMethod(exclude=true)
                      
 第三步:在spring配置文件中
    1.头部添加 命名空间
          xmlns:jaxws="http://cxf.apache.org/jaxws"

          http://cxf.apache.org/jaxws
          http://cxf.apache.org/schemas/jaxws.xsd
          http://cxf.apache.org/bindings/soap
          http://cxf.apache.org/schemas/configuration/soap.xsd              
    2.定义service的bean
      <bean id="weatherService" class="springwebService.service.impl.WeatherServiceImpl"></bean>
    
    3.定义EndPoint (端点)
     <jaxws:endpoint id="wsServiceBean" implementor="#weatherService" address="/getWeather" publish="true"></jaxws:endpoint>
    
 第四步:在web.xml中配置servlet
   <servlet>
  <servlet-name>CXFServlet</servlet-name>
  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
   <servlet-name>CXFServlet</servlet-name>
   <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
 第五步:测试服务发布是否成功
 在浏览器中输入:
   http://localhost:8080/spring09webService/services/getWeather?wsdl
   或:利用myeclipse测试 点击 launch soap web service explorer(发布web程序按钮前面)
 
//
http://localhost:8080/spring-09server/services/getWeather?wsdl

客户端的实现  
二、使用spring完成客户端的配置从而调用服务的步骤:
第一步:生成所需的文件
    1.在Dos中进入apache-cxf-2.7.6的bin目录输入 wsdl2java  http://localhost:8080/spring09webService/services/getWeather?wsdl   
第二步:.创建web工程,把第一步生成的实体和接口放入工程中,添加spring支持,导入cxf需要的jar包
第三步:编写spring配置文件
        <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
   <property name="serviceClass" value="springwebClient.service.IWeatherService"></property>
   <property name="address" value="http://localhost:8080/spring09webService/services/getWeather?wsdl"></property>
  </bean>
  <bean id="wsClient" class="springwebClient.service.IWeatherService" factory-bean="clientFactory" factory-method="create"></bean>
第四步:测试
    把 wsClient当作服务,注入到Action中,直接调用方法,获取数据

   接下来看看源代码吧,走你!!!

      Dept的web服务

      Emp的web服务

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。