您的位置:首页 > 编程语言 > Java开发

对webservice 的理解 以及示例

2016-07-29 19:06 357 查看
记录一下项目中发布webservice 的方式,以及我对webservice 这个技术的理解。

webservice是 基于 xml的,采用soap 协议,他实现了跨语言,跨平台性,应用十分广泛

当服务端发布webservice 时,将数据转为 xml 格式,变成标注的数据类型,xml 是什么平台和什么语言都可以解析的。

WebService 是在web 上实现的,所以是通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明 HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。

  SOAP协议 = HTTP协议 + XML数据格式

实际上:webservice 就是相当于一个servlet 只是传输的数据格式不同,并且 与平台语言无关。他以xml 文件格式返回数据。

发布一个接口后就可以使用指定路径来 访问该接口 获取数据。









下面记录一下我项目中如何发布webservice的。

我项目中采用了cxf 发布,因为cxf 与spring 非常容易整合。(不懂得自己百度下发布java发布webservice的几种方式)

1.在配置文件中加入cxf servlet

<servlet-name>CXFService</servlet-name>  

      <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>

      <load-on-startup>2</load-on-startup>

      <async-supported>true</async-supported>

  </servlet>          

  <servlet-mapping>  

      <servlet-name>CXFService</servlet-name>  

      <url-pattern>/services/*</url-pattern>  

  </servlet-mapping>

2. 定义接口,并写好实现类。

@WebService

public interface IScoreWebService {

public String getScoreWebService(String params);

}

@Component

@WebService(serviceName = "scoreWebService", endpointInterface = "com.dji.ppqm.webservice.IScoreWebService")

public class ScoreWebService implements IScoreWebService{

public String getScoreWebService(String params) {

}

}

3.在spring 的配置文件中 发布webservice

<!-- WebService服务发布 -->
<jaxws:endpoint id="scoreWebServiceImpl"
implementor="com.dji.ppqm.webservice.impl.ScoreWebService" address="/getScore" />

<jaxws:endpoint id="verifyEmployeeWebServiceImpl"
implementor="com.dji.ppqm.webservice.impl.VerifyEmployeeWebService" address="/Verify" />

注意:   xmlns:jaxws="http://cxf.apache.org/jaxws"

  http://cxf.apache.org/jaxws  http://cxf.apache.org/schemas/jaxws.xsd"

引入cxf 的xsd 规范。

顺便提一下访问的路径 为

应用程序的根路径/services(为配置servlet的拦截路径)/scoreWebServiceImpl(发布webservice设置的id)?wsdl
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐