'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);
我在 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);