ASP.NET Web API 2 - 接收POST但没有数据

时间:2014-11-30 19:04:39

标签: wcf asp.net-web-api

我试图将基于WCF的REST服务器转换为ASP.NET Web API2。现有的基于WCF的是:

public Message ProcessReportRequest(Stream inputStream) {
...
}

客户端发送一个byte [](下面是Java代码),客户端无法在使用时进行更改:

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setChunkedStreamingMode(0);
urlConnection.setRequestProperty("Content-Type", "text/plain");
urlConnection.setRequestMethod("POST");
OutputStream out = new BufferedOutputStream(urlConnection.getOutputStream());
out.write(encryptedByteData);
out.flush();

我按如下方式设置了控制器:

   public class LicenseController : ApiController
    {
        [Route("about")]
        public JsonResult<About> GetTest()
        {
            return Json(new About());
        }

        [Route("LicenseService.svc/v1/device")]
        public byte[] PostVer1Device(byte[] request)
        {
            Trap.trap();
            return request;
        }
}

如果我到了localhost \ about,JSON会很好地回复,fiddler会显示请求并返回。

当我调用Java代码发布到localhost / LicenseService.svc / v1 / device时,它会调用该方法。但无论我设置为参数(byte [],object,string,Stream),request的值都为null。此外,Fiddler没有显示任何内容,尽管这可能是因为它在显示正在发生的事情之前等待返回。

无论我返回什么,从响应中读回的流都显示0个字节。

如何将数据发布给我?我如何发回数据?

谢谢 - 戴夫

0 个答案:

没有答案