无法创建“ CLRObject”

时间:2018-08-13 12:04:12

标签: rest web-services clr x++ dynamics-ax-2012

我在AX 2012的工作中正在使用其余的Web服务。

我使用UTF-8,当我执行工作时,出现错误: 在行中“无法创建'CLRObject'”

dataStream = response.GetResponseStream();

我的代码是:

  postData = strfmt('My json');

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

url =“我的URL”;

request = System.Net.WebRequest :: Create(url);

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

request.set_Method(“ POST”);

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

byteArray = utf8.GetBytes(postData);

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();

}

catch(Exception :: CLRError)

{

postdata =“”;

}

dataStream = response.GetResponseStream();

streamReader =新的System.IO.StreamReader(dataStream);

returnValue = streamReader.ReadToEnd();

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

我知道Unicode出了点问题,因为当我与上述代码进行相同的测试时,使用另一个URL并发布了另一个Web服务的数据,它为我带来了响应,即全部为“&”字符替换为Unicode“ \ u0026” !!!!!

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

请告知人们,通过向请求添加超时来解决问题。 我认为这可能对某些人有用。

request.set_timeout(100000);