在利用gSOAP对接webservice时,由于跨语言对接,在对接过程中往往会遇到一些难以排查的问题,在调用平台提供的webservice接入文件wsdl中定义的接口函数时,根据返回值,可以大致判断出出错的类型,其中,较为常见的有
SOAP_OK 0
SOAP_TAG_MISMATCH 3
SOAP_FAULT 12
SOAP_TCP_ERROR 28
以及200、400、404、500
其中,返回0即SOAP_OK表明客户端发送内容成功
下面大致分析下各类出错返回值的原因:
SOAP_TAG_MISMATCH 顾名思义,标签不匹配,由于gSOAP库会将数据封装为一个XML字段,如果出现服务端和客户端的XML字段名一样,但是namespace标签不一样的情况,就会报这个错,例如
服务端用<ns1:time></ns1:time>表示时间,但是客户端发送的内容<ns2:time></ns2:time>,或者相反,则一般会报这个错误,此时,只要在gSOAP库中手动将标签修改即可。