在vb.net中使用SOAP响应

时间:2012-11-08 18:55:44

标签: .net vb.net soap

我在从soap响应中获取数据时遇到问题。请求工作正常,但我无法获取数据。 这是肥皂反应(来自soapui):

    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Header/>
       <SOAP:Body>
      <createOrderResponse>
         <SAP_ORDER_NR/>
         <ORDER_STATUS>E</ORDER_STATUS>
         <TOTAL_GOODS_VALUE>0</TOTAL_GOODS_VALUE>
         <TOTAL_FREIGHT_VALUE>0</TOTAL_FREIGHT_VALUE>
         <TOTAL_VAT_VALUE>0</TOTAL_VAT_VALUE>
         <CASH_DISCOUNT>0</CASH_DISCOUNT>
         <ERROR_DESCR>multiple issues found</ERROR_DESCR>
         <MIN_ORDER_VALUE/>
         <ORDER_SCHEDULES_OUT/>
         <RETURN>
            <item>
               <TYPE>E</TYPE>
               <ID>VP</ID>
               <NUMBER>200</NUMBER>
               <MESSAGE></MESSAGE>
               <MESSAGE_V1></MESSAGE_V1>
            </item>
            <item>
               <TYPE>E</TYPE>
               <ID>V4</ID>
               <NUMBER></NUMBER>
               <MESSAGE></MESSAGE>
               <MESSAGE_V1/>
            </item>
         </RETURN>
      </createOrderResponse>
   </SOAP:Body>
</SOAP:Envelope>

我需要例如SAP_ORDER_NR值。 alreay尝试过:

Convert.ToString(Response_1Run.SAP_ORDER_NR)
Response_1Run.SAP_ORDER_NR.tostring()

他们都将“System.Object”作为字符串。

更新:截图

enter image description here

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用(甚至可以访问)Response_1Run.SAP_ORDER_NR.Value?我不确定这个字段是如何序列化的我可以回想一下.NET中的一些实例(我相信的值类型),其中实际数据点存储在一个单独的属性中(而不是直接在字段上访问)。如果是这种情况,您还会有一个相关字段(类似于Response_1Run.SAP_ORDER_NR.IsNull),以便您可以检查上面示例中的节点为空的实例。