关于GSOAP在wince下调用出现的问题

lan120576664 2011-09-13 06:37:19
在WINCE6.0平台上已经调通了GPRS上网,通过ce的IE可以浏览到网站。然后用GSoap调用公网的WebService接口,在没有USB ACTIVESYNC连接ce设备的时候,运行程序返回SOAP_TCP_ERROR,用GetLastError返回10038错误。而当有USB连接的时候,则成功返回的结果。
请问哪位哪位遇到过类似的问题没有?
...全文
330 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshi_ziyu 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lan120576664 的回复:]

WeatherWSSoapProxy objWSProxy(SOAP_C_UTFSTRING);
_ws1__getRegionProvince ws1__getCount;
_ws1__getRegionProvinceResponse ws1__getCountResponse;
nRet = objWSProxy.getRegionProvince(&ws1__getCou……
[/Quote]
没有连接上网络

lan120576664 2011-09-14
  • 打赏
  • 举报
回复
WeatherWSSoapProxy objWSProxy(SOAP_C_UTFSTRING);
_ws1__getRegionProvince ws1__getCount;
_ws1__getRegionProvinceResponse ws1__getCountResponse;
nRet = objWSProxy.getRegionProvince(&ws1__getCount,&ws1__getCountResponse);

CString str = L"";
str.Format(L"Error %d ,GetLastError %d",nRet,GetLastError());


if( nRet != SOAP_OK )
{
AfxMessageBox(str);
return nRet;
}
northcan 2011-09-14
  • 打赏
  • 举报
回复
贴段代码看看。
lan120576664 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 woshi_ziyu 的回复:]
引用楼主 lan120576664 的回复:
在WINCE6.0平台上已经调通了GPRS上网,通过ce的IE可以浏览到网站。然后用GSoap调用公网的WebService接口,在没有USB ACTIVESYNC连接ce设备的时候,运行程序返回SOAP_TCP_ERROR,用GetLastError返回10038错误。而当有USB连接的时候,则成功返回的结果。
请问哪位哪位遇到过类似的问题没有?……
[/Quote]

确认关系不大,但就是想不明白为什么通过USB ACTIVESYNC连接走PC端的网络,然后调用GSOAP就OK
走GPRS网络,就会返回SOAP_TCP_ERROR于10038的错误。
是否在配置生成SOAP类有关系?

你是否走的GPRS网络?
lan120576664 2011-09-14
  • 打赏
  • 举报
回复
好吧结贴
woshi_ziyu 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lan120576664 的回复:]

引用 5 楼 woshi_ziyu 的回复:
引用 4 楼 lan120576664 的回复:

WeatherWSSoapProxy objWSProxy(SOAP_C_UTFSTRING);
_ws1__getRegionProvince ws1__getCount;
_ws1__getRegionProvinceResponse ws1__getCountResponse;
n……
[/Quote]
不是很清楚 以前做项目的时候做了一半 后来搁浅了
lan120576664 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 woshi_ziyu 的回复:]
引用 4 楼 lan120576664 的回复:

WeatherWSSoapProxy objWSProxy(SOAP_C_UTFSTRING);
_ws1__getRegionProvince ws1__getCount;
_ws1__getRegionProvinceResponse ws1__getCountResponse;
nRet = objWSProxy.getRegio……
[/Quote]

请问应该如何连接呢??

用微软的SOCKET编写也不需要创建连接,只需到拨号连接上网络就ok了。
woshi_ziyu 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 lan120576664 的回复:]
在WINCE6.0平台上已经调通了GPRS上网,通过ce的IE可以浏览到网站。然后用GSoap调用公网的WebService接口,在没有USB ACTIVESYNC连接ce设备的时候,运行程序返回SOAP_TCP_ERROR,用GetLastError返回10038错误。而当有USB连接的时候,则成功返回的结果。
请问哪位哪位遇到过类似的问题没有?
[/Quote]
没有遇到过这个问题

SOAP_TCP_ERROR是代表网络错误重发
返回10038代表无法立即完成一个非阻挡性套接字操作。

WSAENOTSOCK (10038)
Socket operation on non-socket.
An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.

和USB ACTIVESYNC有关系吗?应该关系不大呢 仔细查看代码

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧