我在将自定义对象从vb6传递到web-api时遇到问题。在调试模式下,我可以看到在Web-Api中调用了正确的Action方法,但该对象始终为null。如果我只是尝试传递一个字符串,它就不会允许它。
a)我可以调用方法(如果没有参数)没问题。 b)我可以调用方法(需要一个对象)但该对象为null。就好像web-api认为没有传递任何内容因此允许我执行该方法。 c)当我调用期望一个带有字符串数据类型的参数的方法时,它返回一个错误。
Web-Api是使用.Net Framework 4.0版构建的
VB6代码
Dim xmlDoc As New MSXML2.DOMDocument60
Dim xmlhttp As New MSXML2.ServerXMLHTTP60
Dim strServer As String
Dim strSend As String
strServer = "http://localhost:59290/api/Service/BscSignoffTaskRequestVB6"
strSend = "<?xml version='1.0' encoding='utf-8'?><sysbus><auth><key>ABC123</key></auth></sysbus>"
xmlhttp.Open "POST", strServer, False
xmlhttp.setRequestHeader "Content-Type", "text/xml"
xmlhttp.Send strSend
WEB-API代码
[HttpPost]
public HttpResponseMessage BscSignoffTaskRequestVB6(string containerObj)
{
try
{
string xml;
xml = "THIS HAS WORKED";
return new HttpResponseMessage()
{
Content = new StringContent(xml, Encoding.UTF8, "application/xml")
};
}
catch (Exception ex)
{
var debug = ex;
return Request.CreateResponse(HttpStatusCode.InternalServerError, ex);
}
}
对此有任何帮助或建议将不胜感激。