SOAP嵌入式linux下的应用(一)

  

  作者:华清远见讲师

  Simple Object Access
Protocol(SOAP)简单对象访问协议,是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

  这里介绍soap嵌入式linux下的使用。

  一、gSOAP

  选择gSOAP的原因:

  gSOAP编译工具提供了一个SOAP/XML 关于C/C++
语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多。绝大多数的C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程序结构来适应相关的类库。与之相反,gSOAP利用编译器技术提供了一组透明化的SOAP
API,并将与开发无关的SOAP实现细节相关的内容对用户隐藏起来。

  可移植性:gSOAP支持大多
数平台,包括嵌入式系统和小系统(例如嵌入式Symbian,Palm)。可移植性测试Windows(98,XP,Vista),Linux,Unix 系统,Mac
OS X,Solaris,HP-UX,AIX,FreeBSD,TRU64,Irix,QNX,VxWorks。

  二、gSOAP的移植

  1、下载源码

  http://sourceforge.net/projects/gsoap2/files/

  http://jaist.dl.sourceforge.net/project/gsoap2/gSOAP/gsoap_2.8.24r.zip

  本例下载版本为:gsoap_2.8.24r.zip

  2、解压源码

  $ unzip gsoap_2.8.24r.zip

  3、编译x86 平台下工具

  配置源码

  $ ./configure --prefix=/home/linux/gsoap/gsopa-x86

  配置一些特性,比如目标平台安装路径等,如上配置目标平台为x86架构,安装路径为/home/linux/gsoap/gsoap-x86

  编译源码

  $ make

  安装源码到/home/linux/gsoap/gsoap-x86目录

  $ make install

  4、编译arm平台工具

  ./configure --prefix=/home/linux/gsoap/gsopa-arm --host=arm-linux

  再次配置源码,这次配置目标平台变为arm-linux

  修改源码,根据编译错误提示进行适当修改:

  修改源码目录下的config.h

  注释掉:

  #define malloc rpl_malloc

  soapcpp和wsdl2h在编译过程中会生成同事这两个工具也在编译时会被用来生成一些特定的文件,所以如果soapcpp和wsdl2h如果被编译成arm架构则无法在PC上执行,也就意味着接下的编译无法完成,所以这里选择不编译这两个文件,而选择使用上节编译所生产的x86架构的对应文件。

  修改gsoap/src/Makefile

  注释掉

  soapcpp2$(EXEEXT): $(soapcpp2_OBJECTS) $(soapcpp2_DEPENDENCIES)
$(EXTRA_soapcpp2_DEPENDENCIES)

  @rm -f soapcpp2$(EXEEXT)

  $(AM_V_CCLD)$(soapcpp2_LINK) $(soapcpp2_OBJECTS) $(soapcpp2_LDADD)
$(LIBS)

  修改gsoap/wsdl/Makefile

  wsdl2h$(EXEEXT): $(wsdl2h_OBJECTS) $(wsdl2h_DEPENDENCIES)
$(EXTRA_wsdl2h_DEPENDENCIES)

  @rm -f wsdl2h$(EXEEXT)

  $(AM_V_CXXLD)$(wsdl2h_LINK) $(wsdl2h_OBJECTS) $(wsdl2h_LDADD) $(LIBS)

  拷贝x86架构下的soapcpp和wsdl2h到工程源码目录下:

  $ cp /home/linux/gsoap/gsoap-x86/bin/soapcpp2
/home/linux/gsoap/gsoap-2.8/gsoap/src/

  $ cp /home/linux/gsoap/gsoap-x86/bin/wsdl2h
/home/linux/gsoap/gsoap-2.8/gsoap/wsdl/

  编译

  $ make

  安装

  make install

 

  >>>更多优秀技术博文来源嵌入式学院

时间: 2024-08-04 14:40:34

SOAP嵌入式linux下的应用(一)的相关文章

基于嵌入式Linux下GCC编译器__sync_sub_and_fetch_4错误的解决心得

******************************************************************************************************************************************************* 作者:EasyWave                                                                                      

嵌入式 Linux下永久生效环境变量bashrc

嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件, .bash_history   记录之前输入的命令 .bash_logout    当你退出时执行的命令 .bash_profile    当你登入shell时执行 .bashrc             当你登入shell时执行 请注意后两个的区别:'.bash_profile'只

转: 嵌入式linux下usb驱动开发方法--看完少走弯路【转】

转自:http://blog.csdn.net/jimmy_1986/article/details/5838297 嵌入式linux下的usb属于所有驱动中相当复杂的一个子系统,要想将她彻底征服,至少需要个把月的时间,不信?那是你没做过. 本人做过2年的嵌入式驱动开发,usb占了一大半的时间.期间走了不少弯路,下面将我的血的经验教训总结下,为要从事和正在从事的战友们做一点点贡献吧:) 首先,扫盲: 要做的是阅读usb Spec(英文的哦,其实很多文章.书籍和资料真有水平的还是原创的好,就像食品

嵌入式Linux下S3C2410的调色板彩色显示

对于一个显示设备,数据的更新率正比于画面的像素数和色彩深度的乘积.在嵌入式Linux系统中,受处理器资源配置和运算能力的制约,当使用大分辨率显示时(如在一些屏幕尺寸较大的终端上,往往需要640×480以上),需要降低显示的色彩深度.否则,由于数据处理负担过重会造成画面的抖动和不连贯.这时,调色板技术将发挥重要作用.ARM9内核的S3C2410在国内的嵌入式领域有着广泛的应用,芯片中带有LCD控制器,可支持多种分辨率.多种颜色深度的LCD显示输出.在此,将S3C2410的调色板技术,以及嵌入式Li

嵌入式Linux下BOA网页服务器的移植

*************************************************************************************************************************** 作者:EasyWave                                                       时间:2014.09.28 类别:Linux应用-网页服务器BOA WebServer       声明:转载,请保留链

嵌入式Linux下开源路由器OpenWRT编译与下载

*************************************************************************************************************************** 作者:EasyWave                                                                   时间:2014.10.26 类别:Linux应用-开源路由器OpenWRT的编译与下载    

嵌入式Linux下MP4视频录制库MP4V2移植和简介

*************************************************************************************************************************** 作者:EasyWave                                                                             时间:2014.10.31 类别:Linux应用-MP4视频录制库MP4V2

嵌入式Linux下MP4视频录制库MP4V2移植和简单介绍

*************************************************************************************************************************** 作者:EasyWave                                                                             时间:2014.10.31 类别:Linux应用-MP4视频录制库MP4V2

嵌入式linux下web服务器搭建

一.移植编译生成boa二进制文件 Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右.作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求.但Boa支持CGI,能够为CGI程序fork出一个进程来执行.Boa的设计目标是速度和安全. 首先下载boa源码包,下载链接:http://www.boa.org/. 解压到特定目录,本人使用的是/opt目录,使用命令: # tar zxvf boa-0.94.13.tar.gz –C /op