XML是一種公認的數(shù)據(jù)格式將結(jié)構(gòu)化信息,就像許多其他結(jié)構(gòu)化數(shù)據(jù)格式設(shè)計。gSOAP 可以將用戶定義的本地化的C或C++數(shù)據(jù)類型轉(zhuǎn)變?yōu)榉蟈ML語法的數(shù)據(jù)結(jié)構(gòu),這樣,只用一組簡單的API就將用戶從SOAP細節(jié)實現(xiàn)工作中解脫了出來,可以專注與應(yīng)用程序邏輯的實現(xiàn)工作了。
gSOAP基本功能介紹
XML數(shù)據(jù)綁定工具(基于編譯器)的C / c++和C + + 11)
新! !jsoncpp工具來生成JSON & JSONPath C / c++
新! !domcpp工具來生成C / c++ DOM代碼對XML和XPath
XML模式C / c++類型綁定意味著XML和C / c++數(shù)據(jù)始終是類型安全的
XML流auto-serialization C / c++的數(shù)據(jù)(可選使用DOM)
JSON RPC /休息和JSONPath C / c++
JSON轉(zhuǎn)換從xml - rpc / C / c++
不需要改變C / c++類型序列化(聲明類型為“不穩(wěn)定”)
SOAP WSDL 1.1/2.0,XSD 1.0/1.1的1.1/1.2
其他HTTP(S)1.0/1.1操作(GET、PUT、POST等)對XML、JSON、等等
發(fā)送和接收XML在套接字、文件FD和c++流
ws - i基本概要1.0、1.0和1.2兼容
W3C schema數(shù)據(jù)綁定模式覆蓋完整的測試模式
XML支持RSS 0.91,0.91,0.92
MIME和MTOM附件支持(也在流模式)
ws - security XML驗證、簽名、加密(也在流模式)
ws - policy 1.2、1.5和ws - securitypolicy 1.2兼容
ws - addressing 2003/03,2004/03,2004/03兼容
ws - reliablemessaging 1.0和1.1兼容
WS-Discovery 1.0/1.1
UDDI v2 API
NTLM身份驗證
HTTP基本和摘要式身份驗證
SSL / TLS SSL會話緩存(OpenSSL、GNUTLS SystemSSL)
代理和代理身份驗證支持
壓縮(HTTP壓縮和zlib)
IPv4和IPv6,包括直接TCP和UDP數(shù)據(jù)傳輸
SOAP-over-UDP
Apache 1.2.0 x和模塊
IIS(ISAPI)和經(jīng)由WinInet模塊
CGI和FastCGI支持
獨立的Web服務(wù)器包括(多線程、SSL、壓縮)
集成內(nèi)存管理和回收泄漏檢測
插件的額外功能
國際化和本地化支持(use UTF8,UCS4 MB編碼等)
WSDL / XSD轉(zhuǎn)換為C或c++,反之亦然
移植到小型設(shè)備(例如畏縮,棕櫚,塞班,VxWorks,Android、iPhone)
汽車測試服務(wù)器(虛擬)服務(wù)器測試的代碼生成
自動根據(jù)WSDL和XSD生成XML文檔和消息
C / c++(循環(huán))對象圖auto-serialization(SOAP id-href編碼)
STL容器auto-serialization auto-serialization和自定義c++容器
40歲以上的例子包括客戶端和服務(wù)器應(yīng)用程序
許可:GPLv2 gSOAP公共許可證(引擎和插件),商業(yè)non-GPL可用許可證要求(內(nèi)部開發(fā)的軟件是100%,不包括第三方GPL的貢獻)
gSOAP 教程
安裝軟件后,你會得到幾個開發(fā)工具和庫:
wsdl2h 工具對gSOAP WSDL和XSD文件的頭文件 數(shù)據(jù)綁定接口 。
soapcpp2 工具需要的頭文件和生成數(shù)據(jù)綁定接口 數(shù)據(jù)綁定實現(xiàn) 與 XML序列化器 實現(xiàn)Web服務(wù)和XML數(shù)據(jù)綁定。 生成的代碼是平臺獨立的和便攜式。
運行時引擎 處理HTTP和XML傳輸任何IO設(shè)備和套接字并負責內(nèi)存分配。 每中聲明的平臺和運行時配置 stdsoap2.h 和實現(xiàn) stdsoap2.c (C)和 stdsoap2.cpp (c++)。 此外,gSOAP安裝 libgsoap , libgsoapssl , libgsoap + + , libgsoapssl + + 庫,請參閱下面的進一步。
XML DOM API 和 DOM解析器 實現(xiàn)在 dom.c (C)和 dom.cpp (c++)。 XML DOM使用ws - security插件和存儲xsd:anyType和xsd:任何XML數(shù)據(jù)。 gSOAP DOM API提供了一個混合 DOM +數(shù)據(jù)綁定的方法 允許你嵌入可序列化的C / c++ DOM節(jié)點圖中的數(shù)據(jù)類型。 看到 XML DOM和XPath。
新 domcpp 工具生成C或c++源代碼解析,搜索,操作和使用DOM API編寫原始XML和DOM解析器。 該工具需要一個XML文件或XPath查詢。 domcpp工具是XML DOM示例的一部分 gsoap /樣本/ dom 在下載包中。 看到 XML DOM和XPath。
xml - rpc 和 JSON 位于庫和示例 gsoap /樣本/ xml-rpc-json 在下載包中。 看到 xml - rpc和JSON / JSONPath。
新 jsoncpp 工具生成C或c++源代碼解析,操作和編寫JSON數(shù)據(jù)。 該工具需要一個JSON文件或JSONPath查詢。 看到 xml - rpc和JSON / JSONPath。
許多其他的示范例子是位于 gsoap /樣品 下載包中你開始。
wsdl2h工具正是其名:它將WSDL文件轉(zhuǎn)換為。 h與數(shù)據(jù)綁定接口聲明頭文件的服務(wù)和他們的C / c++數(shù)據(jù)。 wsdl2h工具是一個gSOAP應(yīng)用程序本身,并使用數(shù)據(jù)綁定代碼生成的WSDL規(guī)范的模式和W3C XML schema-of-schemas。
soapcpp2工具作為一個C / c++預(yù)處理器上運行。 h頭文件與數(shù)據(jù)綁定接口生成源代碼“膠水”實現(xiàn)服務(wù)和XML數(shù)據(jù)綁定XML序列化器為你的項目。
還可以使用soapcpp2沒有wsdl2h通過聲明服務(wù)和XML數(shù)據(jù)綁定類型直接在熟悉C / c++語法。 在這個場景中,soapcpp2工具還生成描述服務(wù)的WSDL和XSD文件和數(shù)據(jù)綁定。
gSOAP運行時引擎也安裝一個庫編譯 stdsoap2.c + dom.c 和 stdsoap2.cpp + dom.cpp 你可以鏈接到你的項目代碼:
gsoap / libgsoap.a C運行時引擎(平原和緊湊,沒有HTTPS)
gsoap / libgsoapssl.a C運行時引擎在DOM支持下,餅干,zlib和SSL
gsoap / libgsoap + +。 c++運行時引擎(平原和緊湊,沒有HTTPS)
gsoap / libgsoapssl + +。 c++運行時引擎在DOM支持下,餅干,zlib和SSL
擴展的SSL版本庫建議在您的項目中使用,因為HTTPS和HTTP壓縮被廣泛使用(但餅干往往忽略)。 如果您想要使用的源代碼運行時引擎和DOM解析器而不是擴展SSL版本的庫,然后用編譯器標志必須編譯所有的來源 -DWITH_DOM , -DWITH_GZIP , -DWITH_OPENSSL , -DWITH_COOKIES 和(可選) -DWITH_IPV6 IPv6支持。
- PC官方版
- 安卓官方手機版
- IOS官方手機版