Ошибка рукопожатия sslv3 (0x14077410) при подключении к серверу MarkLogic - PullRequest
1 голос
/ 22 марта 2019

Я использую MarkLogic 8 и пытаюсь сделать POST-запрос к серверу. Я могу подключиться через curl или с помощью POSTMan, однако, он потерпел неудачу с Markloigc. Аналогичный пост предположил, что проблема с SNI, так как Markloigc использует OpenSSL. Я попытался указать эту опцию в запросе на публикацию, но я все еще получаю ту же ошибку. Есть идеи по решению этой проблемы? Смотрите фрагмент кода ниже:

xdmp:http-post($post_url,
                        <options xmlns="xdmp:http">
                         <data>{xdmp:quote($custom_json)}</data>                              
                         <headers>
                           <content-type>application/json</content-type>
                           <Host>{$host}</Host>
                         </headers>
                         <allow-sslv3>true</allow-sslv3>
                       </options>
                        )

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Просто чтобы обновить эту ветку, я протестировал тот же код в MarkLogic 9, и он работает.Я не уверен, является ли это комбинацией Marklogic 8 и библиотеки OpenSSL, которую он использует.

0 голосов
/ 22 марта 2019

Не похоже, что вы отправляете какие-либо учетные данные. Попробуйте что-то вроде этого:

xdmp:http-post(
    $post_url,
    <options xmlns="xdmp:http">
        <data>{xdmp:quote($custom_json)}</data>                              
        <headers>
            <content-type>application/json</content-type>
            <Host>{$host}</Host>
        </headers>
        <allow-sslv3>true</allow-sslv3>
        <authentication method="digest">
            <username>myUsername</username>
            <password>myPassword</password>
        </authentication>
    </options>
)
...