powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / проблема с WCF сервисом 1С 8.2
6 сообщений из 6, страница 1 из 1
проблема с WCF сервисом 1С 8.2
    #37132546
Kipetcoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается никак довести до ума вызов сервиса WCF. На сколько я понял 1С 8.2 использует WCF сервисы для внешней интеграции. Сервис у меня с запросом пароля + я поставил сертификат на веб-приложение этого сервиса. Я могу зайти в описание этого сервиса...приняв сертификат и введя логин и пароль. Теперь самая мутня начинается.. Хочу вызвать сервис из кода.. Добавил https ссылку на сервис, запросило соглашение на сертификат и пароль, сформировало прокси класс и кучу всякой конфиг херни.. Вот кусок самой важной конфиг фигни, которые я уже немного доработал прочитав про WCF...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<binding name="PayrollReportsSoapBinding1" closeTimeout="00:01:00"
     openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
     allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
     maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
     messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
     useDefaultWebProxy="true">
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
      maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     <security mode="TransportWithMessageCredential">      
      <message clientCredentialType="UserName" />
     </security>
    </binding>
Теперь код самого вызова сервиса..

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
LemLocal.PayrollReportsPortTypeClient servClass = new LemLocal.PayrollReportsPortTypeClient("PayrollReportsSoap1");

            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(IgnoreCertificateErrorHandler);

            servClass.ClientCredentials.UserName.UserName = "Andrey";
            servClass.ClientCredentials.UserName.Password = "";

            string sXml = servClass.GetPersonOrganizations(sPersId);

.
.
.
public static bool IgnoreCertificateErrorHandler(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
    {
        return true;
    }

На мое обращение к сервису мне ругается..

Запрос HTTP не разрешен для схемы проверки подлинности клиента "Anonymous". От сервера получен заголовок проверки подлинности "Basic realm="1C:Enterprise 8.2"".

Мне не понятно почему HTTP а не HTTPS и не понятно какое ещё заклинание я не произнес.

Зачем IgnoreCertificateErrorHandler? У меня сертификат самодельный с сервера и без этого метода ругается

"Не удалось установить доверительные отношения для защищенного канала SSL/TLS с полномочиями "192.168.1.10"."
Кто-нибудь может помочь?
...
Рейтинг: 0 / 0
проблема с WCF сервисом 1С 8.2
    #37133150
Kipetcoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОК, а что за ерунда customBinding? Я попытался её использовать..


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<binding name="PayrollReportsSoap12Binding">
     <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
      messageVersion="Soap12" writeEncoding="utf-8">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
       maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     </textMessageEncoding>
     <httpTransport manualAddressing="false" maxBufferPoolSize="524288"
      maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Basic"
      bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
      keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Basic"
      realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
      useDefaultWebProxy="true">
      <extendedProtectionPolicy policyEnforcement="Never" />
     </httpTransport>
    </binding>

Тут даже результат возвращается.. только вместе с ошибкой)))

Тип содержимого text/xml; charset=utf-8 ответного сообщения не соответствует типу содержимого привязки

что сэтим можно сделать?
...
Рейтинг: 0 / 0
проблема с WCF сервисом 1С 8.2
    #37632607
btrvodka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kipetcoff, расскажи, как поборол эти проблемы? А то у меня та-же херня.
...
Рейтинг: 0 / 0
проблема с WCF сервисом 1С 8.2
    #37632636
rpuLLIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется, что проблема кроется в том что в роли пользователя, под которым вызывают сервис нужно в 1с дать права на выполнение операции этого сервиса.
...
Рейтинг: 0 / 0
проблема с WCF сервисом 1С 8.2
    #37973544
unah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл решение, как настроить customBinding для работы с 1C:Enterprise 8.2
Нужно понизить версию SOAP до 1.1

<binding ... >
<textMessageEncoding messageVersion="Soap11" ... />
</binding>
...
Рейтинг: 0 / 0
проблема с WCF сервисом 1С 8.2
    #38222541
mast3rz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kipetcoff "Не удалось установить доверительные отношения для защищенного канала SSL/TLS с полномочиями "192.168.1.10"."
Кто-нибудь может помочь?

тема была открыта давно, а проблема осталась - у меня тоже самое было.
помогло использование SelfCert от Pluralsight для создания самоподписанного сертификата.
+ httpconfig для установки сертификата на порт сервиса во вкладке SSL

IgnoreCertificateErrorHandler действительно помогает - без него не ругается, т.к. тогда доверяется всем серверным сертификатам и игнорируются все ошибки валидации сертификатов.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / проблема с WCF сервисом 1С 8.2
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]