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

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

 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服务




相关文章
|
10月前
|
Dubbo 应用服务中间件 API
使用 Apifox、Postman 测试 Dubbo 服务,Apache Dubbo OpenAPI 即将发布
Apache Dubbo 3.3.3(即将发布)实现了与 OpenAPI 的深度集成,通过与 OpenAPI 的深度集成,用户能够体验到从文档生成到接口调试、测试和优化的全流程自动化支持。不论是减少手动工作量、提升开发效率,还是支持多语言和多环境,Dubbo 3.3.3 都展现了其对开发者体验的极大关注。结合强大的 Mock 数据生成和自动化测试能力,这一版本为开发者提供了极具竞争力的服务治理解决方案。如果你正在寻找高效、易用的微服务框架,Dubbo 3.3.3 将是你不容错过的选择。
894 249
|
5月前
|
测试技术 Python
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
242 0
|
Web App开发 测试技术 API
Playwright 测试报告中显示的标签和注释。
Playwright 测试报告中显示的标签和注释。
257 57
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
388 3
|
缓存 Java Maven
SpringCloud基于Eureka的服务治理架构搭建与测试:从服务提供者到消费者的完整流程
Spring Cloud微服务框架中的Eureka是一个用于服务发现和注册的基础组件,它基于RESTful风格,为微服务架构提供了关键的服务注册与发现功能。以下是对Eureka的详细解析和搭建举例。
212 0
|
SQL 监控 中间件
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志
177 1
|
JSON 监控 安全
LabVIEW测试和调试Web服务
LabVIEW测试和调试Web服务
259 1
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
数据可视化 Java 持续交付
JavaWeb后端开发之Maven 2024介绍安装测试详解
JavaWeb后端开发之Maven 2024介绍安装测试详解
179 0