Добрый день, имеется развернутый локально Creatio. Хочу добавить лэндинг(чтобы можно было к примеру перейти на localhost/landing/index.aspx) с формой, у которой есть поле phone и данные введенные в поле будут попадать в контакты -> мобильный телефон уже к имеющемуся контакту.

Что уже сделал?

Сейчас контакт выглядит следующим образом

Изображение удалено.

Как описано в документации добавил лэндинг. Сжато он выглядит так:

Изображение удалено.

После чего в папке ../0/Nui/ создал папку Landing с файлом index.aspx в котором лежит следующий код:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <!--ШАГ 2-->
    <!--Эту часть необходимо скопировать из поля ШАГ 2 страницы редактирования лендинга-->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src="https://webtracking-v01.bpmonline.com/JS/track-cookies.js"></script>
    <script src="https://webtracking-v01.bpmonline.com/JS/create-object.js"></script>
    <script>
 
    var config = {
        fields: {
            "Subject": "#subject-field",
            "Email": "#email-field",
            "Name": "#name-field",
            "MobilePhone": "#phone-field",
        },
        landingId: "54a57d16-e7b6-4c7d-9c38-237cfcf6512d",
        serviceUrl: "http://localhost/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData",
        redirectUrl: "yandex.ru"
    };
 
    function createObject() {
        landing.createObjectFromLanding(config)
    }
    </script>
    <!--ШАГ 2-->
</head>
<body>
<h1>Landing web-page</h1>
<div>
    <h2>Case form</h2>
    <form action="localhost/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData" method="POST" class="mainForm" name="landingForm" onSubmit="createObject(); return false">
        Subject:<br>
        <input type="text" name="subject" id="subject-field"><br>
        Email:<br>
        <input type="text" name="Email" id="email-field"><br>
        Name:<br>
        <input type="text" name="Name" id="name-field"><br>
        Phone:<br>
        <input type="text" name="Phone" id="phone-field"><br><br>
        <input type="submit" value="Submit">
        </font>
    </form>
</div>
</body>
</html>

Если я правильно понял для того чтобы POST запрос прошел корректно должен отработать файл GeneratedObjectWebFormService.svc. Нужно ли его создавать по документации или он является дефолтным? При попытки отправки запроса возникает 403 ошибка. Как сделать это рабочим и какие ошибки я совершил?

Изображение удалено.

Изображение удалено.

Нравится

5 комментариев
Лучший ответ

А зачем вы пытаетесь добавить лендинг внутри того же сайта, где развёрнута система? Обычно он нужен для отдельного сайта, например, страницы регистрации на сайте компании. При таком размещении, как сделали Вы, может незалогиненного пользователя при попытке открыть эту страницу перебросить на страницу логина. А для залогиненных есть более подходящие способы, вроде БП с автогенерируемыми или преднастроенными страницами.

 

Как минимум, у Вас неправильный адрес стандартного веб-сервиса GeneratedWebFormService, к которому пытались обратиться со страницы. Поскольку он анонимный, там не нужен /0/. См. тут, как выглядит и где настраивается путь к нему.

 

Если нужно сделать отдельную страницу на сервере с этой формой, можно поднять в IIS ещё один сайт из одной HTML-страницы, где и настроить по инструкции связь с лендингом.

А зачем вы пытаетесь добавить лендинг внутри того же сайта, где развёрнута система? Обычно он нужен для отдельного сайта, например, страницы регистрации на сайте компании. При таком размещении, как сделали Вы, может незалогиненного пользователя при попытке открыть эту страницу перебросить на страницу логина. А для залогиненных есть более подходящие способы, вроде БП с автогенерируемыми или преднастроенными страницами.

 

Как минимум, у Вас неправильный адрес стандартного веб-сервиса GeneratedWebFormService, к которому пытались обратиться со страницы. Поскольку он анонимный, там не нужен /0/. См. тут, как выглядит и где настраивается путь к нему.

 

Если нужно сделать отдельную страницу на сервере с этой формой, можно поднять в IIS ещё один сайт из одной HTML-страницы, где и настроить по инструкции связь с лендингом.

Зверев Александр,

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

Нет, дело не в этом. Посмотрите второй абзац прошлого ответа.

Зверев Александр,

исправил без /0/ теперь следующую проблему не могу побороть 

политика CORS дефолтная и выглядит так:

Похожий вопрос обсуждается тут. Но Вы обращались к стандартному веб-сервису, там всё должно уже было быть настроено. Возможно, дело именно в том, что Вы разворачиваете свою страницу с формой внутри того же сайта. Попробуйте для теста сначала размещать веб-форму на полностью другом сервере.

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

Продолжение настройки таймаута для web-формы. В прошлый раз осуществлялась настройка IIS 7.0. На это раз опишу как настроить IIS версии 6.0.

  • Сначала заходим в свойства сайта, на котором настроена web-форма
  • Заходим на закладку ASP.NET и нажимаем кнопку "Edit Configuration"
  • В открывшемся окне переходим на закладку "Stae Management" и в поле "Session timeout (minutes)" устанавливаем нужное значение таймаута web-формы
  • Дальше нужно настроить пул приложений. Находим тот пул, который использует наш сайт и вызываем его свойства
  • На закладке "Perfomance" в поле "Shutdown worker processes after being idle for (time in minutes)" указываем нужный таймаут
  • И последнее, настройка таймаута сессии. Снова открываем настройки web-формы и на закладке "Home Directory" нажимаем кнопку "Configuration..."
  • На закладке "Options" устанавливаем нужное значение поля "Session timeout"

Нравится

Поделиться

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

Особенности настройки веб формы на Windows Server 2003.

Добавляем специального пользователя с правами админа и указываем его в качестве пользователя, от имени которого работает ApplicationPull, к которому относится веб-форма. В профиле этого пользователя будет храниться кеш и все остальное.

Кроме того в RunSettings.xml вписываем:
----------------------------

xml version="1.0" encoding="UTF-8"?>
Settings>
            RunSettings UserSettingsDirectory="C:\Program Files\TSCRM Web Form 3.3\Settings" SessionUserName="" SessionPassword=""/>

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

Нравится

Поделиться

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

Сообщение "Catastrofic Falure" при попытке регистрации пользователя или входе.
IIS 6.0 Eng.
1. смотрим пользователя который указан в: "Окно Properties сайта\директории веб формы"."Закладка Directory Security"."группа Authentication and access control"."кнопка Edit" там IIS указал своего пользователя - запомним его. - IIS создает своего пользователя.
2. даем полный доступ этому пользователю из пункта 1 на директорию, где у нас находится веб форма. Это будет пользователь локальной машины а не домена, так что искать его надо как локального пользователя.
3. Смотрим ApplicationPool в тех же свойствах сайта\директории веб формы. Ищем этот пул в Application pools в IIS-е "Окно Properties этого пула"."закладка Identity"."Predefined" = указать "Local System" В зависимости от установленного IIS указанные данные могут находиться в других настройках, или по-другому называться.
Думаю можно настроить и на использование пользователя домена в случае необходимости или же ограничить этому пользователю права - это пока не проверялось.

Нравится

Поделиться

1 комментарий

Спасибо, информация полезная!
Как по мне, то этот блог необходим объединить с этим: http://community.terrasoft.ua/blogs/3600

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