Динамически изменить адрес 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=";
xmlns: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-ссылки -- это для публичных сервисов, когда ссылка не сервис не меняется годами.
Т.е. для динамического изменения адреса надо будет хранить WSDL-файл в базе, а при подключении сохранять его во временный файл и подсовывать процедуре:
Определение = Новый WSОпределения(ПутьКВременномуФайлуС_WSDL);
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.