当前位置: 代码迷 >> Web Service >> 关于asp.net 怎么调用webservice(只提供了Input string和Output string)
  详细解决方案

关于asp.net 怎么调用webservice(只提供了Input string和Output string)

热度:264   发布时间:2016-05-02 02:59:27.0
关于asp.net 如何调用webservice(只提供了Input string和Output string)
输入input string 是:

XML code
<WORK_DATA><WORK_CODE>WK0011</WORK_CODE><DESC>23/7/2011</DESC></WORK_DATA>

输出output string 是:
XML code
<WORK_DATA><STATE>Y</STATE><ERROR>N</ERROR><WORK_DETAIL><WORKER_NAME>小强</WORKER_NAME><DATE>2011-08-12</DATE ><POSITION>科长</ POSITION ><WORK_YEAR>5</ WORK_YEAR ></WORK_DETAIL><WORK_DETAIL><WORKER_NAME>小强2</WORKER_NAME><DATE>2011-08-32</DATE ><POSITION>班长</ POSITION ><WORK_YEAR>2</ WORK_YEAR ></WORK_DETAIL></WORK_DATA>

其中,WORK_DATA 是不定的,有时候是2条记录,有时候是N条记录
如果获取输出数据出错,则返回
XML code
<WORK_DATA><STATE>N</STATE><ERROR>Y</ERROR></WORK_DATA>


请问我该怎么调用这么webService并且解析出那些不定数目的WORK_DATA 呢?
望高手们指点,最好有个小例子我可以模仿,谢谢啦!(新手分不多望各位见谅)

------解决方案--------------------
xml格式的字符串与.net内存对象的转换,这叫做“xml序列化/反序列化”。你自己搜索一下。
------解决方案--------------------
你的第二个,加上一个最外层的对象(例如叫做ArrayOfWORK_DATA)才好。

在xml序列化中有很多需要转义的,例如假设字符串中有大于号、小于号、回车、换行、&之类的字符等等。另外比如说时间应该以什么格式表示,是用某种UTC时间规范还是本地时间的某种格式等等,这些都应该有设计文档。
------解决方案--------------------
哦,设计文档不是说在开发web service之前要详细设计出每一个功能,而是说要在设计web service之后立刻写一个api文档供所有客户端设计自己的通讯部分。你应该去问问给你提供web service服务的那个部门(或者公司),有没有正规的文档。

仅仅是wsdl是远远不够的,wsdl只能保证传输正确,但是不能解释字段的业务意义,所以还是以跟他们沟通为主。
  相关解决方案