我有一个声明如下的自定义类(在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服务很新。我尝试用原始参数替换自定义对象参数,只是为了检查事情是如何工作的,它渲染了一个带有输入字段和调用按钮的页面。我似乎无法使用自定义对象。救命!
答案 0 :(得分:2)
正如消息所示“测试表仅适用于具有基本类型作为参数的方法。”意思是字符串,bool,int等。
我发现设置一个测试页面非常简单,我可以在其中定义我的对象并将其传递给Web方法以进行调试。