将自定义对象从VB6传递到Web-APi并获取返回的xml消息

时间:2017-01-10 12:46:21

标签: c# http post asp.net-web-api vb6

我在将自定义对象从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);
        }

    }

对此有任何帮助或建议将不胜感激。

0 个答案:

没有答案