Wsdl ошибка 500

Веб сервис ошибка 500 ☑ 0

Kamelot

15.01.16

10:24

Доброе утро.

В конфигурации есть три веб сервиса, два старых и один добавлен новый.

Оба старых возвращают описание когда к ним обращаются с параметром wsdl, третий нет — возвращает ошибку 500.

На внешний осмотр ничего отличающего третий веб сервис от первых двух нет, кроме одного параметра со снятой галочкой «возможно пустое значение». влияет ли эта галочка на получение описания веб сервиса.

1

Остап Сулейманович

15.01.16

10:29

(0) Ошибка 500 — внутренняя ошибка сервера. Скорее всего до определения сервиса даже не добирается. Проверять права.

2

Kamelot

15.01.16

10:30

попробовал через soapUI импортировать сервис вот что он мне сказал:

org.apache.xmlbeans.XmlException: java.io.CharConversionException: Malformed UTF-8 character: 0xed 0x3a 0x2

3

aka AMIGO

15.01.16

10:32

(0) (2) Нажал буковку «Я» справа от топика.. Много ответов по вопросу :)

4

Остап Сулейманович

15.01.16

10:36

(2) Права уже проверил? Или так и будешь рассматривать ошибку разными приблудами?

5

Kamelot

15.01.16

10:46

(4) Права полные.

6

Остап Сулейманович

15.01.16

11:04

(5) п л я. У кого? И на какие ресурсы?

7

Остап Сулейманович

15.01.16

11:11

(6)

Для Apache —

«Необходимо дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись, в случае файлового варианта).»

Для IIS

«? дать права на чтение для пользователя, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог bin файлов конкретной версии системы «1C:Предприятие»;

? дать права на модификацию пользователю, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог информационной базы (только в случае файлового варианта).»

Подробно здесь : http://its.1c.ru/db/v837doc#bookmark:adm:TI000000222

8

Fragster

15.01.16

11:13

500 ошибка бывает, например когда модуль вебсервиса не компилируется. И, ЕМНИП, есть баг, когда синтакс контроль в модулях вебсервиса таки не работает.

9

Остап Сулейманович

15.01.16

11:23

(8) ТС пока еще не может получить описание веб-сервиса. А не то что вызвать метод или получить свойство. В смысле до компиляции он еще не добрался.

10

Kamelot

15.01.16

11:26

(6) пользователя 1С, логин и пароль котоорого ввожу в браузере.

(7) два сервиса из трех работют (под тем же пользователем 1С), это точно не настройка веб сервера.

(8) Спасибо, сейчас закоменчу все модуле-проверю

11

Остап Сулейманович

15.01.16

11:30

(10) Веб-сервер (не путать с сервисом) не знает никаких пользователей 1С. Он работает от имени конкретных пользователей ОС. Апач — от имени того, кто его запустил. ИИС — от имени IIS_IUSRS-ов. И вот им и нужны права на каталог платформы. И каталог базы, если она файловая. см.(7).

12

Остап Сулейманович

15.01.16

11:31

+ (11) Рабочие и не работающий Сервисы опубликованы из одной базы 1С?

13

Kamelot

15.01.16

11:38

(10) два сервиса из трех работают, разве может быть что из за отсутвия прав у IIS_IUSRS-ов не работет только один веб сервер в той же конфигурации что и первые два?

(11) да из одной конфигурации.

14

Остап Сулейманович

15.01.16

11:42

(13) Вопрос не про аналогичные конфигурации (или идентичные).

Если восьмерка файловая — из одной ли базы все три опубликованы. Или все же из разных?

15

Kamelot

15.01.16

11:52

(14) см (13), база серверная.

16

Остап Сулейманович

15.01.16

11:58

(15) Сравнивай тогда *.vrd от твоих сервисов.

17

Остап Сулейманович

15.01.16

12:00

+ (16) И конкретно строку

base=

18

Serginio1

15.01.16

12:07

Еще посмотри в web.config

scriptProcessor

19

Kamelot

15.01.16

12:18

(8)с закоменченным модулем wsdl получил, сейчас буду курить что ему там не нравиться

20

Fragster

15.01.16

12:24

всем :-Р

21

Serginio1

15.01.16

12:35

(19) Лучше вынеси всю реализацию в обычный модуль. Так тебе проще тестировать. А в модуле вэб сервиса уже вызывай и можешь использовать попытку исключение с записью в ЖР итд

22

Kamelot

15.01.16

12:51

в меню сервис->параметры->проверка модулей проставил все галочки, выдает синтаксическую ошибку на определение переменных в теле модуля : Перем блаблабла.

сейчас перенесу определения в главную функцию которую сервис вызывает, и посмотрим что будет.

I am very newbie in PHP, i have some API to which i need to send data. I have used the below code to do this.

<?php  
// define variables and set to empty values
$name = $email = $city = $State_Province = $lastname = $ci_Address  ="" ;
$zipcode = $country = $phNumber = $ReasonforInquiry = $Scheduledate= $Comment = "" ;
$name = $_GET['firstname'];
$lastname=$_GET['lastname'];
$email=$_GET['email'];
$ci_Address=$_GET['StreetAddress']+$_GET['AddressLine2'];
$city=$_GET['city'];
$State_Province =$_GET['state'];
$zipcode = $_GET['zip'];
$country=$_GET['country'];
$phNumber=$_GET['ph1']+ "-"+$_GET['ph2']+ "-"+$_GET['ph3'];
$ReasonforInquiry=$_GET['ReasonforInquiry'];
$Scheduledate=$_GET['SD1']+ "-"+$_GET['SD2']+ "-"+$_GET['SD3'];
$Comment=$_GET['Comment'];
/// Create the standard SoapClient by pointing to the service's WSDL file/URL
$client = new SoapClient('https://test.com/test/external/v001/Patients/Patient.svc?wsdl');
/// ********************************************************
/// BEGIN: Sending and Receiving Objects
/// ********************************************************
/// The following displays how to call the service
/// First, create an object that matches the input object type expected.
class Patient
{
public $APIKey = '';
public $FirstName = '';
public $LastName = '';
public $MiddleName = '';
public $PhoneCC = '';
public $PhoneExt = '';
public $PhoneNumber = '';
public $EmailAddress = '';
public $MobileNumber = '';
public $Gender = '';
public $Age = '';
public $ResidingCountry = '';
public $Comments = '';
public $CI_Address = '';
public $CI_State_Province = '';
public $CI_City = '';
public $CI_Zip = '';
public $PTBNICOE_Name = '';
public $PTBNICOE_Address = '';
public $PTBNICOE_PhoneNumber = '';
public $PTBNICOE_Relationship_with_the_patient = '';
public $How_urgent_is_your_need = '';
public $Details_of_the_doctor_who_will_help_you_obtain_treatment_overseas = '';
public $Is_your_treatment_procedure_covered_by_insurance = '';
public $Do_you_have_a_Passport = '';
public $Have_you_ever_travelled_abroad = '';
public $Preferred_destination = '';
public $Preferred_destination_Yes_describe = '';
public $Desired_time_of_travel = '';
public $Number_of_people_accompanying_you = '';
public $Details_of_the_people_accompanying_you = '';
public $How_do_you_intend_to_pay_for_your_treatment = '';
public $Why_are_you_considering_treatment_abroad = '';
public $How_did_you_hear_about_us = '';
}
///Instantiate the parameter object to pass to the service.
$patient = new Patient();
///Set the values on the new object instance.
$patient->APIKey = '*******';
$patient->FirstName =  $name;
$patient->LastName  =  $lastname;
$patient->FirstName =  $email;
$patient->LastName  =  $ci_Address;
$patient->FirstName =  $city;
$patient->LastName  =  $State_Province;
$patient->FirstName =  $zipcode;
$patient->LastName  =  $country;
$patient->FirstName =  $phNumber;
$patient->LastName  =  $ReasonforInquiry;
$patient->Comments = $Comment;
//.//.//.
//$patient->How_did_you_hear_about_us = 'hear ';
/// Now, we create a variable array, named the same as the web method's parameter name.
/// This creates the proper parameter input for the web method call.
$patientParam = array('patientDC'=>$patient);
/// Call the web service and pass it the param array created above.
$PatientSaveResult = $client->Save($patientParam);
/// Get the result of the call.
$result = $PatientSaveResult->SaveResult;
/// Testing
if($result->IsSuccess)
echo('true');
else
echo($result->Error);
/// ********************************************************
/// END: Sending and Receiving Objects
/// 
?>

above code is working fine on my local system, but when i moved my changes to Staging server. it stops working. i debugged the code and found it is throwing 500 internal error due to below line of code:

$client = new SoapClient('https://test.com/test/external/v001/Patients/Patient.svc?wsdl');

I am not getting, how to fix it. is it server issue or i can fix it by code. please help me. please guide me how i can resolve this.

asked Nov 7, 2015 at 7:47

Ram Singh's user avatar

Ram SinghRam Singh

6,66435 gold badges102 silver badges166 bronze badges

4

Confirm that the URL https://test.com/test/external/v001/Patients/Patient.svc?wsdl points to a valid WSDL. It may be that your local development station routes this request to a valid WSDL where your Staging server doesn’t. For instance, your local hosts file or DNS entry may route test.com requests to a local server rigged for development purposes.

answered Nov 22, 2015 at 21:36

Gralgrathor's user avatar

Мы описывали как настраивать веб-публикацию на IIS в инструкции.

Но после настройки веб-публикации при подключении к базе может возникать ошибка “Ошибка HTTP 500.0 — Internal Server Error”.

Если модуль был установлен с 32-битного клиента, то требуется это указать в пуле приложений. Для этого мы делаем следующую настройку:

  • Заходим в Панель управления → Администрирование → Диспетчер служб IIS.
  • Выбираем Пулы приложения которые задействованы в веб-публикации, в нашем случае DefaultAppPool.
  • Нажимаем ПКМ Дополнительные параметры.
  • В строке Разрешены 32-разрядные приложения мы указываем True как на Рисунке 1.
  • Нажимаем ОК.

главная страница

Рисунок 1 — Дополнительные параметры пула приложений

Если не сработало, есть следующие возможные решения:

  1. Убедитесь, что разрешения NTFS для файла web.config верны и обеспечивают доступ к учетной записи компьютера веб-сервера. Заходим в директорию, где размещена публикация (по умолчанию — C:inetpubwwwrootИМЯ_БАЗЫ). Нажимаем ПКМ на web.config → Свойства → Безопасность. Убедитесь в том, что у группы IIS_USERS есть права на чтение, выполнение, запись и изменение файла. Если нет — нажмите кнопку Изменить, в появившемся окне Добавить → Дополнительно и найдите в списке IIS_USERS. Добавьте эту группу и назначьте соответствующие права.
  2. Проверьте журналы событий, чтобы посмотреть, была ли зафиксирована какая-либо дополнительная информация. Открываем Выполнить (ПКМ на кнопку меню пуск или сочетанием клавиш Win+R), вводим “eventvwr.msc”, нажимаем Enter. Возможно, журнал даст подсказку какой компонент может сбоить.
  3. Переустановите компонент IIS на сервере. В диспетчере серверов удалите роль Веб-сервера IIS, перезагрузите сервер, а затем установите заново через оснастку Добавить роли и компоненты.
  4. Установите компонент расширения .NET, если запрос сопоставлен управляемому обработчику.

В Windows Server 2012 и младше: заходим в Диспетчер серверов → Добавить роли и компоненты → Роли сервера → Веб-сервер (IIS) → Веб-сервер → Разработка приложений → Расширяемость .NET. Далее идём далее по указаниям системы.

После применения настроек, мы можем подключаться к настроенной веб-публикации без ошибок.

Нужна готовая настройка веб-доступа к 1С? Попробуйте наш сервер 1С в аренду, в услугу включены все настройки и обслуживание.

Проблема

Эта ошибка возникает после того как Вы опубликуете информационную базу на IIS. Вот она:

500 Error IIS

Причина и устранение ошибки

Вообще, надо понимать, что ошибка: Ошибка HTTP 500.0 — Internal Server Error говорит нам о том, что дело в самом web-сервере, а не в 1С. Это первое.
Второе. Сама ошибка в купе с 1С скорее всего означает, что Internet Information Services (оно же IIS) в 64-разрядной среде запрещен запуск 32-разрядных приложений. Чтобы успешно выполнить публикацию баз 1С на сервере IIS, необходимо в настройках диспетчера служб IIS разрешить запуск таких приложений.

Для этого выполните Win+R > inetmgr.exe. Далее, разверните «Локальный компьютер», в нем «Пулы приложений», щелкните правой кнопкой мыши по DefaultAppPool «Дополнительные параметры».

Разрешены 32-разрядные приложения

Изменив эту настройку и нажав «ОК» 1С начнет нормально работать.

Изображение автора статьи

Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки

Мы описывали как настраивать веб-публикацию на IIS в инструкции.

Но после настройки веб-публикации при подключении к базе может возникать ошибка “Ошибка HTTP 500.0 — Internal Server Error”.

Если модуль был установлен с 32-битного клиента, то требуется это указать в пуле приложений. Для этого мы делаем следующую настройку:

  • Заходим в Панель управления → Администрирование → Диспетчер служб IIS.
  • Выбираем Пулы приложения которые задействованы в веб-публикации, в нашем случае DefaultAppPool.
  • Нажимаем ПКМ Дополнительные параметры.
  • В строке Разрешены 32-разрядные приложения мы указываем True как на Рисунке 1.
  • Нажимаем ОК.

главная страница

Рисунок 1 — Дополнительные параметры пула приложений

Если не сработало, есть следующие возможные решения:

  1. Убедитесь, что разрешения NTFS для файла web.config верны и обеспечивают доступ к учетной записи компьютера веб-сервера. Заходим в директорию, где размещена публикация (по умолчанию — C:inetpubwwwrootИМЯ_БАЗЫ). Нажимаем ПКМ на web.config → Свойства → Безопасность. Убедитесь в том, что у группы IIS_USERS есть права на чтение, выполнение, запись и изменение файла. Если нет — нажмите кнопку Изменить, в появившемся окне Добавить → Дополнительно и найдите в списке IIS_USERS. Добавьте эту группу и назначьте соответствующие права.
  2. Проверьте журналы событий, чтобы посмотреть, была ли зафиксирована какая-либо дополнительная информация. Открываем Выполнить (ПКМ на кнопку меню пуск или сочетанием клавиш Win+R), вводим “eventvwr.msc”, нажимаем Enter. Возможно, журнал даст подсказку какой компонент может сбоить.
  3. Переустановите компонент IIS на сервере. В диспетчере серверов удалите роль Веб-сервера IIS, перезагрузите сервер, а затем установите заново через оснастку Добавить роли и компоненты.
  4. Установите компонент расширения .NET, если запрос сопоставлен управляемому обработчику.

В Windows Server 2012 и младше: заходим в Диспетчер серверов → Добавить роли и компоненты → Роли сервера → Веб-сервер (IIS) → Веб-сервер → Разработка приложений → Расширяемость .NET. Далее идём далее по указаниям системы.

После применения настроек, мы можем подключаться к настроенной веб-публикации без ошибок.

Нужна готовая настройка веб-доступа к 1С? Попробуйте наш сервер 1С в аренду, в услугу включены все настройки и обслуживание.

Проблема

Эта ошибка возникает после того как Вы опубликуете информационную базу на IIS. Вот она:

500 Error IIS

Причина и устранение ошибки

Вообще, надо понимать, что ошибка: Ошибка HTTP 500.0 — Internal Server Error говорит нам о том, что дело в самом web-сервере, а не в 1С. Это первое.
Второе. Сама ошибка в купе с 1С скорее всего означает, что Internet Information Services (оно же IIS) в 64-разрядной среде запрещен запуск 32-разрядных приложений. Чтобы успешно выполнить публикацию баз 1С на сервере IIS, необходимо в настройках диспетчера служб IIS разрешить запуск таких приложений.

Для этого выполните Win+R > inetmgr.exe. Далее, разверните «Локальный компьютер», в нем «Пулы приложений», щелкните правой кнопкой мыши по DefaultAppPool «Дополнительные параметры».

Разрешены 32-разрядные приложения

Изменив эту настройку и нажав «ОК» 1С начнет нормально работать.

Фото автора записи

Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки

Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.

Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.

Ошибка 405

При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.

При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».

Ошибка 500

Ошибка 405

Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.

Расследование ошибок 405 и 500 в HTTP сервисе 1С

Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.

Ошибка 405

Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.

Ошибка 405

На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.

Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.

В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.

P.S. В последней версии платформы ошибка 405 перестала выходить.

Обновление 12.01.2019

В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.

Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.

В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.

Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.

Kamelot

15.01.16 — 10:24

Доброе утро.

В конфигурации есть три веб сервиса, два старых и один добавлен новый.

Оба старых возвращают описание когда к ним обращаются с параметром wsdl, третий нет — возвращает ошибку 500.

На внешний осмотр ничего отличающего третий веб сервис от первых двух нет, кроме одного параметра со снятой галочкой «возможно пустое значение». влияет ли эта галочка на получение описания веб сервиса.

Остап Сулейманович

1 — 15.01.16 — 10:29

(0) Ошибка 500 — внутренняя ошибка сервера. Скорее всего до определения сервиса даже не добирается. Проверять права.

Kamelot

2 — 15.01.16 — 10:30

попробовал через soapUI импортировать сервис вот что он мне сказал:

org.apache.xmlbeans.XmlException: java.io.CharConversionException: Malformed UTF-8 character: 0xed 0x3a 0x2

aka AMIGO

3 — 15.01.16 — 10:32

(0) (2) Нажал буковку «Я» справа от топика.. Много ответов по вопросу

Остап Сулейманович

4 — 15.01.16 — 10:36

(2) Права уже проверил? Или так и будешь рассматривать ошибку разными приблудами?

Kamelot

5 — 15.01.16 — 10:46

(4) Права полные.

Остап Сулейманович

6 — 15.01.16 — 11:04

(5) п л я. У кого? И на какие ресурсы?

Остап Сулейманович

7 — 15.01.16 — 11:11

(6)

Для Apache —

«Необходимо дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись, в случае файлового варианта).»

Для IIS

«? дать права на чтение для пользователя, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог bin файлов конкретной версии системы «1C:Предприятие»;

? дать права на модификацию пользователю, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог информационной базы (только в случае файлового варианта).»

Подробно здесь : http://its.1c.ru/db/v837doc#bookmark:adm:TI000000222

Fragster

8 — 15.01.16 — 11:13

500 ошибка бывает, например когда модуль вебсервиса не компилируется. И, ЕМНИП, есть баг, когда синтакс контроль в модулях вебсервиса таки не работает.

Остап Сулейманович

9 — 15.01.16 — 11:23

(8) ТС пока еще не может получить описание веб-сервиса. А не то что вызвать метод или получить свойство. В смысле до компиляции он еще не добрался.

Kamelot

10 — 15.01.16 — 11:26

(6) пользователя 1С, логин и пароль котоорого ввожу в браузере.

(7) два сервиса из трех работют (под тем же пользователем 1С), это точно не настройка веб сервера.

(8) Спасибо, сейчас закоменчу все модуле-проверю

Остап Сулейманович

11 — 15.01.16 — 11:30

(10) Веб-сервер (не путать с сервисом) не знает никаких пользователей 1С. Он работает от имени конкретных пользователей ОС. Апач — от имени того, кто его запустил. ИИС — от имени IIS_IUSRS-ов. И вот им и нужны права на каталог платформы. И каталог базы, если она файловая. см.(7).

Остап Сулейманович

12 — 15.01.16 — 11:31

+ (11) Рабочие и не работающий Сервисы опубликованы из одной базы 1С?

Kamelot

13 — 15.01.16 — 11:38

(10) два сервиса из трех работают, разве может быть что из за отсутвия прав у IIS_IUSRS-ов не работет только один веб сервер в той же конфигурации что и первые два?

(11) да из одной конфигурации.

Остап Сулейманович

14 — 15.01.16 — 11:42

(13) Вопрос не про аналогичные конфигурации (или идентичные).

Если восьмерка файловая — из одной ли базы все три опубликованы. Или все же из разных?

Kamelot

15 — 15.01.16 — 11:52

(14) см (13), база серверная.

Остап Сулейманович

16 — 15.01.16 — 11:58

(15) Сравнивай тогда *.vrd от твоих сервисов.

Остап Сулейманович

17 — 15.01.16 — 12:00

+ (16) И конкретно строку

base=

Serginio1

18 — 15.01.16 — 12:07

Еще посмотри в web.config

scriptProcessor

Kamelot

19 — 15.01.16 — 12:18

(8)с закоменченным модулем wsdl получил, сейчас буду курить что ему там не нравиться

Fragster

20 — 15.01.16 — 12:24

всем :-Р

Serginio1

21 — 15.01.16 — 12:35

(19) Лучше вынеси всю реализацию в обычный модуль. Так тебе проще тестировать. А в модуле вэб сервиса уже вызывай и можешь использовать попытку исключение с записью в ЖР итд

  

Kamelot

22 — 15.01.16 — 12:51

в меню сервис->параметры->проверка модулей проставил все галочки, выдает синтаксическую ошибку на определение переменных в теле модуля : Перем блаблабла.

сейчас перенесу определения в главную функцию которую сервис вызывает, и посмотрим что будет.

Internet Information Services (IIS) довольно капризный веб — сервер, его настройка сложнее Apache и при его работе чаще возникают проблемы и ошибки, но он позволяет обеспечить хорошую производительность работы программных продуктов на платформе 1С, работающих через веб — клиент. Маленькие организации могут использовать IIS как замена серверу 1С.
В этой статье я постарался собрать все проблемы и решения ошибки:

HTTP Error 500.0 - Internal Server Error
There is a problem with the resource you are looking for, so it cannot be displayed.

Module IsapiModule
Notification ExecuteRequestHandler
Handler 1C Web-service Extension
  • Ошибка HTTP Error 500.0 - Internal Server Error при публикации базы 1С 8 через IIS
    HTTP: Internal Server Error
    Ошибка работы с ресурсом

Проблема 1. 32 –разрядная платформы 1С

Ошибка HTTP Error 500.0 - Internal Server Error при публикации базы 1С 8 через IIS

Если у вас ОС Windows 64 – разрядный, а платформу 1С вы используете 32 битную, я рекомендую поставить 64 и повторно опубликовать базу через конфигуратор, предварительно указав в настройках списка баз вариант запуска информационной базы.
Если вы все же решили использовать 32 битную версию платформы, надо установить настройку «Разрешены 32-разрядные приложения» в значение True в параметрах пула приложений

Проблема 2. Путь к библиотеке wsisapi.dll

Ошибка HTTP Error 500.0 - Internal Server Error при публикации базы 1С 8 через IIS

Бывает так, что указан ошибочной путь к разрядности или версии платформы. Проверьте адрес библиотеки wsisapi.dll в файле C:inetpubwwwroot<Имя вашей публикации>web.config

Проблема 3. Старый компонент Microsoft Visual C++

Установите свежую версию библиотеки Visual C++. Скачать можно официального сайта Microsoft
https://support.microsoft.com/ru-ru/help/2977003.

Проблема 4. Использование разных версий платформ в опубликованных базах

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

Ошибка HTTP Error 500.0 - Internal Server Error при публикации базы 1С 8 через IIS

Проблема 5. Права доступа к файлам 1С

Ошибка HTTP Error 500.0 - Internal Server Error при публикации базы 1С 8 через IIS

Группы пользователей IUSR и IIS- IUSRS должны иметь доступ к папкам с установленной платформой, а так же к самой информационной базе .

PS

Если вам не помог совет, напишите об этом в комментариях )

Мар
20

При последнем обновлении платформы 1C  и замене 32х битного сервера приложений на 64х битный, столкнулся с проблемой WEB морды: Ошибка HTTP 500.0 — Internal Server Error

Ошибка HTTP 500.0 - Internal Server Error

Ошибка HTTP 500.0 — Internal Server Error

В чём дело то ? Остановил 32х битный сервер, запустил 64х битный сервер приложений и на тебе.

Полез разбираться. Предположительно, проблема кроется в самом IIS. Если подумать логически, то при смене разрядности сервера запускаются 64х битные приложения от самой 1с. Надо IIS разрешить обрабатывать такие DLL.

Куда лезть, что копать ? Для начала проверим стартовую страницу самого IIS — Default Web Site

Default Web Site — работает и это замечательно ) понятно что IIS исправен.

Что отвечает за работу приложений в разных разрядностях на опубликованных сайтах 1с на сервер IIS ?

Да, это DefaultAppPool. Заходим: Пулы приложений, выбираем DefaultAppPool, с правой стороны — дополнительные параметры.

Строка: Разрешены 32-разрядные приложения стоит TRUE (правда), а не правда. Ставим не правду FALSE.

Ок, закрываем, перегружаем IIS. Проверяем публикацию.

ТАДААААМ!!! прекрасно. Наша — Ошибка HTTP 500.0 — Internal Server Error  нас отпустила )

Подводим итоги:

Для запуска опубликованного 1с на IIS при смене разрядности сервера приложений 1с необходимо:

  • Изменить в настройках IIS , Пулы приложений,  DefaultAppPool.
  • Заменить: Разрешены 32-разрядные приложения с TRUE на FALSE.

Всем приятной работы и хорошего настроения.

Дата обновления: 28.06.2022

Ошибка возникает как при попытке отправить приглашение контрагенту, так и при попытке принять его от контрагента. 

Полный текст ошибки:

 Выполнение операции: Получение ЭД.

{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(3262)}: Ошибка при вызове метода контекста (Получить)


   Соединение.Получить(АдресРесурса, ИмяФайлаРезультата, Заголовки);


по причине:


Ошибка при выполнении файловой операции  ‘AcceptContact?id=2AED83AF80B-87F3-4A2C-950D-E7CCE2B6CE34’


по причине:


Ошибка работы с Интернет:  внутренняя ошибка сервера (500). {


«Details»: «Неизвестная ошибка»,


«AdditionalData»: «Неизвестная ошибка»,


«ApiErrorCode»: 0,


«CommonDescription»: «Неизвестная ошибка сервиса. Попробуйте позже или обратитесь в службу поддержки»,


«StatusCode»: 500


}


по причине:


Ошибка работы с Интернет:  внутренняя ошибка сервера (500) 

Для решения проблемы необходимо:
1. В разделе «Настройки ЭДО» пометить настройку на удаление.
2. Зайти в Профиль настроек ЭДО (для 1С 8.3 Администрирование — Обмен электронными документами — Обмен с контрагентами — Профили настроек ЭДО — открыть «Профиль» — Ещё — Начальная дата запроса данных у оператора; для 1С 8.2 Сервис — Обмен электронными документами — Профили настроек ЭДО — открыть «Профиль» — Все действия — Начальная дата запроса данных у оператора) и очистить поле для даты запроса данных по приглашениям, см. Рис 1.


Рис. 1

3. Вернуться в раздел «Настройки ЭДО» и нажать на кнопку «Обновить статусы подключения» — статус подключения настройки изменится на «Присоединен».

  

Kamelot

15.01.16 — 10:24

Доброе утро.

В конфигурации есть три веб сервиса, два старых и один добавлен новый.

Оба старых возвращают описание когда к ним обращаются с параметром wsdl, третий нет — возвращает ошибку 500.

На внешний осмотр ничего отличающего третий веб сервис от первых двух нет, кроме одного параметра со снятой галочкой «возможно пустое значение». влияет ли эта галочка на получение описания веб сервиса.

  

Остап Сулейманович

1 — 15.01.16 — 10:29

(0) Ошибка 500 — внутренняя ошибка сервера. Скорее всего до определения сервиса даже не добирается. Проверять права.

  

Kamelot

2 — 15.01.16 — 10:30

попробовал через soapUI импортировать сервис вот что он мне сказал:

org.apache.xmlbeans.XmlException: java.io.CharConversionException: Malformed UTF-8 character: 0xed 0x3a 0x2

  

aka AMIGO

3 — 15.01.16 — 10:32

(0) (2) Нажал буковку «Я» справа от топика.. Много ответов по вопросу :)

  

Остап Сулейманович

4 — 15.01.16 — 10:36

(2) Права уже проверил? Или так и будешь рассматривать ошибку разными приблудами?

  

Kamelot

5 — 15.01.16 — 10:46

(4) Права полные.

  

Остап Сулейманович

6 — 15.01.16 — 11:04

(5) п л я. У кого? И на какие ресурсы?

  

Остап Сулейманович

7 — 15.01.16 — 11:11

(6)

Для Apache —

«Необходимо дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись, в случае файлового варианта).»

Для IIS

«? дать права на чтение для пользователя, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог bin файлов конкретной версии системы «1C:Предприятие»;

? дать права на модификацию пользователю, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог информационной базы (только в случае файлового варианта).»

Подробно здесь : http://its.1c.ru/db/v837doc#bookmark:adm:TI000000222

  

Fragster

8 — 15.01.16 — 11:13

500 ошибка бывает, например когда модуль вебсервиса не компилируется. И, ЕМНИП, есть баг, когда синтакс контроль в модулях вебсервиса таки не работает.

  

Остап Сулейманович

9 — 15.01.16 — 11:23

(8) ТС пока еще не может получить описание веб-сервиса. А не то что вызвать метод или получить свойство. В смысле до компиляции он еще не добрался.

  

Kamelot

10 — 15.01.16 — 11:26

(6) пользователя 1С, логин и пароль котоорого ввожу в браузере.

(7) два сервиса из трех работют (под тем же пользователем 1С), это точно не настройка веб сервера.

(8) Спасибо, сейчас закоменчу все модуле-проверю

  

Остап Сулейманович

11 — 15.01.16 — 11:30

(10) Веб-сервер (не путать с сервисом) не знает никаких пользователей 1С. Он работает от имени конкретных пользователей ОС. Апач — от имени того, кто его запустил. ИИС — от имени IIS_IUSRS-ов. И вот им и нужны права на каталог платформы. И каталог базы, если она файловая. см.(7).

  

Остап Сулейманович

12 — 15.01.16 — 11:31

+ (11) Рабочие и не работающий Сервисы опубликованы из одной базы 1С?

  

Kamelot

13 — 15.01.16 — 11:38

(10) два сервиса из трех работают, разве может быть что из за отсутвия прав у IIS_IUSRS-ов не работет только один веб сервер в той же конфигурации что и первые два?

(11) да из одной конфигурации.

  

Остап Сулейманович

14 — 15.01.16 — 11:42

(13) Вопрос не про аналогичные конфигурации (или идентичные).

Если восьмерка файловая — из одной ли базы все три опубликованы. Или все же из разных?

  

Kamelot

15 — 15.01.16 — 11:52

(14) см (13), база серверная.

  

Остап Сулейманович

16 — 15.01.16 — 11:58

(15) Сравнивай тогда *.vrd от твоих сервисов.

  

Остап Сулейманович

17 — 15.01.16 — 12:00

+ (16) И конкретно строку

base=

  

Serginio1

18 — 15.01.16 — 12:07

Еще посмотри в web.config

scriptProcessor

  

Kamelot

19 — 15.01.16 — 12:18

(8)с закоменченным модулем wsdl получил, сейчас буду курить что ему там не нравиться

  

Fragster

20 — 15.01.16 — 12:24

всем :-Р

  

Serginio1

21 — 15.01.16 — 12:35

(19) Лучше вынеси всю реализацию в обычный модуль. Так тебе проще тестировать. А в модуле вэб сервиса уже вызывай и можешь использовать попытку исключение с записью в ЖР итд

  

Kamelot

22 — 15.01.16 — 12:51

в меню сервис->параметры->проверка модулей проставил все галочки, выдает синтаксическую ошибку на определение переменных в теле модуля : Перем блаблабла.

сейчас перенесу определения в главную функцию которую сервис вызывает, и посмотрим что будет.

Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.

Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.

Ошибка 405

При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.

Ошибка 500

При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».

Ошибка 500

Ошибка 405

Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.

Расследование ошибок 405 и 500 в HTTP сервисе 1С

Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.

Ошибка 405

Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.

Ошибка 405

На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.

Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.

В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.

P.S. В последней версии платформы ошибка 405 перестала выходить.

Обновление 12.01.2019

В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.

Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.

В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.

Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.

In http://msdn2.microsoft.com/en-us/library/h56f6hs6.aspx it is proposed:

1. Create a proxy class for the Web service.

When I call «wsdl http://myserver/Service.asmx» it produces Service.cs in the folder where wsdl was started. What shall I do with this file? I copied it in my Visual Studio 2005 project and compiled the web site and published. Unfortunately the new methods (created by wsdl) are not in the App_Code.dll in the bin folder of the web application!? When I copy Service.cs to the Visual Studio App_Code folder VS warns me that a file with the same name already exists. If I rename and copy it then I get this errors:

Error    1    Partial declarations of ‘Service’ must not specify different base classes    C:\Development\WebServices\BeWebService\App_Code\ProxyService.cs    28    22    C:\…\BeWebService\
Error    2    Type ‘Service’ already defines a member called ‘Service’ with the same parameter types    C:\Development\WebServices\BeWebService\App_Code\Service.cs    10    12    C:\…\BeWebService\
Error    3    Type ‘Service’ already defines a member called ‘HelloWorld’ with the same parameter types    C:\Development\WebServices\BeWebService\App_Code\Service.cs    17    19    C:\…\BeWebService\
Error    4    Type ‘Service’ already defines a member called ‘Hello’ with the same parameter types    C:\Development\WebServices\BeWebService\App_Code\Service.cs    22    19    C:\…\BeWebService\

What to do with this generated class? Do I really need it?

2. Reference the proxy class in the client code.
3. Create an instance of the proxy class in the client code.

How can I do that? I’ve created this simple example (without any wsdl.exe created file and it does something but not exactly what I want):

<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
<html xmlns=»http://www.w3.org/1999/xhtml»>

<head>
<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″ />
<title>Untitled 1</title>
<script type=»text/javascript»>
         <!—    
             function doIt(){
             document.forms[0].resultTextArea.value = «doIt()»;
                 var httpRequest = null;
                try{
                    httpRequest = new XMLHttpRequest();
                }
                catch (ms){
                    try{
                        httpRequest = new ActiveXObject(«Msxml2.XMLHTTP»);
                    }
                    catch (nonms){
                        try{
                            httpRequest = new ActiveXObject(«Microsoft.XMLHTTP»);
                        }
                        catch (failed){
                            httpRequest = null;
                        }
                    }  
                }
                if (httpRequest == null)
                      alert(«Error creating request object!»);

                  // this «works» (returns the html page)
                  httpRequest.open(«GET», ‘http://sepdev:999/Service.asmx’, true);
                  
                  // this fails with «Error: 500»
                  // I just want to get the return value of the webservice function HelloWorld
                 // httpRequest.open(«GET», ‘http://sepdev:999/Service.asmx/HelloWorld’, true);

                // callback function after request
                httpRequest.onreadystatechange = function(){            
                    switch(httpRequest.readyState) {
                            case 4:
                            if(httpRequest.status!=200) {
                                alert(«Error: » + httpRequest.status);
                            }else{    
                                alert(httpRequest.responseText);
                                document.forms[0].resultTextArea.value = httpRequest.responseText;
                            }
                            break;
                              default:
                                return false;
                            break;     
                        }
                    };
 
                  httpRequest.setRequestHeader(«Content-Type», «application/x-www-form-urlencoded»);
                httpRequest.send(null);
            }
         //—>
        </script>
</head>

<body>

<form>
    <input type=»button» onclick=»doIt();» value=»do it!» />
    <textarea name=»resultTextArea»></textarea>
</form>

</body>

</html>

К сожалению, похоже, что бы вы ни пытались (например, передать array('exceptions' => 0), SoapClient() будет вызывать неуправляемый E_ERROR при проблемах с сетевым подключением. Эта ошибка по-прежнему присутствует как высоко, как PHP 5.5.4 (REF).

Резюме:

Тестовый скрипт:

$client=@new SoapClient('garbage',array('exceptions'=>FALSE));
echo 'OK';

Ожидаемый результат: мы должны увидеть «ОК»,

Фактический результат:

Если мы используем error_get_last() register_shutdown_function для отображения содержимого error_get_last(), получаем:

Array
(
    [type] => 1
    [message] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'garbage' : failed 
to load external entity "garbage"
)

Чтобы объяснить, почему вы вдруг получаете эту ошибку, не меняя ничего в своей системе, и объясните, почему SoapClient работает на вашем локальном компьютере, а не на вашей производственной системе, это, скорее всего, проблема с брандмауэром.

Вот что сообщил другой человек, который решил свою проблему:

Я решил свою проблему. Это была проблема с моим брандмауэром. Брандмауэр удалял пакеты, отправленные через PHP, но с помощью curl или wget не удалялись. Я добавил правило для всего трафика с этого сервера и увеличил длину пакета, и теперь все работает отлично!

Совет:

Мой лучший совет на этот раз написать код в том же PHP файле, который проверяет, правильно ли разрешает и загружает URL-адрес службы SOAP перед вызовом SoapClient.

Понравилась статья? Поделить с друзьями:
  • Wsd принтер ошибка
  • Wscript exe ошибка
  • Xbox 360 ошибка 0030
  • Xbox 360 ошибка 0010
  • Wscapi dll ошибка