Ошибка Angularjs $ http для геосервера - PullRequest
0 голосов
/ 22 октября 2018

Мне нужно сделать запрос POST, чтобы получить некоторые функции из слоя на геосервере.Я попробовал запрос в postman, который работает нормально, но он не будет работать, когда я использую angularjs $http для выполнения запроса.

Есть идеи, как это исправить?или в чем разница между $ http и angular's angular, могу ли я изменить некоторые настройки, чтобы этот код работал?

Мой код запроса выглядит так:

var formData = new FormData();
formData.append('service', 'WFS');
formData.append('version', '1.0.0');
formData.append('request', 'GetFeature');
formData.append('typeName', 'someLayer');
formData.append('CQL_FILTER', 'someFilter');
formData.append('outputFormat', 'CSV');
    return $http({
        method: 'POST',
        url: 'someurl',
        transformRequest: angular.identity,
        headers: {
            'Content-Type': undefined,
        },
        data: formData
    }); 

И мой ответ выглядит такэто:

<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/ows http://192.168.0.129:8081/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd">
  <ows:Exception exceptionCode="NoApplicableCode">
    <ows:ExceptionText>java.lang.ClassCastException: org.apache.commons.fileupload.disk.DiskFileItem cannot be cast to [Ljava.lang.String;
org.apache.commons.fileupload.disk.DiskFileItem cannot be cast to [Ljava.lang.String;</ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>

Я использую angularjs 1.4.2

...