powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите с WS
15 сообщений из 15, страница 1 из 1
помогите с WS
    #35976816
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сначала поблагодарю Sergey Ch за столь весомый вклад в образованность программистов.

Извините за тупость, но у меня возник вопрос. Создаю DLL и регистрирую через builder в проекте. Пробую - все нормально, ответ получаю. Если надо что подправить в тексте DLL - то при создании пишет что доступа нет. Например если у меня server.dll, то команда regsvr32 /u server.dll не помогает. Что делать?

И еще вопрос.
В Вашем примере:

Sergey Ch
DEFINE CLASS WS_MES_SERVER AS SESSION OLEPUBLIC
PROCEDURE INIT
SET DELETED ON
SET DATE DMY
SET EXCLUSIVE OFF
SET MULTILOCKS ON
SET REPROCESS TO 1000
SET STRICTDATE TO 0
SQLSETPROP(0,"DispLogin",3)
SQLSETPROP(0,"DispWarnings",.F.)
ENDPROC
PROCEDURE test AS INTEGER
RETURN (1)
ENDPROC
ENDDEFINE

процедура на запрос:

Sergey Ch
o=CREATEOBJECT("MSSoap.SoapClient30")
o.MSSoapInit("http://sysop/ws_mes_server.WSDL")
? o.test


выдает ответ "1". Мне надо передать параметр и получить ответ, т.е. для начала хочу добиться чтобы на разные запросы возвращались разные ответы. Но ни как не пойму как в этом случае поступить...

(например передать "5" и получить ответ "5")
...
Рейтинг: 0 / 0
помогите с WS
    #35978136
ПД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АС.
Что то мне кажется- не все у вас утряслось в голове.
Чтоб получить от сервиса нужную функциональность недо её написать- т.е.
создать необходимые Вам методы и использовать их из любого клиента.

Передать параметр и полдучить ответ?

Код: plaintext
1.
2.
Procedure Return_Me(cStr As String) As String
Return	cStr 
Endproc

По первому вопросу- после того как опубликовали WSDL на IIS
и запустили, IIS "держит" Вашу DLL- занята она.
Просто сделайте перезапуск IIS
...
Рейтинг: 0 / 0
помогите с WS
    #35978491
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ.

Сам программирую достаточно давно, но с dll работать не доводилось.
Вы не так поняли, я не могу добиться чтобы передать параметр в DLL и получить нужный ответ. Можете показать на вышеприведенном примере, например передать параметром "собака" и получить ответ "кошка"?
...
Рейтинг: 0 / 0
помогите с WS
    #35978548
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы же гляньте внимательно что там написано:
Код: plaintext
o=CREATEOBJECT("MSSoap.SoapClient30")
т.е. создается объект, ссылка на который храниццо в переменной о, через энту переменную можно с этим созданным объектом работать
Код: plaintext
o.MSSoapInit("http://sysop/ws_mes_server.WSDL")
- объект инициализируется путем запуска его метода MSSoapInit
Код: plaintext
? o.test
затем вызван метод Test, а он, в свою очередь, вероятнее всего и будет Вам возвращать постоянно 1 и не требует никаких параметров.
Для того чтобы передать параметр (кошка) вначале надо знать в какой метод передать этот параметр.
К примеру, допустим что у этого объекта есть метод Transform, требующий входной параметр и возвращающий результат некого действия над ним, то вызов будет таким
Код: plaintext
? o.Transform('кочкама')
ну а на выходе, возможно, получим ответ "сабакама" :)
Если необходимых методов нет, то как Вам ответили:
Чтоб получить от сервиса нужную функциональность надо её написать- т.е.
создать необходимые Вам методы и использовать их из любого клиента.
Если они есть, но Вы не знаете что да как - RTFM по этому делу или просто в командном окне фоксы наберите о. и выпадет список всего доступного (методы и св-ва) + балунтип.
...
Рейтинг: 0 / 0
помогите с WS
    #35978787
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да это все понятно, просто я пробую в DLL:

PROCEDURE test AS INTEGER
PARAMETER cParam
RETURN (cParam)
ENDPROC

процедура на запрос:

o=CREATEOBJECT("MSSoap.SoapClient30")
o.MSSoapInit("http://sysop/ws_mes_server.WSDL")
? o.test("запрос")

по идее онм мне должен возвратить "запрос", но выдает ошибку.
Вот и прошу Вас указать на этом простом примере что не так.
...
Рейтинг: 0 / 0
помогите с WS
    #35978795
ПД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:-)
А.С.

Код: plaintext
1.
2.
Procedure Test( cParam As String) As String
RETURN (cParam)
Endproc

В этом вариаенте метод тест имеет тип параметра символьный и возвращает
значение символьного же типа.
Вроде просто все- попробуйте
...
Рейтинг: 0 / 0
помогите с WS
    #35978796
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, попробую.
...
Рейтинг: 0 / 0
помогите с WS
    #35979621
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После перезапуска службы ISS Admin и сопутствующих служб, свою dll успешно удалил, но теперь другая проблема:
1. Создаю новую dll - все нормально.
2. При генерации Web Services выдает сообщение о генерации и внизу дописывает:
"Registered: There was a problem accessing the Listener URI specified for the WSDL file."

Где-то что-то еще удалить надо???
Что не так делаю?
...
Рейтинг: 0 / 0
помогите с WS
    #35980131
ПД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но при этом WSDL генерится и работает все?
Если да- не обращайте внимание- IIS штука тонкая :)
...
Рейтинг: 0 / 0
помогите с WS
    #35980303
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, не работает. Первый раз работало, потом надо было пересобрать dll. Сама dll-ка на запросы отвечает теперь, спасибо за советы, а вот как ws - ошибка.
...
Рейтинг: 0 / 0
помогите с WS
    #35980421
ПД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Непонятно, скорей всего что то с виртуальным каталогом не так.
Попробуйте создать новый и опубликовать туда.
...
Рейтинг: 0 / 0
помогите с WS
    #35980426
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
точнее сказать, что если обращаюсь к ней так:
o=CREATEOBJECT("ws_server.ws_mes_server")
то все нормально, а если так:
o=CREATEOBJECT("MSSoap.SoapClient30")
o.MSSoapInit("http://sysop/ws_mes_server.WSDL")
то "не удается найти указанный ресурс".
Похоже что не регистрируется совсем.
...
Рейтинг: 0 / 0
помогите с WS
    #35980434
ПД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если начепятать http://sysop/ws_mes_server.WSDL
в строке браузера открывается wsdl ?
...
Рейтинг: 0 / 0
помогите с WS
    #35980438
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПДНепонятно, скорей всего что то с виртуальным каталогом не так.
Попробуйте создать новый и опубликовать туда.

Спасибо, попробую. Сначала удалю IIS из системы и заново переустановлю и пропробую все шаги сначала. Может сам где лопухулся, технология то для меня новая...
...
Рейтинг: 0 / 0
помогите с WS
    #35980453
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПДЕсли начепятать http://sysop/ws_mes_server.WSDL
в строке браузера открывается wsdl ?

Нет, думаю что он на этапе генерации не создает все необходимое, т.к. пишет вместо "Yes" внизу в окошке - "Registered: There was a problem accessing the Listener URI specified for the WSDL file."
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите с WS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]