วันพฤหัสบดีที่ 28 มีนาคม พ.ศ. 2556

การติดตั้งและใช้งาน gSoap บน CentOS

Standard
ระบบปฎิบัติการที่ใช้ CentOS 6.2 และ gsoap version 2.7.16

1.download package : gsoap-2.7.16-3.el6.x86_64.rpm , gsoap-devel-2.7.16-3.el6.x86_64.rpm

2.install package
     #rpm -i gsoap-2.7.16-3.el6.x86_64.rpm
     #rpm -i gsoap-devel-2.7.16-3.el6.x86_64.rpm

โดย package ข้างต้นจะมีโปรแกรม wsdl2h ซึ่งใช้เปลี่ยน wsdl เป็น header file ของภาษา c (หรือ c++)




#wsdl2h -c -o header_file.h http://webservice/service.php?wsdl


จะได้ไฟล์ header_file.h มา แล้วใช้คำสั่ง

#soapcpp2 -c header_file.h 

โปรแกรมใช้เพื่อ soapcpp2 เพื่อสร้าง code ภาษา c (option -c แต่ถ้าต้องการ cpp ไม่ต้องใส่ -c)  จาก header file 

ลอง #ls ดูจะพบว่ามีไฟล์ source code โปรแกรมที่เป็นภาษา c อยู่หลายไฟล์

MyWebServiceWSBinding.UpdateDataInfo.req.xml
MyWebServiceWSBinding.UpdateDataInfo.res.xml
MyWebServiceWSBinding.nsmap
header_file.h 
soapC.c
soapClient.c
soapClientLib.c
soapH.h
soapServer.c
soapServerLib.c
soapStub.h

โดย structure ต่างๆของโปรแกรม จะถูกเก็บอยู่ในไฟล์ header_file.h 
และ function จะอยู่ที่ไฟล์ soapClient.c
วิธีนำไปใช้คือ 
สร้างไฟล์ main_ws.c แล้วให้ include 
#include "soapH.h"
#include "MyWebServiceWSBinding.nsmap"


เวลา compile ใช้
gcc -g -L/usr/lib -o runcli main_ws.c soapC.c soapClient.c -lgsoap -lgsoapck -lgsoapssl


0 ความคิดเห็น:

แสดงความคิดเห็น