Имя: Пароль:
1C
1С v8
Динамически изменить адрес WS-ссылки
0 jk3
 
12.03.15
16:43
Импортировал в конфигурацию WSDL-файл с зашитим адресом веб-сервиса, типа:

    <wsdl:service name="Employees">
        <wsdl:port name="Employees_OutPort" binding="p1:Employees_OutBinding">
            <soap:address
                location="http://srv:50000/XISOAPAdapter/MessageServlet?channel=:IC_TEST_D:SOAP_Employees_Sender_CC";
                xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>;
        </wsdl:port>
    </wsdl:service>

Но нигде в свойствах WS-ссылки я этот адрес не нахожу. :(

Можно ли динамически в коде (без изменения конфигурации) изменять адрес, на который будет происходить коннект и получение/отправка данных?
1 SanGvin
 
12.03.15
16:55
можно и без этого объекта с соапом работать, соответственно как хочешь так и храни адрес в базе
2 Serginio1
 
12.03.15
17:10
Вообще адрес хрнаится


ОпределениеТ=Новый WSОпределения(Файл_wsdl);
    WSСервис=ОпределениеТ.Сервисы[0];
    прокси=Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя);



WSСервис.ТочкиПодключения[0].Местоположение;


Можешь модифицировать  WSDL-файл и изменить address location
3 Serginio1
 
12.03.15
17:11
2+ Файл_wsdl это путь к WSDL-файл сохраненному на диске
4 jk3
 
12.03.15
17:29
Да, походу, WS-ссылки -- это для публичных сервисов, когда ссылка не сервис не меняется годами.

http://v8.1c.ru/overview/Term_000000164.htm

Т.е. для динамического изменения адреса надо будет хранить WSDL-файл в базе, а при подключении сохранять его во временный файл и подсовывать процедуре:

Определение = Новый WSОпределения(ПутьКВременномуФайлуС_WSDL);
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.