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 ความคิดเห็น:
แสดงความคิดเห็น