Содержание
- Контроль IMSI – инструмент борьбы с банковским мошенничеством
- Проблема идентификации
- Решение проблемы
- Использование идентификатора мобильного клиента (IMSI)
- Справка
- Устранение ошибок SOAP на страницах проекта бизнес-портала в Microsoft Dynamics SL
- Проблемы
- Причина
- Решение
Контроль IMSI – инструмент борьбы с банковским мошенничеством
Проблема идентификации
Банку важно знать, что лицо, запрашивающее обслуживание через удаленный терминал, компьютер или смартфон, является его клиентом. Для обеспечения необходимого уровня безопасности банки используют одноразовые пароли (OTP), пересылаемые по открытым GSM-каналам посредством SMS.
Но отправка OTP не обеспечивает 100 % гарантии от несанкционированного доступа. Банки несут убытки от мошенничества, связанного с подменой SIM-карт без ведома владельца. Особенно это актуально в Украине, где около 90 % владельцев предоплаченных SIM-карт не идентифицированы и процедура замены SIM-карт не до конца проработана в плане препятствия мошенничеству.
Решение проблемы
Использование идентификатора мобильного клиента (IMSI)
Обнаружение изменения IMSI в процессе отсылки OTP может говорить о риске несанкционированного доступа к интернет-банку.
Использование специализированной платформы компании VIVEX Ukraine, которая контролирует такое изменение, позволяет существенно снизить вероятность мошенничества. Платформа сочетает в себе высокопроизводительный SMS-центр и систему валидации IMSI при взаимодействии с фрод-машиной банка.
Процедура валидации (проверки) IMSI:
- По SMPP протоколу в сторону банка по каждому OTP высылается актуальное значение IMSI, банк на своей стороне производит сверку с ранее полученным значением.
- Платформа обрабатывает SMS по SMPP-протоколу, самостоятельно следит за «подменой» SIM-карты и не доставляет в сторону абонента OTP-сообщение. В сторону банка высылается специфическая ошибка для принятия решения о риске в рамках согласованного бизнес-процесса.
Справка
International Mobile Subscriber Identity (IMSI) — международный идентификатор мобильного абонента (индивидуальный номер абонента), ассоциированный с каждым пользователем мобильной связи стандарта GSM, UMTS или CDMA. При регистрации в сети аппарат абонента передает IMSI, по которому происходит его идентификация. Во избежание перехвата этот номер посылается через сеть настолько редко (только аутентификация пользователя), насколько это возможно — в тех случаях, когда это возможно, вместо него посылается случайно сгенерированный TMSI.
Источник
Устранение ошибок SOAP на страницах проекта бизнес-портала в Microsoft Dynamics SL
Проблемы
Если вы посещаете на корпоративном портале такие страницы, связанные с проектом, такие как ввод времени, запись расходов, веб-часть Communicator, аналитик проекта и руководитель проекта, вы получаете сообщение об ошибке, которое напоминает один из указанных ниже вариантов.
Сообщение об ошибке 1:
Ошибка: вложение: превышено максимальное число повторных попыток соединения. HRESULT = 0x80004005: Неопределенная ошибка — клиент: произошла непредвиденная ошибка во время обработки этого запроса. HRESULT = 0x80004005: Неопределенная ошибка — клиент: Отправка сообщения SOAP завершилась сбоем или не удается распознать полученный ответ (HRESULT = 0x80004005) HRESULT = 0x80004005: Неуказанная ошибка FaultCode = клиент faultString = вложение: максимально допустимое число повторных попыток подключения истекло.
Дополнительные сведения можно найти в разрешениях 6, 7, 8 и 9.
Сообщение об ошибке 2:
Соединитель: истекло время ожидания подключения. HRESULT = 0x800A1527-Client: в ходе обработки запроса возникла непредвиденная ошибка. HRESULT = 0x800A1527-клиент: не удалось отправить сообщение SOAP или не удается распознать полученный ответ HRESULT = 0x800A1527-клиент: Неуказанная ошибка клиента.
Дополнительные сведения можно найти в разрешениях 6, 7, 8 и 9.
Сообщение об ошибке 3:
Соединитель: неверный сертификат. HRESULT = 0x800A1529-Client: в ходе обработки запроса возникла непредвиденная ошибка. HRESULT = 0x800A1529-клиент: не удалось отправить сообщение SOAP или не удается распознать полученный ответ HRESULT = 0x800A1529-клиент: Неуказанная ошибка клиента. HRESULT=0x800A1529
Ознакомьтесь с разрешениями 6 и 9
Сообщение об ошибке 4:
Соединитель: Неуказанная ошибка HTTP. HRESULT = 0x800A1518-Client: в ходе обработки запроса возникла непредвиденная ошибка. HRESULT = 0x800A1518-клиент: не удалось отправить сообщение SOAP или не удается распознать полученный ответ HRESULT = 0x800A1518-клиент: Неуказанная ошибка клиента. HRESULT=0x800A1518
Дополнительные сведения можно найти в разрешениях 6, 7, 8 и 9.
Сообщение об ошибке 5:
Сбой подключения.: в соединителе не включена совпадающая схема авторизации. HRESULT = 0x80004005: Неопределенная ошибка — клиент: произошла непредвиденная ошибка во время обработки этого запроса. HRESULT = 0x80004005: Неопределенная ошибка — клиент: Отправка сообщения SOAP завершилась сбоем или не удается распознать полученный ответ (HRESULT = 0x80004005) HRESULT = 0x80004005: Неопределенная ошибка
Дополнительные сведения о разрешениях 7 и 9
Сообщение об ошибке 6:
Клиент: не удалось загрузить запрос в SoapReader. HRESULT = 0x80070057: неверный параметр. -Клиент: ошибка «неопределенный клиент». HRESULT = 0x80070057: неверный параметр. FaultCode = Client.
Дополнительные сведения можно найти в разрешениях 6, 7, 8 и 9.
Сообщение об ошибке 7:
Приложению не удается открыть системную базу данных. [DBNETLIB] [ConnectionOpen (соединение ()).] SQL Server не существует или в доступе отказано.Чтобы устранить эту проблему, системный администратор должен запустить pcConfiguration на сервере бизнес-портала.
Дополнительные сведения о разрешениях 5 и 9
Сообщение об ошибке 8:
Произошла ошибка. Ошибка: произошла ошибка при попытке открыть системную базу данных. (pcconnect)
Дополнительные сведения о разрешениях 1, 2, 3, 4 и 9
Сообщение об ошибке 9:
Приложение не может считать сведения о подключении к Соломоновы. Чтобы устранить эту проблему, системный администратор должен запустить pcConfiguration на сервере бизнес-портала.
Дополнительные сведения о разрешениях 1, 2, 3, 4 и 9
Сообщение об ошибке 10:
Не удается подключиться к системной базе данных. Запустите PCConfiguration. Недопустимые имя пользователя и пароль.
Дополнительные сведения о разрешениях 4 и 9
Сообщение об ошибке 11:
Ошибка: Клиент SOAP: при обработке запроса SOAP произошла ошибка. Недопустимый путь к PCService. asmx, указанному в ProjectService. wsdlYour. чтобы устранить эту проблему, запустите системный администратор pcConfiguration-Update на сервере бизнес-портала.
Ознакомьтесь с разрешениями 6 и 9
Причина
Для того чтобы страницы проекта были доступны, службы IIS должны иметь возможность подготовить и отправить запрос протокола SOAP в файл PCService. asmx. Для работы необходимо настроить несколько вещей. Если один или несколько из указанных ниже параметров заданы неправильно, это может привести к ошибкам, перечисленным в разделе «проблема».
Данные для входа в базу данных Microsoft Dynamics SL отсутствуют или неправильно хранятся в реестре.
Приложение Microsoft. Соломоновы. PMA. Security. ImpersonateDLL. dll отсутствует, не зарегистрировано или у пользователей нет разрешений на доступ к файлу.
Учетная запись в пуле приложений не имеет разрешений на доступ к разделу реестра HKEY_LOCAL_MACHINE SOFTWAREMicrosoftBusiness PortalPMASolomon
Файл CAPICOM. dll отсутствует, не зарегистрирован, имеет неверную версию или у пользователей нет разрешений на доступ к файлу.
Сервер, на котором запущены службы IIS и SQL Server, должен поддерживать связь с помощью протокола TCP/IP.
Путь к файлу PCService. ASX в файле ProjectService. WSDL указан неправильно
Путь должен указывать на имя сервера IIS
Путь должен содержать номер порта
Путь должен быть URL-адресом, который не является SSL
При использовании заголовков узлов IIS путь должен разрешаться на соответствующий веб-сайт.
Сайт IIS не использует проверку подлинности Windows (NTLM)
Переменная SessionState в файле Web. config задана неправильно
Обычно сообщение об ошибке не содержит подробной информации о том, какие из предыдущих элементов могут быть неправильными. Поэтому мы рекомендуем попробовать все возможные решения.
Решение
Разрешение 1- Запуск служебной программы PCConfiguration
Откройте файл PCConfiguration. exe на сервере бизнес-портала и дважды щелкните его, чтобы выполнить. Обычно это расположение находится в папке c:Inetpubwwwrootbin или в папке C:InetpubwwwrootwssVirtualDirectories80bin.
Заполните следующие поля:
Имя сервера SQL Server: введите имя сервера SQL Server, на котором размещаются базы данных Microsoft Dynamics SL.
Системная БД — введите имя базы данных системы Microsoft Dynamics SL.
Пользователь SQL: введите имя пользователя SQL, у которого есть доступ к системной базе данных. «SA» или «BusinessPortalUser» — распространенные параметры.
Password (пароль): введите пароль пользователя, введенного в поле пользователя SQL
Нажмите кнопку проверить соединение. Если появляется сообщение об ошибке, проверьте значения на этапе 2. Примечание. Эта кнопка может не выполнить действие из-за ошибки 55474.
Нажмите кнопку обновить реестр. Появится следующее сообщение: «данные успешно записаны в реестр».
Закройте служебную программу и попробуйте еще раз.
Разрешение 2 — проверка файла Microsoft. Соломоновы. PMA. Security. ImpersonateDLL. dll
На сервере бизнес-портала запустите диспетчер информационных служб Интернета (IIS).
Щелкните правой кнопкой мыши веб-сайт бизнес-портала и выберите пункт «Свойства»
На вкладке домашний каталог запишите значение в поле «локальный путь».
На вкладке «домашний каталог» Обратите внимание на значение в поле со списком «Группа приложений».
Нажмите кнопку ОК, чтобы закрыть окно «Свойства».
В диспетчере IIS разверните элемент «пулы приложений». Щелкните правой кнопкой мыши группу приложений, найденную на шаге 4, и выберите пункт «Свойства».
На вкладке «удостоверение» Обратите внимание на пользователя, указанного в качестве удостоверения пула приложений.
Нажмите кнопку ОК, чтобы закрыть окно «Свойства».
Закрытие диспетчера IIS
В проводнике Windows перейдите к каталогу, найденному на шаге 3.
Прокрутите папку bin вниз и найдите файл Microsoft. Соломоновы. PMA. Security. ImpersonateDLL. dll.
Если этот файл отсутствует, может потребоваться переустановка бизнес-портала
Щелкните файл правой кнопкой мыши и выберите пункт Свойства.
На вкладке «безопасность» убедитесь в том, что у пользователя на шаге 7 есть права «чтение» и «чтение & выполнения»
Нажмите кнопку ОК, чтобы закрыть окно «Свойства».
Щелкните файл правой кнопкой мыши и выберите команду «Открыть с помощью. «
Выберите «выбрать программу из списка»
Нажмите кнопку «Обзор. «
Перейдите в папку C:WindowsSystem32 и найдите файл regsvr32. exe и нажмите кнопку «Открыть».
Нажмите кнопку ОК. Появится следующее сообщение: «DllRegisterServer в C:InetpubwwwrootbinMicrosoft.Solomon.Pma.Security.ImpersonateDLL.dll успешно».
Попробуйте еще раз загрузить страницы рабочего портала
Разрешение 3 : Проверка раздела реестра
На сервере бизнес-портала запустите диспетчер информационных служб Интернета (IIS).
Щелкните правой кнопкой мыши веб-сайт бизнес-портала и выберите пункт Свойства.
На вкладке «домашний каталог» Обратите внимание на значение в поле со списком «пул приложений».
Нажмите кнопку ОК, чтобы закрыть диалоговое окно «Свойства» и выйти из диспетчера IIS
Выберите Пуск-> выполнить и введите RegEdt32. В этом случае следует открыть редактор реестра.
Перейдите на HKEY_LOCAL_MACHINE SOFTWAREMicrosoftBusiness PortalPMASolomon
Если этот раздел реестра отсутствует, ознакомьтесь с разделом разрешение 1, чтобы запустить служебную программу PCConfiguration
Щелкните правой кнопкой мыши «Соломоновы» и выберите «разрешения»
Убедитесь в том, что пользователь из этапа 3 имеет разрешения «чтение»
Попробуйте еще раз загрузить страницы рабочего портала
Более подробную информацию вы видите в статье базы знаний 912363 .
Разрешение 4 : Проверка файла CAPICOM. dll
Перейдите в папку C:WindowsSystem32 на сервере бизнес-портала.
Щелкните правой кнопкой мыши элемент CAPICOM. Файл DLL и выберите пункт «Свойства»
Если этот файл отсутствует, возможно, потребуется скопировать файл с другой рабочей станции или переустановить бизнес-портал.
На вкладке Версия убедитесь в том, что в версии файла отображается 2.1.0.1
Если версия файла неверна, возможно, потребуется скопировать файл с другой рабочей станции или переустановить бизнес-портал
На вкладке Безопасность Убедитесь, что в группе доменные службы есть разрешение чтение и чтение & выполнение прав на этот файл. Ознакомьтесь состатьей базы знаний 927618
Нажмите кнопку ОК, чтобы закрыть диалоговое окно «Свойства».
Щелкните файл правой кнопкой мыши и выберите команду «Открыть с помощью. «
Выберите «выбрать программу из списка»
Нажмите кнопку «Обзор. «
Перейдите в папку C:WindowsSystem32 и найдите файл regsvr32. exe и нажмите кнопку Открыть.
Нажмите кнопку ОК. Появится следующее сообщение: «DllRegisterServer в C:WINDOWSsystem32capicom.dll успешно».
Попробуйте еще раз загрузить страницы рабочего портала
Если вы по-прежнему получаете сообщение об ошибке:
Чтобы снова запустить служебную программу PCConfiguration, ознакомьтесь с разрешениями 1.
Перезапустите IIS, нажав Пуск-> выполнить и введите «IISReset».
Попробуйте еще раз загрузить страницы рабочего портала
Более подробную информацию вы видите в статье базы знаний 909144 .
Разрешение 5 – Проверка возможности связи сервера IIS и сервера SQL Server с помощью протокола TCP/IP
Протокол TCP/IP должен быть включен как на сервере SQL Server, так и на сервере IIS, на котором размещаются сайты бизнес-портала.
Сведения о том, как это проверить, можно найти в статье база знаний 954024
Разрешение 6 : Проверьте путь к файлу PCService. ASX в файле ProjectService. WSDL
На сервере бизнес-портала откройте файл ProjectService. WSDL. Обычно это расположение находится в каталоге C:Program FilesMicrosoft DynamicsBusiness PortalApplicationsPMA.
Открытие файла в блокноте
Прокрутите файл вниз и найдите тег, который начинается со слова «
В этом теге должен быть указан URL-адрес для файла PCService. asmx. Он должен выглядеть примерно так: «HTTP:// MachineName: 80/BUSINESSPORTAL/PMA/PCService. asmx» у этого URL-адреса есть несколько конкретных требований. Проверьте и, при необходимости, исправьте указанные ниже элементы.
URL-адрес должен указывать имя компьютера (например, BPSERVER). IP-адреса (например, 192.168.0.10), localhost или Domain Name (например, BP.contoso.com) не будут работать для запросов SOAP.
Чтобы найти имя компьютера, нажмите Пуск-> выполнить и введите CMD.
Введите имя узла и нажмите клавишу ВВОД
Должно быть возвращено имя компьютера. Параметр MachineName в URL-адресе должен соответствовать этому значению.
URL-адрес не должен использовать SSL. URL-адрес должен начинаться с «http://», а не «https://»
Если на вашем веб-сайте настроено использование SSL, ознакомьтесь со статьей база знаний 924723 , в которой вы узнаете, как настроить исключение, разрешающее подключение к файлу PCService. asmx без SSL.
URL-адрес должен быть разрешаемым на сайте BusinessPortal в службах IIS.
Это может быть вызвано тем, что при использовании заголовков узлов для различения нескольких веб-сайтов, запущенных на одном и том же сервере.
Более подробную информацию вы видите в статье базы знаний 2005711 .
Протестируйте URL-адрес, чтобы убедиться, что он является допустимым. Для этого скопируйте URL-адрес и вставьте его в Internet Explorer на сервере бизнес-портала. Он должен открыть страницу под названием «PCServices». Если вместо этого вы получаете сообщение об ошибке SharePoint или появляется сообщение об ошибке «не удается отобразить страницу», проверьте элементы на шаге 4.
Теперь, когда у файла ProjectService. WSDL есть допустимый URL-адрес, попробуйте еще раз попробовать на странице бизнес-портала
Разрешение 7 : Проверка способа проверки подлинности в IIS
На сервере бизнес-портала запустите диспетчер информационных служб Интернета (IIS).
Щелкните правой кнопкой мыши веб-сайт бизнес-портала и выберите пункт Свойства.
На вкладке Безопасность каталога в разделе «Управление доступом и проверка подлинности» выберите команду Изменить.
Убедитесь, что установлен флажок Встроенная проверка подлинности Windows.
Убедитесь, что флажок «разрешить анонимный доступ», «Краткая проверка подлинности для серверов домена Windows» и «Проверка подлинности .NET Passport» не установлены.
Проверка подлинности Basic не требуется. Тем не менее, если флажок установлен, это не должно приводить к проблеме.
Нажмите кнопку ОК, а затем еще раз нажмите кнопку ОК, чтобы закрыть диалоговое окно «Свойства».
Закрытие диспетчера IIS
Перезапустите IIS, нажав Пуск-> выполнить и введите «IISReset».
Попробуйте еще раз на странице бизнес-портала
Разрешение 8 : проверка переменной sessionState в файле Web. config
На сервере бизнес-портала запустите диспетчер информационных служб Интернета (IIS).
Щелкните правой кнопкой мыши веб-сайт бизнес-портала и выберите пункт Свойства.
На вкладке «домашний каталог» Обратите внимание на значение в поле «локальный путь».
Нажмите кнопку ОК, чтобы закрыть диалоговое окно «Свойства» и выйти из диспетчера IIS
Перейдите к каталогу, найденному на шаге 3, и найдите файл Web. config.
Создание резервной копии файла Web. config
Откройте файл web.config в блокноте.
Поиск тега, который начинается с «
Изменение всего тега для чтения » «
Сохранение файла и закрытие блокнота
Перезапустите IIS, нажав Пуск-> выполнить и введите «IISReset».
Попробуйте еще раз загрузить страницы рабочего портала
Разрешение 9 : запустите сценарий PCConnectDebug и отправьте результаты в службу поддержки.
Распаковка файла на сервере бизнес-портала
Скопируйте файл «pcConnectDebug. ASP» в каталог C:Program FilesMicrosoft DynamicsBusiness PortalApplicationsPMA.
На сервере бизнес-портала откройте Internet Explorer и войдите в бизнес-портал.
Щелкните веб-страницу центра проектов
Вставьте следующий URL-адрес, чтобы открыть страницу PCConnectDebug: http:// ServerName: Port/BusinessPortal/Applications/PMA/pcconnectdebug.ASP замените значение serverName именем сервера BP. Замените «порт» на номер порта, на котором работает веб-сайт BP.
Вам будет предложено «нажмите ОК», чтобы продолжить. Нажмите кнопку ОК.
Откроется веб-страница, которая начинается с «Запуск отладки. «. В Internet Explorer щелкните файл-> сохранить как. и сохраните страницу в файле.
Внимание!в зависимости от того, насколько далеко может быть предоставлена Отладка, результаты могут содержать пароль в открытом тексте. Вы можете изменить файл в блокноте и заменить Фактический пароль на слово «thePassword» перед отправкой файла для поддержки.
Отправьте этот файл службе поддержки пользователей Майкрософт для дальнейшего анализа.
После устранения проблемы удалите файл pcConnectDebug. ASP из каталога C:Program FilesMicrosoft DynamicsBusiness PortalApplicationsPMA.
Источник
Проблема идентификации
Банку важно знать, что лицо, запрашивающее обслуживание через удаленный терминал, компьютер или смартфон, является его клиентом. Для обеспечения необходимого уровня безопасности банки используют одноразовые пароли (OTP), пересылаемые по открытым GSM-каналам посредством SMS.
Но отправка OTP не обеспечивает 100 % гарантии от несанкционированного доступа. Банки несут убытки от мошенничества, связанного с подменой SIM-карт без ведома владельца. Особенно это актуально в Украине, где около 90 % владельцев предоплаченных SIM-карт не идентифицированы и процедура замены SIM-карт не до конца проработана в плане препятствия мошенничеству.
Решение проблемы
Использование идентификатора мобильного клиента (IMSI)
Обнаружение изменения IMSI в процессе отсылки OTP может говорить о риске несанкционированного доступа к интернет-банку.
Использование специализированной платформы компании VIVEX Ukraine, которая контролирует такое изменение, позволяет существенно снизить вероятность мошенничества. Платформа сочетает в себе высокопроизводительный SMS-центр и систему валидации IMSI при взаимодействии с фрод-машиной банка.
Процедура валидации (проверки) IMSI:
- По SMPP протоколу в сторону банка по каждому OTP высылается актуальное значение IMSI, банк на своей стороне производит сверку с ранее полученным значением.
- Платформа обрабатывает SMS по SMPP-протоколу, самостоятельно следит за «подменой» SIM-карты и не доставляет в сторону абонента OTP-сообщение. В сторону банка высылается специфическая ошибка для принятия решения о риске в рамках согласованного бизнес-процесса.
Справка
International Mobile Subscriber Identity (IMSI) — международный идентификатор мобильного абонента (индивидуальный номер абонента), ассоциированный с каждым пользователем мобильной связи стандарта GSM, UMTS или CDMA. При регистрации в сети аппарат абонента передает IMSI, по которому происходит его идентификация. Во избежание перехвата этот номер посылается через сеть настолько редко (только аутентификация пользователя), насколько это возможно — в тех случаях, когда это возможно, вместо него посылается случайно сгенерированный TMSI.
Автор: Олег Дрямов
Читайте також
20.07.15 — 11:46
Всем привет!
При обращении к методу сервиса 1с из 1с ошибка:
«Ошибка SOAP сервера: Неизвестная ошибка. {WebСервис.NumerationSF.Модуль(7)}: Ошибка при вызове метода контекста (ПрочитатьXDTO)
по причине:
{WebСервис.NumerationSF.Модуль(7)}: Ошибка при вызове метода контекста (ПрочитатьXDTO)
по причине:
Несоответствие типов (параметр номер ‘1’)»
Обращаюсь вот так:
Определения = Новый WSОпределения(«ссылка на сервис»);
Прокси = Новый WSПрокси(Определения, «http://www.w3.org/2001/XMLSchema»;, «NumerationSF», «NumerationSFSoap»);
WSПараметр = СериализаторXDTO.ЗаписатьXDTO(СтрокаXML);
Ответ = Прокси.GetNumberSF(WSПараметр);
из SOAPUI тот-же запрос работает. В чем ошибка?
1 — 20.07.15 — 11:47
Прокси тут лишний
2 — 20.07.15 — 11:50
тип параметра anyType
3 — 20.07.15 — 11:51
(0) Нужно смотреть в модуле вот этого вот : «NumerationSF» в строке (7).
Скорее всего неправильно с точки зрения сервиса выглядит содержимое вот этого вот : «СтрокаXML».
4 — 20.07.15 — 11:57
(3) А при запросе из soapui этот же запрос срабатывает…
5 — 20.07.15 — 11:58
(4) Ну так сравни «СтрокаXML» в 1С и тоже самое в soapui.
6 — 20.07.15 — 12:05
(5) в soapui обертка только есть стандартно. Не мешала никогда.
почему-то на тип ругается: «Несоответствие типов (параметр номер ‘1’)»
7 — 20.07.15 — 12:08
(6) «в soapui обертка только есть стандартно.» Это как понять? Метод вызывается вообще без параметра?
8 — 20.07.15 — 12:12
Сразу несколько вопросов
NumerationSF и пространство имен http://www.w3.org/2001/XMLSchema
Если хочешь получить объект XDTO из строки то
ЧтениеXML= новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаXML);
ЧтениеXML.ПерейтиКСодержимому();
WSПараметр =Прокси.Фабрика.ПрочитатьXML(ЧтениеXML,Фабрика.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя));
9 — 20.07.15 — 12:13
Фабрика=Прокси.ФабрикаXDTO;
WSПараметр =Фабрика.ПрочитатьXML(ЧтениеXML,Фабрика.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя));
10 — 20.07.15 — 12:23
(8) Ошибка преобразования данных XDTO:
НачалоСвойства: {http://www.w3.org/2001/XMLSchema}anyType Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
11 — 20.07.15 — 12:25
В базе сервиса тип параметра «string», а при создании ws-ссылки «anyType»
12 — 20.07.15 — 12:27
(0)
используй динамическое подключение если не знаешь какое пространство имен используешь
ОпределениеТ=Новый WSОпределения(«http://домен_сайта/имя_публикации_базы/ws/имя_веб_сервиса?wsdl»;);
WSСервис=ОпределениеТ.Сервисы[0];
ПроксиWS=Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя);
ПроксиWS.Пользователь = «ХХХ»;
ПроксиWS.Пароль = «УУУУ»;
ПроксиWS.ВызватьКакойтоМетод();
13 — 20.07.15 — 12:34
Ошибка преобразования данных XDTO:
14 — 20.07.15 — 12:36
в браузере string.
Не понимаю, почему anyType у меня
15 — 20.07.15 — 12:45
(8)Ошибка преобразования данных XDTO:
НачалоСвойства: {http://www.w3.org/2001/XMLSchema}anyType Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: Body Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
16 — 20.07.15 — 13:02
Определения = Новый WSОпределения(«»);
Прокси = Новый WSПрокси(Определения, «http://www.w3.org/2001/XMLSchema»;, «NumerationSF», «NumerationSFSoap»);
Фабрика=Прокси.ФабрикаXDTO;
ЧтениеXML= новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаXML);
ЧтениеXML.ПерейтиКСодержимому();
ТипWSПараметра = Прокси.ФабрикаXDTO.Тип(«http://www.w3.org/2001/XMLSchema»;, «string»);
WSПараметр =Прокси.ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипWSПараметра);
Ответ = Прокси.GetNumberSF(WSПараметр);
{Форма.Форма.Форма(67)}: Ошибка при вызове метода контекста (ПрочитатьXML)
WSПараметр =Прокси.ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипWSПараметра);
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: Body Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
17 — 20.07.15 — 13:04
откуда anyType, если в браузере и в конфе сервиса string?
И что с этим делать?
18 — 20.07.15 — 13:13
Если string, тогда зачем ты туда пихаешь ОбъектXDTO? Пихай стринг
19 — 20.07.15 — 13:14
Определения = Новый WSОпределения(«ссылка на сервис»);
Прокси = Новый WSПрокси(Определения, «http://www.w3.org/2001/XMLSchema»;;, «NumerationSF», «NumerationSFSoap»);
//Это тут не нужно
//WSПараметр = СериализаторXDTO.ЗаписатьXDTO(СтрокаXML);
//Ответ = Прокси.GetNumberSF(WSПараметр);
Ответ = Прокси.GetNumberSF(СтрокаXML);
//Если взлетит — с тебя 500 р
20 — 20.07.15 — 13:42
(17) Внимательно посмотри на 12. И посмотри какое пространство имен у WSСервис.URIПространстваИмен
21 — 20.07.15 — 14:13
(20) WSСервис.URIПространстваИмен = «http://www.w3.org/2001/XMLSchema»;
22 — 20.07.15 — 14:17
«СтрокаXML» у тебя какой тип имеет?
23 — 20.07.15 — 14:18
(19)
{Форма.Форма.Форма(103)}: Ошибка при вызове метода контекста (GetNumberSF)
Ответ = Прокси.GetNumberSF(СтрокаXML);
по причине:
Несоответствие типов (параметр номер ‘1’)
24 — 20.07.15 — 14:19
(22) Строка
25 — 20.07.15 — 14:22
ТипWSПараметра = Прокси.ФабрикаXDTO.Тип(«http://www.w3.org/2001/XMLSchema»;;, «string»);
Парам = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
ВидДокумента.Key = «Название_параметра»;
ВидДокумента.Value = СтрокаXML;
ВидДокумента.ValueType = «string»;
26 — 20.07.15 — 14:22
ТипWSПараметра = Прокси.ФабрикаXDTO.Тип(«http://www.w3.org/2001/XMLSchema»;;;, «string»);
Парам = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
Парам.Key = «Название_параметра»;
Парам.Value = СтрокаXML;
Парам.ValueType = «string»;
27 — 20.07.15 — 14:23
Ответ = Прокси.GetNumberSF(Парам);
28 — 20.07.15 — 14:23
Попробуй так
29 — 20.07.15 — 14:41
Вообще то http://www.w3.org/2001/XMLSchema это стандартное пространство имен уже зашитое.
А кто задал такое имя пространства имен? Если это сервис 1С
30 — 20.07.15 — 14:46
Ты бы хоть показал описание WSDL и типы используемые GetNumberSF
31 — 20.07.15 — 14:46
Или выложи WSDL
32 — 20.07.15 — 14:49
(28) Параметр = неопределено
33 — 20.07.15 — 14:50
(30) тип 1 — string
34 — 20.07.15 — 14:52
(30) вот фрагмент описания:
<definitions xmlns=»http://schemas.xmlsoap.org/wsdl/»; xmlns:soap12bind=»http://schemas.xmlsoap.org/wsdl/soap12/»; xmlns:soapbind=»http://schemas.xmlsoap.org/wsdl/soap/»; xmlns:tns=»http://www.w3.org/2001/XMLSchema»; xmlns:xsd=»http://www.w3.org/2001/XMLSchema»; xmlns:xsd1=»http://www.w3.org/2001/XMLSchema»; name=»NumerationSF» targetNamespace=»http://www.w3.org/2001/XMLSchema»>;
<types>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»; xmlns:xs1=»http://www.w3.org/2001/XMLSchema»; targetNamespace=»http://www.w3.org/2001/XMLSchema»; elementFormDefault=»qualified»>
<xs:element name=»GetNumberSF»>
<xs:complexType>
<xs:sequence>
<xs:element name=»RequestXML» type=»xs:string»/>
</xs:sequence>
</xs:complexType>
</xs:element>
35 — 20.07.15 — 14:54
Если в 1с создать ws-ссылку — тип у параметра будет: anyType (http://www.w3.org/2001/XMLSchema)
36 — 20.07.15 — 14:57
Скинь wsdl целиком
37 — 20.07.15 — 15:00
Вариант (0) работает, но на вход в процедуру сервиса приходит почему-то Строка, а не ОбъектXDTO. Из SOAPUI приходит ОбъектXDTO.
Как сделать, чтоб приходил ОбъектXDTO?
38 — 20.07.15 — 15:04
Web-Service самописный? Где находится? Есть доступ к исходникам?
39 — 20.07.15 — 15:09
СтрокаТип = WSПрокси.ФабрикаXDTO.Тип(«http://www.w3.org/2001/XMLSchema»,»string»;);
СтрокаЗначение = WSПрокси.ФабрикаXDTO.Создать(СтрокаТип,СтрокаXML);
Ответ = WSПрокси.GetNumberSF(СтрокаЗначение);
40 — 20.07.15 — 15:13
Выдернул из обработки клиент банка. Если не поможет, скидывай wsdl целиком
41 — 20.07.15 — 15:29
Измените пространство имен у Веб сервиса
Неправильно.
targetNamespace=»http://www.w3.org/2001/XMLSchema»>;;
Замените на какойнибудь
http://www.ИмяВашейКомпании.ru
Ну и раз параметр строка
Ответ = Прокси.GetNumberSF(СтрокаXML);
42 — 20.07.15 — 15:34
(39) не, на входе получается Строка, а не ОбъектXDTO
43 — 20.07.15 — 15:47
(8) на входе в сервисе все равно Строка получается
44 — 20.07.15 — 15:54
(43) Еще раз задай нормальное пространство имен
Судя по описанию у тебя параметр строка.
45 — 20.07.15 — 15:55
(42) С с чем сравниваешь?
Скачай Fiddler2 и смотри им какие запросы кто отправляет
46 — 20.07.15 — 15:56
47 — 20.07.15 — 16:14
(44) а какое нормальное?
48 — 20.07.15 — 16:34
(45) В отладке сервиса — если из 1с запрос приходит — на входе Строка, из других систем — ОбъектXDTO
49 — 20.07.15 — 16:49
(47) Ну ты читай, что я тебе пишу в 41
Например http://www.ИмяВашейКомпании.ru
(48) Так, а что у тебя реально представляет параметр в сервисе?
Фабрика=Прокси.ФабрикаXDTO;
Тип=Фабрика.Тип(ПространствоИмен,НазваниеТипа);
Парам=Фабрика.Создать(Тип);
50 — 21.07.15 — 09:19
(49) Прошу прощения, немного напутал.
Если отправляю запрос из SOAPUI — на входе сервиса ОбъектXDTO и все отрабатывает без ошибки.
Если отправляю из 1С — на входе тоже ОбъектXDTO, но видимо другой и ошибка появляется при попытке прочитать ОбъектXDTO:
Сериализатор = Новый СериализаторXDTO(ФабрикаXDTO);
СтрокаХМЛ = Сериализатор.ПрочитатьXDTO(RequestXML);
Разница в объектах:
от SOAPUI в отладке вижу просто ОбъектXDTO;
от 1с в отладке видны еще его поля, т.е. тэги xml, которую я передаю.
Видимо как-то не так отправляю?
51 — 21.07.15 — 09:20
А отправляю вот так:
ЧтениеXML= новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаXML);
ЧтениеXML.ПерейтиКСодержимому();
Определения = Новый WSОпределения(«http://10.6.0.47/b83Services/ws/NumerationSF.1cws?wsdl»;);
WSПрокси = Новый WSПрокси(Определения, «http://www.w3.org/2001/XMLSchema»;, «NumerationSF», «NumerationSFSoap»);
WSПараметр = WSПрокси.ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, WSПрокси.ФабрикаXDTO.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя));
Ответ = WSПрокси.GetNumberSF(WSПараметр);
52 — 21.07.15 — 09:35
Ваще не пойму — почему туда приходит ОбъектXDTO, а не строка?
В моей конфе в сервисы на вход приходит строка всегда, но тут платформа 8.3 (8.3.5.1186), а там 8.3 (8.3.6.1977). Может в платформе дело?
53 — 21.07.15 — 09:39
(52) Нет не в платформа, а в способе отправки.
Вопрос — почему разные ОбъектXDTO приходят от SOAPUI и от 1с?
54 — 21.07.15 — 09:48
Скорее всего у тебя URIПространстваИменСервиса не http://www.w3.org/2001/XMLSchema, а собственные. Посмотри в wsdl какие используются пространства имен.
55 — 21.07.15 — 09:57
56 — 21.07.15 — 10:09
Фидлером не смотрел какой запрос 1с формирует?
57 — 21.07.15 — 10:11
Сделай как в(45)
Serginio1
58 — 21.07.15 — 11:18
(51) Так пространство имен и не стал переименовывать?