Показать сообщение отдельно
Старый 12.11.2015, 22:08   #13  
Ion is offline
Ion
Участник
 
332 / 16 (1) ++
Регистрация: 19.12.2012
На самом деле сейчас крайне опечален.

Пишу в данный момент работаю с 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);
Где ошибка?(((

Последний раз редактировалось Ion; 12.11.2015 в 22:11.