`

WebService CXF SOAP基本结构

 
阅读更多

SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。或者更简单地说:SOAP 是用于访问网络服务的协议。 

    SOAP定义了一个envelope对象,使用envelope来包装要传递的消息,而消息本身可以采用自身特定的词汇,使用namespace来区分彼此。

    简单的说,在WebService中传递的东西是一封信,SOAP就是信的通用格式,他定义了一封信应该有信封,信封里装着信的内容,信封(envlope)的格式是固定的,而信的内容(要传递的数据)你可以自己定义。


    您应当具备的基础知识 
    在继续学习之前,您需要对下面的知识有基本的了解: 
        * XML 
        * XML 命名空间 

什么是SOAP?

 对于应用程序开发来说,使程序之间进行因特网通信是很重要的。 
    目前的应用程序通过使用远程过程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,但是 HTTP 不是为此设计的。RPC 会产生兼容性以及安全问题;防火墙和代理服务器通常会阻止此类流量。 
    通过 HTTP 在应用程序间通信是更好的方法,因为 HTTP 得到了所有的因特网浏览器及服务器的支持。SOAP 就是被创造出来完成这个任务的。 
    SOAP 提供了一种标准的方法,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以互相进行通信。 

 

 SOAP远程过程调用(RPC)与消息传递(DOCUMENT)

  Web service本身实际是在实现应用程序间的通信,实现通信的方式有两种:

  远程过程调用(RPC)和消息传递(DOCUMENT)。

 使用 RPC的时候,客户端的概念是调用服务器上的远程过程,通 常方式为实例化一个远程对象并调用其方法和属性。

 消息传递的概念是,客户端向服务器发送消息,然后等待服务器的回应。消息传递系统强调的是消息的发送和回应,而不  是远程对象的界面。

  他们最大不同就是RPC不能通过Schema 来校验,而Document 类型是可以的。因此document 类型webservice成为主流 ,Document也是JAX-WS默认的实现方式。

    有一种说法是,Web Service = SOAP + WSDL + HTTP。其中,SOAP协议是web service的主体,它通过HTTP或者SMTP等应用层协议进行通讯,自身使用XML文件来描述程序的函数方法和参数信息,从而完成不同主机的异构系统间的服务处理。这里的WSDL(Web Services Description Language)web 服务描述语言也是一个XML文档,它通过HTTP向公众发布,公告客户端程序关于某个具体的 Web service服务的URL信息、方法的命名,参数,返回值等。

 

SOAP 1.1 被提交到 W3C 
    在 2000 年 5 月,UserLand、Ariba、Commerce One、Compaq、Developmentor、HP、IBM、IONA、Lotus、Microsoft 以及 SAP 向 W3C 提交了 SOAP 因特网协议,这些公司期望此协议能够通过使用因特网标准(HTTP 以及 XML)把图形用户界面桌面应用程序连接到强大的因特网服务器,以此来彻底变革应用程序的开发。 
   
W3C 正在发展 SOAP 1.2 
   首个关于 SOAP 的公共工作草案由 W3C 在 2001 年 12 月发布。如需阅读更多有关在 W3C 的 SOAP 活动的内容,请访问我们的《W3C 教程》。 
   
SOAP 构建模块 
    一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素: 
    * 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息 
    * 可选的 Header 元素,包含头部信息的XML标签 
    * 必需的 Body 元素,包含所有的调用和响应信息的标签
    * 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息 

    所有以上的元素均被声明于针对 SOAP 封装的默认命名空间中: 
    http://www.w3.org/2001/12/soap-envelope 
    以及针对 SOAP 编码和数据类型的默认命名空间: 
    http://www.w3.org/2001/12/soap-encoding 

语法规则 
    这里是一些重要的语法规则: 
    * SOAP 消息必须用 XML 来编码 
    * SOAP 消息必须使用 SOAP Envelope 命名空间 
    * SOAP 消息必须使用 SOAP Encoding 命名空间 
    * SOAP 消息不能包含 DTD 引用 
    * SOAP 消息不能包含 XML 处理指令 

SOAP 消息的基本结构 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5.     
  6. <soap:Header>     
  7.   ...     
  8.   ...     
  9. </soap:Header>     
  10.     
  11. <soap:Body>     
  12.   ...     
  13.   ...     
  14.   <soap:Fault>     
  15.     ...     
  16.     ...     
  17.   </soap:Fault>     
  18. </soap:Body>     
  19.     
  20. </soap:Envelope>    
  21.   
  22. <?xml version="1.0"?>  
  23. <soap:Envelope  
  24. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  25. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  26.   
  27. <soap:Header>  
  28.   ...  
  29.   ...  
  30. </soap:Header>  
  31.   
  32. <soap:Body>  
  33.   ...  
  34.   ...  
  35.   <soap:Fault>  
  36.     ...  
  37.     ...  
  38.   </soap:Fault>  
  39. </soap:Body>  
  40.   
  41. </soap:Envelope>  

SOAP Envelope 元素 
    必需的 SOAP 的 Envelope 元素是 SOAP 消息的根元素。它可把 XML 文档定义为 SOAP 消息。 
    请注意 xmlns:soap 命名空间的使用。它的值应当始终是: 
Java代码  
http://www.w3.org/2001/12/soap-envelope  

http://www.w3.org/2001/12/soap-envelope 
    并且它可把封装定义为 SOAP 封装: 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5.   ...     
  6.   Message information goes here     
  7.   ...     
  8. </soap:Envelope>    
  9.   
  10. <?xml version="1.0"?>  
  11. <soap:Envelope  
  12. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  13. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  14.   ...  
  15.   Message information goes here  
  16.   ...  
  17. </soap:Envelope>  

xmlns:soap 命名空间 
    SOAP 消息必须拥有与命名空间 "http://www.w3.org/2001/12/soap-envelope" 相关联的一个 Envelope 元素。 
    如果使用了不同的命名空间,应用程序会发生错误,并抛弃此消息。 

encodingStyle 属性 
   SOAP 的 encodingStyle 属性用于定义在文档中使用的数据类型。此属性可出现在任何 SOAP 元素中,并会被应用到元素的内容及元素的所有子元素上。SOAP 消息没有默认的编码方式。 
语法 
Java代码  
Java代码  收藏代码
  1. soap:encodingStyle="URI"  
  

soap:encodingStyle="URI" 
实例 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5. ...     
  6. Message information goes here     
  7. ...     
  8. </soap:Envelope>    
  9.   
  10. <?xml version="1.0"?>  
  11. <soap:Envelope  
  12. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  13. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  14. ...  
  15. Message information goes here  
  16. ...  
  17. </soap:Envelope>  


SOAP Header 元素 
    可选的 SOAP Header 元素可包含有关 SOAP 消息的应用程序专用信息(比如认证、支付等)。如果 Header 元素被提供,则它必须是 Envelope 元素的第一个子元素。 
     注释:所有 Header 元素的直接子元素必须是合格的命名空间。 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5.     
  6. <soap:Header>     
  7. <m:Trans     
  8. xmlns:m="http://www.w3school.com.cn/transaction/"    
  9. soap:mustUnderstand="1">234</m:Trans>     
  10. </soap:Header>     
  11.     
  12. ...     
  13. ...     
  14.     
  15. </soap:Envelope>    
  16.   
  17. <?xml version="1.0"?>  
  18. <soap:Envelope  
  19. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  20. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  21.   
  22. <soap:Header>  
  23. <m:Trans  
  24. xmlns:m="http://www.w3school.com.cn/transaction/"  
  25. soap:mustUnderstand="1">234</m:Trans>  
  26. </soap:Header>  
  27.   
  28. ...  
  29. ...  
  30.   
  31. </soap:Envelope>  

    上面的例子包含了一个带有一个 "Trans" 元素的头部,它的值是 234,此元素的 "mustUnderstand" 属性的值是 "1"。 
    SOAP 在默认的命名空间中 ("http://www.w3.org/2001/12/soap-envelope") 定义了三个属性。这三个属性是:actor、 mustUnderstand 以及 encodingStyle。这些被定义在 SOAP 头部的属性可定义容器如何对 SOAP 消息进行处理。 

actor 属性 
    通过沿着消息路径经过不同的端点,SOAP 消息可从某个发送者传播到某个接收者。并非 SOAP 消息的所有部分均打算传送到 SOAP 消息的最终端点,不过,另一个方面,也许打算传送给消息路径上的一个或多个端点。 
    SOAP 的 actor 属性可被用于将 Header 元素寻址到一个特定的端点。 
语法 
Java代码  
Java代码  收藏代码
  1. soap:actor="URI"   
  

soap:actor="URI" 
实例 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5.     
  6. <soap:Header>     
  7. <m:Trans     
  8. xmlns:m="http://www.w3school.com.cn/transaction/"    
  9. soap:actor="http://www.w3school.com.cn/appml/">     
  10. 234    
  11. </m:Trans>     
  12. </soap:Header>     
  13.     
  14. ...     
  15. ...     
  16.     
  17. </soap:Envelope>    
  18.   
  19. <?xml version="1.0"?>  
  20. <soap:Envelope  
  21. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  22. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  23.   
  24. <soap:Header>  
  25. <m:Trans  
  26. xmlns:m="http://www.w3school.com.cn/transaction/"  
  27. soap:actor="http://www.w3school.com.cn/appml/">  
  28. 234  
  29. </m:Trans>  
  30. </soap:Header>  
  31.   
  32. ...  
  33. ...  
  34.   
  35. </soap:Envelope>  

mustUnderstand 属性 
    SOAP 的 mustUnderstand 属性可用于标识标题项对于要对其进行处理的接收者来说是强制的还是可选的。 
    假如您向 Header 元素的某个子元素添加了 "mustUnderstand="1",则它可指示处理此头部的接收者必须认可此元素。假如此接收者无法认可此元素,则在处理此头部时必须失效。 
语法 
Java代码  
Java代码  收藏代码
  1. soap:mustUnderstand="0|1"   


soap:mustUnderstand="0|1" 
实例 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5.     
  6. <soap:Header>     
  7. <m:Trans     
  8. xmlns:m="http://www.w3school.com.cn/transaction/"    
  9. soap:mustUnderstand="1">     
  10. 234    
  11. </m:Trans>     
  12. </soap:Header>     
  13.     
  14. ...     
  15. ...     
  16.     
  17. </soap:Envelope>    
  18.   
  19. <?xml version="1.0"?>  
  20. <soap:Envelope  
  21. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  22. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  23.   
  24. <soap:Header>  
  25. <m:Trans  
  26. xmlns:m="http://www.w3school.com.cn/transaction/"  
  27. soap:mustUnderstand="1">  
  28. 234  
  29. </m:Trans>  
  30. </soap:Header>  
  31.   
  32. ...  
  33. ...  
  34.   
  35. </soap:Envelope>  

encodingStyle 属性 
    SOAP 的 encodingStyle 属性在上一节中已解释过了。 

SOAP Body 元素 
    必需的 SOAP Body 元素可包含打算传送到消息最终端点的实际 SOAP 消息。 
    SOAP Body 元素的直接子元素可以是合格的命名空间。SOAP 在默认的命名空间中("http://www.w3.org/2001/12/soap-envelope")定义了 Body 元素内部的一个元素。即 SOAP 的 Fault 元素,用于指示错误消息。 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5.     
  6. <soap:Body>     
  7.    <m:GetPrice xmlns:m="http://www.w3school.com.cn/prices">     
  8.       <m:Item>Apples</m:Item>     
  9.    </m:GetPrice>     
  10. </soap:Body>     
  11.     
  12. </soap:Envelope>    
  13.   
  14. <?xml version="1.0"?>  
  15. <soap:Envelope  
  16. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  17. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  18.   
  19. <soap:Body>  
  20.    <m:GetPrice xmlns:m="http://www.w3school.com.cn/prices">  
  21.       <m:Item>Apples</m:Item>  
  22.    </m:GetPrice>  
  23. </soap:Body>  
  24.   
  25. </soap:Envelope>  

   上面的例子请求苹果的价格。请注意,上面的 m:GetPrice 和 Item 元素是应用程序专用的元素。它们并不是 SOAP 标准的一部分。 
    而一个 SOAP 响应应该类似这样: 
Java代码  
Java代码  收藏代码
  1. <?xml version="1.0"?>     
  2. <soap:Envelope     
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  5.     
  6. <soap:Body>     
  7.    <m:GetPriceResponse xmlns:m="http://www.w3school.com.cn/prices">     
  8.       <m:Price>1.90</m:Price>     
  9.    </m:GetPriceResponse>     
  10. </soap:Body>     
  11.     
  12. </soap:Envelope>    
  13.   
  14. <?xml version="1.0"?>  
  15. <soap:Envelope  
  16. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  17. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  18.   
  19. <soap:Body>  
  20.    <m:GetPriceResponse xmlns:m="http://www.w3school.com.cn/prices">  
  21.       <m:Price>1.90</m:Price>  
  22.    </m:GetPriceResponse>  
  23. </soap:Body>  
  24.   
  25. </soap:Envelope>  

SOAP Fault 元素 
    来自 SOAP 消息的错误消息被携带于 Fault 元素内部。 
    如果已提供了 Fault 元素,则它必须是 Body 元素的子元素。在一条 SOAP 消息中,Fault 元素只能出现一次。 
    SOAP 的 Fault 元素用于下列子元素: 
              
子元素         描述           
<faultcode>  供识别故障的代码
<faultstring> 可供人阅读的有关故障的说明
<faultactor> 有关是谁引发故障的信息    
<detail>     存留涉及 Body 元素的应用程序专用错误信息




SOAP Fault Codes 
    在下面定义的 faultcode 值必须用于描述故障时的 faultcode 元素中: 
 
错误  描述  
VersionMismatch SOAP Envelope 元素的无效命名空间被发现
MustUnderstand Header 元素的一个直接子元素(带有设置为 "1" 的mustUnderstand 属性)无法被理解。
Client  消息被不正确地构成,或包含了不正确的信息。  
Server  服务器有问题,因此无法处理进行下去。  


HTTP 协议 
    HTTP 在 TCP/IP 之上进行通信。HTTP 客户机使用 TCP 连接到 HTTP 服务器。在建立连接之后,客户机可向服务器发送 HTTP 请求消息: 
Java代码  
Java代码  收藏代码
  1. POST /item HTTP/1.1    
  2. Host: 189.123.345.239    
  3. Content-Type: text/plain     
  4. Content-Length: 200    
  5.   
  6. POST /item HTTP/1.1  
  7. Host: 189.123.345.239  
  8. Content-Type: text/plain  
  9. Content-Length: 200  
  
  随后服务器会处理此请求,然后向客户机发送一个 HTTP 响应。此响应包含了可指示请求状态的状态代码: 
Java代码  
Java代码  收藏代码
  1. 200 OK     
  2. Content-Type: text/plain     
  3. Content-Length: 200    
  4.   
  5. 200 OK  
  6. Content-Type: text/plain  
  7. Content-Length: 200  

  在上面的例子中,服务器返回了一个 200 的状态代码。这是 HTTP 的标准成功代码。 
   假如服务器无法对请求进行解码,它可能会返回类似这样的信息: 
Java代码  
Java代码  收藏代码
  1. 400 Bad Request     
  2. Content-Length: 0    
  3.   
  4. 400 Bad Request  
  5. Content-Length: 0  



SOAP HTTP Binding 
   SOAP 方法指的是遵守 SOAP 编码规则的 HTTP 请求/响应。 
   HTTP + XML = SOAP 
   SOAP 请求可能是 HTTP POST 或 HTTP GET 请求。 
   HTTP POST 请求规定至少两个 HTTP 头:Content-Type 和 Content-Length。 
Content-Type 
   SOAP 的请求和响应的 Content-Type 头可定义消息的 MIME 类型,以及用于请求或响应的 XML 主体的字符编码(可选) 
语法 
Java代码  
Java代码  收藏代码
  1. Content-Type: MIMEType; charset=character-encoding     

Content-Type: MIMEType; charset=character-encoding 
例子 
Java代码  
Java代码  收藏代码
  1. POST /item HTTP/1.1    
  2. Content-Type: application/soap+xml; charset=utf-8    
  3.   
  4. POST /item HTTP/1.1  
  5. Content-Type: application/soap+xml; charset=utf-8  


Content-Length 
   SOAP 的请求和响应的 Content-Length 头规定请求或响应主体的字节数。 
语法 
Java代码  
Java代码  收藏代码
  1. Content-Length: bytes   


Content-Length: bytes 
例子 
Java代码  
Java代码  收藏代码
  1. POST /item HTTP/1.1    
  2. Content-Type: application/soap+xml; charset=utf-8    
  3. Content-Length: 250    

POST /item HTTP/1.1 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: 250 

一个 SOAP 实例 
    在下面的例子中,一个 GetStockPrice 请求被发送到了服务器。此请求有一个 StockName 参数,而在响应中则会返回一个 Price 参数。此功能的命名空间被定义在此地址中: "http://www.example.org/stock" 
SOAP 请求: 
Java代码  
Java代码  收藏代码
  1. POST /InStock HTTP/1.1    
  2. Host: www.example.org     
  3. Content-Type: application/soap+xml; charset=utf-8    
  4. Content-Length: nnn     
  5.     
  6. <?xml version="1.0"?>     
  7. <soap:Envelope     
  8. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  9. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  10.     
  11.   <soap:Body xmlns:m="http://www.example.org/stock">     
  12.     <m:GetStockPrice>     
  13.       <m:StockName>IBM</m:StockName>     
  14.     </m:GetStockPrice>     
  15.   </soap:Body>     
  16.        
  17. </soap:Envelope>    
  18.   
  19. POST /InStock HTTP/1.1  
  20. Host: www.example.org  
  21. Content-Type: application/soap+xml; charset=utf-8  
  22. Content-Length: nnn  
  23.   
  24. <?xml version="1.0"?>  
  25. <soap:Envelope  
  26. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"  
  27. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">  
  28.   
  29.   <soap:Body xmlns:m="http://www.example.org/stock">  
  30.     <m:GetStockPrice>  
  31.       <m:StockName>IBM</m:StockName>  
  32.     </m:GetStockPrice>  
  33.   </soap:Body>  
  34.     
  35. </soap:Envelope>  

SOAP 响应: 
Java代码  
Java代码  收藏代码
  1. HTTP/1.1 200 OK     
  2. Content-Type: application/soap+xml; charset=utf-8    
  3. Content-Length: nnn     
  4.     
  5. <?xml version="1.0"?>     
  6. <soap:Envelope     
  7. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"    
  8. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">     
  9.     
  10.   <soap:Body xmlns:m="http://www.example.org/stock">     
  11.     <m:GetStockPriceResponse>     
  12.       <m:Price>34.5</m:Price>     
  13.     </m:GetStockPriceResponse>     
  14.   </soap:Body>     
  15.        
  16. </soap:Envelope>    

原文:http://yakar.iteye.com/blog/968930

分享到:
评论
1 楼 软件天皇 2013-08-01  
: 0   
[b] 
400 Bad Request 
:roll
: [/b]

相关推荐

    CXF打印SOAP报文,记录WebService日志

    ### CXF打印SOAP报文与记录WebService日志 在企业级应用开发中,尤其是涉及到服务端接口(如WebService)的设计与实现时,日志记录变得尤为重要。它不仅可以帮助开发者更好地理解系统运行状况、定位问题所在,还能...

    WebService CXF 详细教程

    **五、CXF文件结构** 在"webService api"这个压缩包中,可能包含以下内容: 1. **WSDL文件**:描述服务接口和消息格式的XML文档。 2. **Java源代码**:由CXF自动生成的服务接口和端点实现类。 3. **配置文件**:如...

    webservice cxf_demo

    【标题】"webservice cxf_demo" 涉及到的是使用Apache CXF框架创建的Web服务示例项目。在Web服务的世界里,CXF是一个流行的开源工具,它支持SOAP和RESTful风格的服务,用于构建和消费Web服务。这个"CXF_demo"很可能...

    WebService CXF Demo基本使用

    【WebService CXF Demo基本使用】 在IT行业中,Web服务是一种重要的技术,用于系统间的数据交换和功能调用。其中,Apache CXF是一个流行的开源框架,它简化了WebService的开发、部署和使用。本教程将深入讲解如何...

    webService(基于cxf)的完整例子

    Web服务在IT行业中扮演着重要的角色,它允许不同的应用程序通过网络进行通信和交换数据。CXF是一个流行的开源Java框架,用于...通过学习这个例子,开发者可以掌握CXF的基本使用方法,进一步拓展到更复杂的Web服务场景。

    WebService CXF 对象传递 附

    **WebService CXF 对象传递详解** 在Web服务领域,CXF是一个非常重要的开源框架,它允许开发者创建和消费各种Web服务。CXF支持SOAP、RESTful等多种通信模式,并且能够处理复杂的对象传递,使得Web服务的数据交换...

    webservice cxf集成servlet

    ### WebService CXF与Servlet集成详解 #### 一、项目准备与搭建 ##### 1. 创建Web Project - **项目命名**:首先,在开发环境中创建一个新的Web项目,并将其命名为`cxf_bigdata`。 ##### 2. 目录结构 - 项目的...

    webservice cxf.jar 相关包

    5. 安全性:通过WSS,CXF提供了一套完整的安全解决方案,包括基本认证、数字签名、消息加密等。 6. 传输协议:CXF不仅支持HTTP/S,还可以通过JMS、JBI等多种传输协议。 在实际开发中,使用CXF可以极大地简化Web服务...

    WebService CXF学习文档

    WebService CXF学习——入门篇 1.CXF由来 2.HelloWorld 3.WSDL描述 WebService CXF学习——进阶篇 1.SOAP讲解 2.JAX-WS讲解 3.对象传递 WebService CXF学习——高级篇(一)(二) 1.整合Spring框架 2.CXF...

    WebService CXF --- 传输文件MTOM

    WebService CXF,全称Apache CXF,是一款开源的Java框架,用于构建和开发Web服务。它支持多种协议和规范,包括SOAP、RESTful、XML以及Web服务标准如WS-*。在"WebService CXF --- 传输文件MTOM"这个主题中,我们将...

    Java webservice cxf客户端调用demo和服务端

    Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...

    webservice-cxf-spring-jar.zip

    【标题】"webservice-cxf-spring-jar.zip" 是一个包含了使用Apache CXF与Spring框架集成开发Web服务的Java库集合。这个压缩包提供了一整套必要的JAR文件,以便于开发者在他们的项目中快速搭建和运行基于CXF的Web服务...

    webservice cxf 整合spring例子源代码

    CXF不仅支持SOAP,还支持RESTful API,使得开发者能够灵活地选择适合项目需求的服务模型。同时,Spring框架作为Java应用的基础设施,可以方便地管理对象依赖和提供事务控制。将CXF与Spring整合,可以使Web服务的实现...

    webservice cxf jar包

    【标签】"webservice cxf jar包"强调了这是关于CXF框架的Web服务开发工具包,CXF是一个广泛使用的Java框架,它允许开发者通过SOAP和RESTful接口创建和消费Web服务。 以下是一些主要的jar文件及其在Web服务开发中的...

    基于 cxf 2.7.5 开发的 webservice [soap restful]

    【标题】基于CXF 2.7.5开发的WebService:SOAP与RESTful详解 【描述】本项目是使用Apache CXF 2.7.5版本实现的WebService服务,包括了SOAP和RESTful两种常见的Web服务接口。Apache CXF是一个开源的Java框架,它为...

    在同一个系统里用cxf 实现SOAP 协议和RESTful风格 两种类型的webservice接口

    SOAP是一种基于XML的消息传递协议,用于在Web上交换结构化和类型化的信息。SOAP消息通常通过HTTP或HTTPS传输,提供了一种可靠的、有状态的通信方式。在CXF中,创建SOAP Web服务接口通常涉及以下步骤: 1. 定义服务...

    CXF-SOAP搭建WebService服务端demo

    【标题】"CXF-SOAP搭建WebService服务端demo"主要涵盖了使用Apache CXF框架、Spring框架、Maven构建工具以及SOAP协议来创建一个Web服务端的实例。这个过程涉及了多个关键知识点,下面将详细阐述。 【SOAP】:简单...

    webservice_cxf Demo

    4. **"cxf-web"目录结构** 压缩包中的 "cxf-web" 目录可能包含了以下内容: - `src/main/java`:Java 源代码,包括服务接口和服务实现类。 - `src/main/resources`:可能包含 WSDL 文件和其他配置文件。 - `pom....

    基于spring+cxf实现用户文件传输的webservice

    基于spring+cxf实现用户文件传输的webservice 在本文中,我们将探讨如何使用Spring+CXF实现用户文件传输的Webservice。该Webservice提供了基本的报文上传和查询功能,同时还提供了用户身份验证功能。 Spring 和 ...

Global site tag (gtag.js) - Google Analytics