500 ошибка обращения к веб сервису. System.ServiceModel.ServiceActivationException

Добрый день всем.

При попытке обращения к сервису через Js возникает 500 ошибка.

Пример объявления метода Сервиса:

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "Upload", BodyStyle = WebMessageBodyStyle.Wrapped,
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
   public string Upload(Stream fileContent, string fileName, string fileDestination) {

 

Пример вызова из Js:

var file = files[0];
    var reader = new FileReader();
    reader.readAsBinaryString(file);
    reader.addEventListener("load",
         function(item) {
	 var data = {
       	      fileContent: item.target.result,
	      fileName: file.name,
	      fileDestination: destinationPath
	 };
	 ServiceHelper.callService("KmFileUploadService",
	      "Upload",
     	      function(response) {
	           this.console.log(response);
	      },
	      data,
	      this
	 );
	 }.bind(this),
    false);

Кто знает, в чём конкретно может быть проблема? При попытках вызова сервиса (когда у метода всего 1 параметр) не возникает никаких проблем.

Подглядывал по исходникам, везде одно и тоже, т.е. якобы не должно было возникнуть проблем.

Нравится

3 комментария

Максим Шевченко пишет:

https://stackoverflow.com/questions/7999634/parsing-a-stream-and-a-para

 Хм, повторюсь. Я брал пример с исходников. Если там всё работает исправно то и в моем случае должно отрабатывать как часы. Тип роли не играет. Хоть 3 стринга там указать всё равно будет 500 ошибка.

Кисловский Михаил Андреевич,

ну, вот в данном случае как раз играет, поскольку в итоге получается WCF сервис, который имеет несколько другие нотации... тут Вам либо получать сырой поток данных и потом самому парсить, либо использовать какие-то простые типы данных для передачи в сервис... например, кодировать контент файла в BASE64 и вставлять в качестве параметра как string...

Показать все комментарии