在Linux下,利用gSoap生成的WebService客户端进行开发时遇到的问题
2010-09-20 10:40
429 查看
在Linux下,利用gSoap生成了WebService客户端,在进行开发时遇到了如下几个问题,其中,gSoap的版本号是2.7.15,但由于没有重新编译,而是使用工具包自带的wsdl2h和soapcpp2,其版本号为2.7.9l。
1. 编译时提示:函数soap_save_block和soap_push_block均缺少一个参数。
暂不清楚是由于WSDL编写不标准还是gSoap本身存在问题,不过这里只需要简单修改
一下就好了:给提示缺少参数的调用均增加一个参数NULL即可。
2. 程序运行时出现:调用WebService接口向服务端发送数据时失败,但是调用WebService
接口可以正常接收来自服务端的数据。
经查,造成该问题的直接原因是该版本的gSoap生成的WebService客户端对多参数的接
口支持存在问题,这里临时解决方法是:服务端将所有涉及到客户端向服务端发送数据
的接口均改为一个参数,这样修改后程序运行正常。
至于该问题的真正原因尚未去查,不过可参考下边的一篇文章:
http://blog.csdn.net/yufeng20345390/archive/2010/06/12/5666304.aspx
3. gethostbyname函数的问题
本项目是基于嵌入式Linux来开发的,利用gSoap生成的客户端进行程序开发时发现:
程序运行时老是连不上WebService服务端,经查,发现是域名解析函数gethostbyname的
问题:域名解析失败。
原因待查。
解决办法,项目组重写了gethostbyname函数,然后利用该函数修改了文件
stdsoap2.cpp、stdsoap2.h关于TCP连接部分的源代码,从而解决了该问题。
1. 编译时提示:函数soap_save_block和soap_push_block均缺少一个参数。
暂不清楚是由于WSDL编写不标准还是gSoap本身存在问题,不过这里只需要简单修改
一下就好了:给提示缺少参数的调用均增加一个参数NULL即可。
2. 程序运行时出现:调用WebService接口向服务端发送数据时失败,但是调用WebService
接口可以正常接收来自服务端的数据。
经查,造成该问题的直接原因是该版本的gSoap生成的WebService客户端对多参数的接
口支持存在问题,这里临时解决方法是:服务端将所有涉及到客户端向服务端发送数据
的接口均改为一个参数,这样修改后程序运行正常。
至于该问题的真正原因尚未去查,不过可参考下边的一篇文章:
http://blog.csdn.net/yufeng20345390/archive/2010/06/12/5666304.aspx
3. gethostbyname函数的问题
本项目是基于嵌入式Linux来开发的,利用gSoap生成的客户端进行程序开发时发现:
程序运行时老是连不上WebService服务端,经查,发现是域名解析函数gethostbyname的
问题:域名解析失败。
原因待查。
解决办法,项目组重写了gethostbyname函数,然后利用该函数修改了文件
stdsoap2.cpp、stdsoap2.h关于TCP连接部分的源代码,从而解决了该问题。
相关文章推荐
- linux环境下,利用gsoap生成webservice客户端进行应用程序开发的小结 (轉)
- linux环境下,利用gsoap生成webservice客户端进行应用程序开发的小结
- 在利用openssl 进行base64编码开发所遇到的头包含问题
- 在linux下,利用gSoap开发Web Service C/C++客户端
- 利用wsdl2java工具生成webservice的客户端代码,编码问题
- 利用IDEA进行JNI开发:使用NDK生成Linux平台下的so文件
- Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是
- 在linux下,利用gSoap开发Web Service C/C++客户端
- PHP利用SOAP进行webservice开发(客户端)
- Linux下gSOAP生成webservice客户端代码 的使用心得
- 3_WebService开发客户端(wsimport指令生成客户端代码)
- 利用HttpURLConnection和WebClient发布REST风格的WebService客户端(解决超时问题)
- WcF生成客户端遇到的问题/
- linux开发遇到的一些问题
- 利用gSoap开发Web Service C/C++客户端
- Linux下用gSOAP开发Web Service服务端和客户端程序(一)
- 对v7包下的AlertDialog(弹出框)在实际开发中遇到的小问题进行阐述
- webservice 开发 axis2 简单部署服务 gSoap 客户端通信
- Android开发中遇到的R文件无法生成以及adb无法启动问题的解决
- 最大化利用内核资源进行Linux驱动开发--摘自《嵌入式Linux驱动模板精讲与项目实践》