QtSoap传递多种类型参数

在用QtSoap调用webservice时,经常需要传递Double、DateTime、Float等各种类型的参数,而QtSoapMessage的addMethodArgument接口只支持常见的bool、QString、int类型,在网上查资料发现一网友的解决办法:

 

在QtSoap.h里面添加了一个新的接口

 

QtSoapSimpleType(const QtSoapQName &name, Type type, QVariant variant);

 

 

QtSoap.cpp

 

QtSoapSimpleType::QtSoapSimpleType(const QtSoapQName &name, Type type, QVariant variant): QtSoapType(name, type), v(variant){
}


使用方法:

 

 

QtSoapMesssage request;  
request.addMethodArgument(new QtSoapSimpleType(QtSoapQName("test"), QtSoapType::Double, QVariant(2015.9))); 

 

 

这个接口支持所有QtSoapSimpleType支持的参数类型。

 

 

Constant	        Value	        Description
QtSoapType::AnyURI	14	 
QtSoapType::Array	41	        Represented by QtSoapArray
QtSoapType::Base64Binary	10	 
QtSoapType::Boolean	9	 
QtSoapType::Byte	34	 
QtSoapType::Date	3	 
QtSoapType::DateTime	1	 
QtSoapType::Decimal	27	 
QtSoapType::Double	13	 
QtSoapType::Duration	0	 
QtSoapType::ENTITY	26	 
QtSoapType::Float	12	 
QtSoapType::GDay	7	 
QtSoapType::GMonth	8	 
QtSoapType::GMonthDay	6	 
QtSoapType::GYear	5	 
QtSoapType::GYearMonth	4	 
QtSoapType::HexBinary	11	 
QtSoapType::ID	24	 
QtSoapType::IDREF	25	 
QtSoapType::Int	32	 
QtSoapType::Integer	28	 
QtSoapType::Language	20	 
QtSoapType::Long	31	 
QtSoapType::NCName	23	 
QtSoapType::NMTOKEN	22	 
QtSoapType::NOTATION	16	 
QtSoapType::Name	21	 
QtSoapType::NegativeInteger	30	 
QtSoapType::NonNegativeInteger	35	 
QtSoapType::NonPositiveInteger	29	 
QtSoapType::NormalizedString	18	 
QtSoapType::Other	43	 
QtSoapType::PositiveInteger	37	 
QtSoapType::QName	15	 
QtSoapType::Short	33	 
QtSoapType::String	17	 
QtSoapType::Struct	42	      Represented by QtSoapStruct
QtSoapType::Time	2	 
QtSoapType::Token	19	 
QtSoapType::UnsignedByte	40	 
QtSoapType::UnsignedInt	38	 
QtSoapType::UnsignedLong	36	 
QtSoapType::UnsignedShort	39	 

 

 

 

 

 

 

 

 

 

参考:http://supportforums.blackberry.com/t5/Native-Development/QtSoap-Changing-the-type-of-a-webservice-object/td-p/2308895

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值