Работа с Web-service
Добрый день. Как можно быстро поменять домен в web-service если у меня их больше 100 штук? Руками так себе идея :)
Нравится
Раздел веб-сервисов строится по схеме VwWebServiceV2, домен и другие параметры хранятся в поле MetaData. Увидеть его текст можно, преобразовав:
select *, cast (MetaData as varchar(max))from VwWebServiceV2Там данные в виде:

{
"MetaData":{
"Schema":{
"ManagerName":"ServiceSchemaManager",
"UId":"eaab0cb8-b7c8-4fc7-9ff0-535be5f59413",
"A2":"MkpServiceUpdatedApp",
"A5":"3364ce9a-4a9f-4dbc-81be-9558a29167cf",
"B1":[
],
"B2":[
],
"B3":[
],
"B6":"da38393b-cb46-4fa6-92b9-e4358bcf9f48",
"B8":"7.16.1.2135",
"IQ1":"https://marketplace.creatio.com",
"IQ2":1,
"IQ4":[
{
"UId":"506ee0c1-c665-4ba6-b13b-c180f109bfac",
"A2":"MkpGetUpdatedApp",
"IR3":5000,
"IR1":{
"IW2":1,
"IW1":[
{
"UId":"1d09ea9a-2fe5-4571-8a79-67303748099b",
"A2":"MkpAppTitle",
"IU1":"appTitle",
"IU2":"Text",
"IU7":true,
"IU4":3,
"IU5":{
"IV1":"null",
"IV2":1
},
"IU6":[
]
},
{
"UId":"0c7dc8bd-5325-4625-8e9b-451417fa5109",
"A2":"MkpAppId",
"IU1":"appId",
"IU2":"Text",
"IU7":true,
"IU4":3,
"IU5":{
"IV1":"null",
"IV2":1
},
"IU6":[
]
},
{
"UId":"d9c52339-3ffd-4469-b090-75003039fed7",
"A2":"MkpAppFile",
"IU1":"appFile",
"IU2":"Text",
"IU7":true,
"IU4":3,
"IU5":{
"IV1":"null",
"IV2":1
},
"IU6":[
]
}
],
"IT2":1,
"IT1":"/api/version/master"
},
"IR2":{
"IW2":1,
"IW1":[
{
"UId":"1b29bdc2-caf8-47fb-aa03-a6c85ccf059f",
"A2":"MkpVersion",
"IU1":"$.version",
"IU2":"Text",
"IU4":1,
"IU5":{
"IV1":"null"
},
"IU6":[
]
},
{
"UId":"562715e8-d551-4566-9430-88d72a986bd2",
"A2":"MkpChanged",
"IU1":"$.changed",
"IU2":"Text",
"IU4":1,
"IU5":{
"IV1":"null"
},
"IU6":[
]
},
{
"UId":"b7e74153-9cb2-4309-8289-14a40a9d363e",
"A2":"MkpReleasenotes",
"IU1":"$.release_notes",
"IU2":"Text",
"IU4":1,
"IU5":{
"IV1":"null"
},
"IU6":[
]
}
]
}
}
]
}
}
}Если раскодировать и отформатировать текст поля, видно, что URL находится в параметре IQ1. Следовательно, его можно заменить, затем преобразовав текст обратно в тот же формат и не повредив символы в поле до начала JSON.
Следует учитывать, что VwWebServiceV2 — не таблица, а представление, реально данные находятся в поле MetaData в записях в SysSchema, где ManagerName = 'ServiceSchemaManager'.
Олег, заведена идея возможности параметризировать адрес вызова веб-сервиса, чтобы базовый URL вызова задавался динамически, например, как параметр процесса или системная настройка.
Это зависит от количества обращающихся с такой потребностью.
Тут в прошлом году Вы же уже сталкивались с похожим случаем и я предлагал обходной способ.