通讯转换工具开发_webservice储值卡项目总结之webservice复杂对象类型
2016-12-12 17:01
507 查看
这是我第二次做转发前置项目,依然是一个人独立完成。。。。
期间遇到了好多好多bug,现在也不敢说我的程序是多么完美,甚至很多地方,比如地址啊,端口啊,都写死了,后期有时间还需要大改一番,但,总算是在规定时间内完成了。。。
先从wsdl文档中的查询getsvcmaster说起:
很明显,属于复杂对象类型的webservice,一开始,我被这层层嵌套的关系绕晕了,发送给webservice根本不成功,网上也没找到类似复杂的例子,然后项目有很急,最终我终于发现,eclipse竟然可以根据wsdl地址自动生成客户端调用webservice的代码!!!!竟然!!!!!
步骤如下:
1.在项目中点击右键,选择New->Other
2.对话框列表中选择web services->web service client,然后点击next
3.service definition中填写wsdl地址,然后点击finish,就能自动生成了~~~
期间遇到了好多好多bug,现在也不敢说我的程序是多么完美,甚至很多地方,比如地址啊,端口啊,都写死了,后期有时间还需要大改一番,但,总算是在规定时间内完成了。。。
先从wsdl文档中的查询getsvcmaster说起:
<s:element name="getsvcmaster"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="astr_request" type="tns:getsvcmasterrequest"/> </s:sequence> </s:complexType> </s:element> <s:complexType name="getsvcmasterrequest"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="header" type="tns:requestheader"/> <s:element minOccurs="0" maxOccurs="1" name="search" type="tns:svcsearch"/> </s:sequence> </s:complexType> <s:complexType name="requestheader"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="licensekey" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="lang" type="s:string"/> <s:element minOccurs="1" maxOccurs="1" name="pagerecords" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="pageno" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="updatecount" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="messagetype" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="messageid" type="s:string"/> <s:element minOccurs="0" ma 4000 xOccurs="1" name="version" type="s:string"/> </s:sequence> </s:complexType> <s:complexType name="svcsearch"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="txdate_yyyymmdd" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="txtime_hhmmss" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="storecode" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="tillid" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="svcardno" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="cashiercode" type="s:string"/> </s:sequence> </s:complexType> <s:element name="getsvcmasterResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="getsvcmasterResult" type="tns:getsvcmasterresponse"/> </s:sequence> </s:complexType> </s:element> <s:complexType name="getsvcmasterresponse"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="header" type="tns:responseheader"/> <s:element minOccurs="0" maxOccurs="1" name="master" type="tns:svcmaster"/> </s:sequence> </s:complexType> <s:complexType name="responseheader"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="responsecode" type="s:short"/> <s:element minOccurs="0" maxOccurs="1" name="responsemessage" type="s:string"/> <s:element minOccurs="1" maxOccurs="1" name="pagerecords" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="pageno" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="updatecount" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="maxrecords" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="maxpageno" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="messagetype" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="messageid" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="version" type="s:string"/> </s:sequence> </s:complexType> <s:complexType name="svcmaster"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="systemdate_yyyymmdd" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="systemtime_hhmmss" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="svcardno" type="s:string"/> <s:element minOccurs="1" maxOccurs="1" name="initialamount" type="s:decimal"/> <s:element minOccurs="1" maxOccurs="1" name="balance" type="s:decimal"/> <s:element minOccurs="0" maxOccurs="1" name="status" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="activedate_yyyymmdd" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="effectdate_yyyymmdd" type="s:string"/> <s:element minOccurs="1" maxOccurs="1" name="extenddays" type="s:int"/> </s:sequence> </s:complexType>
很明显,属于复杂对象类型的webservice,一开始,我被这层层嵌套的关系绕晕了,发送给webservice根本不成功,网上也没找到类似复杂的例子,然后项目有很急,最终我终于发现,eclipse竟然可以根据wsdl地址自动生成客户端调用webservice的代码!!!!竟然!!!!!
步骤如下:
1.在项目中点击右键,选择New->Other
2.对话框列表中选择web services->web service client,然后点击next
3.service definition中填写wsdl地址,然后点击finish,就能自动生成了~~~
相关文章推荐
- 通讯转换工具开发_webservice储值卡项目总结之XML与对象之间的转换
- WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器
- delphi, Mapobjects(mo)开发一些技巧,图形对象类型转换
- xFire开发webService返回复杂对象
- 四、CXF WebService中传递复杂类型对象
- 总结自己最近项目中常用的各种类型转换代码(高人勿喷)
- ASP.Net中用ViewState存储自定义复杂对象后类型转换的一个问题
- WinForm控件开发之为控件的复杂属性提供类型转换器
- 在浙江杭州快速开发公司内部办公自动化OA系统的经验总结(有成熟的后台配置工具、开发平台、程序员朋友圈还真不错,做软件项目还得靠积累才稳妥)
- C++对象类型转换问题概括总结
- 复杂对象类型的WebService高级部分
- 如何使用xFire开发webService返回复杂对象List
- 三、 复杂对象类型的WebService
- CXF WebService中传递复杂类型对象 .
- WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器
- 三、 复杂对象类型的WebService
- 如何使用xFire开发webService返回复杂对象List
- 四、CXF WebService中传递复杂类型对象
- C++ 对象构造, 拷贝, 赋值和隐式类型转换总结
- xFire开发webService返回复杂对象