将自定义对象作为参数传递给asp.net Web服务的web方法

时间:2010-05-11 06:07:23

标签: asp.net service

我有一个声明如下的自定义类(在vb.net中)

<Serializable()>
Public Class NumInfo 
    Public n As String     
    Public f As Integer     
    Public fc As char()     
    Public t As Integer     
    Public tc As char()     
    Private validFlag As Boolean = True    

    Public Sub New()    
    End Sub 
    'I also have public properties(read/write) for all the public variables

End Class

在我的service.asmx代码隐藏类中,我有一个webmethod如下:

    

  Public Function ConvertTo(ByVal info As NumInfo) As String        
      Return mbc(info)<br>'mbc is another function defined in my service.asmx "service" class
  End Function

问题是,当我开始调试它来测试它时,我得到的页面不包含任何我可以输入numInfo公共字段值的字段。如何初始化类?也没有“调用”按钮。我所看到的只是肥皂细节如下:

  

ConvertTo
测试
只有测试表格   可用于具有原始的方法   类型作为参数。
SOAP 1.1
  以下是SOAP 1.1请求示例   和回应。占位符   显示需要用实际替换   值。
POST /Converter/BC.asmx   
HTTP / 1.1
主机:    localhost
内容类型: text / xml;   字符集= UTF-8
的Content-Length:   的长度
的SOAPAction:   的http://Services/ConvertTo

&LT;?xml的   版本= “1.0”   编码= “UTF-8” &GT;
  &LT;皂:信封   的xmlns:的xsi = “http://www.w3.org/2001/XMLSchema-instance”   
的xmlns:XSD = “http://www.w3.org/2001/XMLSchema”   
的xmlns:SOAP = “http://schemas.xmlsoap.org/soap/envelope/” &GT;
  &LT;肥皂:车身&GT;
      &lt; ConvertTo xmlns =“http://服务/”&gt;
        &LT;信息&gt;
          &LT; N&GT;串LT; / N&GT;
          &LT f是氟烃基; INT&安培; LT / f是氟烃基;
          &LT; FC&GT;
            &LT;炭&GT;炭&LT; /焦炭&GT;
            &LT;炭&GT;炭&GT; /焦炭&GT;
          &LT; / FC&GT;
..等..



        我究竟做错了什么? 对于记录,我尝试用字符串替换char()以查看是否是导致问题的数组,但这对无效。我对Web服务很新。我尝试用原始参数替换自定义对象参数,只是为了检查事情是如何工作的,它渲染了一个带有输入字段和调用按钮的页面。我似乎无法使用自定义对象。救命!

1 个答案:

答案 0 :(得分:2)

正如消息所示“测试表仅适用于具有基本类型作为参数的方法。”意思是字符串,bool,int等。

我发现设置一个测试页面非常简单,我可以在其中定义我的对象并将其传递给Web方法以进行调试。