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

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

热度:351   发布时间:2012-02-25 10:01:48.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只能保证传输正确,但是不能解释字段的业务意义,所以还是以跟他们沟通为主。
  相关解决方案