我在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” !!!!!
你能帮我吗?
答案 0 :(得分:1)
请告知人们,通过向请求添加超时来解决问题。 我认为这可能对某些人有用。
request.set_timeout(100000);