'CLRObject' 无法创建

'CLRObject' could not be created

我在 AX 2012 的作业中使用了一个休息网络服务。

我使用 UTF-8,当我 运行 我的工作时,我收到错误: “'CLRObject' 无法创建”行:

dataStream = response.GetResponseStream();

我的代码是:

  postData = strfmt('My json');

new InteropPermission(InteropKind::ClrInterop).assert();

url = "my URL";

请求=System.Net.WebRequest::创建(url);

System.Net.ServicePointManager::set_Expect100Continue(假);

request.set_Method("POST");

utf8 = System.Text.Encoding::get_UTF8();

byteArray = utf8.GetBytes(post数据);

request.set_ContentType("application/JSON");

request.set_ContentLength(byteArray.get_Length());

dataStream = request.GetRequestStream();

dataStream.Write(byteArray, 0, byteArray.get_Length());

dataStream.Close(); 尝试

{

   response = request.GetResponse();

}

捕获(异常::CLRError)

{

post数据 = "";

}

dataStream = response.GetResponseStream();

streamReader = new System.IO.StreamReader(dataStream);

returnValue = streamReader.ReadToEnd();

请注意,对于相同的 URL 和 post 数据 (JSON),我可以在 Postman() 中获得正确的数据,但我在 AX 中遇到了问题。

我知道我的 Unicode 有问题,因为当我测试与上面相同的代码时,使用另一个 Web 服务的另一个 URL 和 post 数据,它会产生响应对我来说,其中所有“&”字符都替换为 Unicode“\u0026”!!!!!

你能帮帮我吗?

伙计们请注意,通过向请求添加超时来解决问题。 我认为它可能对某些人有用。

request.set_timeout(100000);