На самом деле сейчас крайне опечален.
Пишу в данный момент работаю с IFD 2015 версия.
Пытаюсь воспользоваться Вашей a33ik
библиотекой , но не могу вызвать экшен из JS. Request сгенерировал используя SoapLoggerOrganizationService.
Вот пример кода
X++:
<!doctype html>
<html ng-app="purchaseApp">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
</head>
<body ng-controller="purchaseController">
<div class="page-header">
<h1>Test Action </h1>
</div>
<div class="panel">
<div class="form-inline">
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-8">
<button class="btn btn-default" id="crmAction">Execute action</button>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js"></script>
<script src="/WebResources/new_CustomActionExecutor.js"></script>
<script>
document.getElementById("crmAction").addEventListener("click", executeAction);
function executeAction() {
debugger;
var parameters = "test";
CustomActionExecutor.Execute(
{
requestXml: getRequestXml(parameters),
async: true,
successCallback: function(result){
},
errorCallback: function (e) {
}
});
}
function getRequestXml(parameters) {
var requestXml = '';
requestXml += "</s:Envelope><s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>";
requestXml += "<s:Body>";
requestXml += "<Execute xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>";
requestXml += "<request xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts'>";
requestXml += "<a:Parameters xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'>";
requestXml += "<a:KeyValuePairOfstringanyType>";
requestXml += "<b:key>JsonParameters</b:key>";
requestXml += "<b:value i:type='c:string' xmlns:c='http://www.w3.org/2001/XMLSchema'>" + parameters + "</b:value>";
requestXml += "</a:KeyValuePairOfstringanyType>";
requestXml += "</a:Parameters>";
requestXml += "<a:RequestId i:nil='true' />";
requestXml += "<a:RequestName>new_GetJsonDataToReport</a:RequestName>";
requestXml += "</request>";
requestXml += "</Execute>";
requestXml += "</s:Body>";
requestXml += "</s:Envelope>";
return requestXml;
}
</script>
</body>
</html>
Сервер шле мне в ответ 500 (Internal sever error)
Если вызывать из console app, то все норм
X++:
OrganizationRequest r = new OrganizationRequest("new_GetJsonDataToReport");
r["JsonParameters"] = JsonHelper.JsonSerializer<JsonReportDate>(PrepareJsonData());
OrganizationResponse response = service.Execute(request);
Где ошибка?(((