powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получить данные для клиента от веб сервиса через сервер?
18 сообщений из 18, страница 1 из 1
Получить данные для клиента от веб сервиса через сервер?
    #37923003
nickstarnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток,

Написал приведенный ниже код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub SOAPtest_Click()

    Dim objSClient As MSSOAPLib30.SoapClient30
    Dim fResult As String
    
    Set objSClient = CreateObject("MSSOAP.SoapClient30", "mz-YuSpryshkov")
    
    Set objSClient = New SoapClient30
    
    Call objSClient.MSSoapInit(par_WSDLFile:="http://srv-kir/ws/WS.WSDL")

  
    fResult = objSClient.get_RZ_from_DOCS("14", "12 02", "506072", "000")
    Set objSClient = Nothing

    Open "C:\nssoft\test.txt" For Output As #1
    Print #1, fResult
    Close #1

End Sub



для доступа к веб сервису через МSSOAP
Но при попытке обратиться не локально а к серверу выдает сообщение

Run-time error '70':
Permission denied

Что делать?
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37925360
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забить на MSSOAP.SoapClient30 и делать все через MSXML2.XMLHTTP
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37925552
nickstarnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЗабить на MSSOAP.SoapClient30 и делать все через MSXML2.XMLHTTP

И как я буду к веб сервису обращаться?
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37925622
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отправлять post'ом xml-документ, представляющий собой вызов soap-метода.
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37925782
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
комрады !
разрешите внести "ясность" :)) (т.к. ТС это будет делать ещё неделю, а вопрос мне интересен, в том числе)

у автора есть локальная сеть, в которой есть машина (назавём её A), на которой / с которой разрещён доступ к какому-то веб-сервису
(неважно, как это сделано, важно только то, что доступ возможен только через эту машину)

ТС написал, на VBA, процедуру, которая отправляет запрос и получает ответ от веб-сервиса - Получение данных через SOAP в Access
НО, всё это "работает", если вызов происходит с этой (конкретной) машины - A

теперь, у ТС хочет, иметь возможность отправлять запрос к веб-сервису - с любой машины в лок.сети (назовём её B)

для этого, ему было предложено, создавать инстанс SoapClient, на той машине, с которой доступ разрешен (A) - Как передать файл XML, через клиент-сервер

-----
вот тут начинается вопрос автора
когда он на машине B, пытается создать инстанс SoapClient на машине A (т.е. этот код выполняется на машине B)
Код: vbnet
1.
    Set objSClient = CreateObject("MSSOAP.SoapClient30", "A")


он получает ошибку -
Run-time error '70':
Permission denied
(имхо, то же будет и при удалённом создании инстанса MSXML2.XMLHTTP, так что переход на MSXML2.XMLHTTP - врядли поможет)

вот, собственно, его вопрос - как эту ошибку побороть ?
----

на MSDN-е, про аналогичный подход с созданием инстанса какого-либо из "Office application", предлагается выдать соотв.разрешения в Distributed Component Object Model (DCOM) - 13036142

зы
я вообще ему советовал у админов в Windows спросить,
чё его в VB поперло, незнаю ...
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37925861
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112вот, собственно, его вопрос - как эту ошибку побороть ?
----

на MSDN-е, про аналогичный подход с созданием инстанса какого-либо из "Office application", предлагается выдать соотв.разрешения в Distributed Component Object Model (DCOM) - 13036142 Так и побороть. Другой способ — поднять на машине А веб-сервер, который перенаправлял бы запросы на комп с веб-сервисом.
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37926019
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariyqwerty112вот, собственно, его вопрос - как эту ошибку побороть ?
----

на MSDN-е, про аналогичный подход с созданием инстанса какого-либо из "Office application", предлагается выдать соотв.разрешения в Distributed Component Object Model (DCOM) - 13036142 Так и побороть. Другой способ — поднять на машине А веб-сервер, который перенаправлял бы запросы на комп с веб-сервисом.

спасибо !

я про "Так и побороть" ...
ТС, говорил, что у него там, в DCOM, нет ничего связанного с SOAP - 13036406
и я, "по-простоте душевной" - поверил ...
может, конечно, он просто не нашел ...

автор,
выполните, на той машине, на которой разрешен выход по VipNet
эту процедуру
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Sub haba_haba()
On Error Resume Next
    Dim objService, objCOM, fso, txt
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile("C:\dcom.txt", True)
    Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
    If Err.Number <> 0 Then
        Debug.Print Err.Number & ": " & Err.Description
        Exit Sub
    End If
    For Each objCOM In objService.ExecQuery("SELECT * FROM Win32_DCOMApplication")
    '    Debug.Print objCOM.AppID
        Debug.Print objCOM.Caption
        txt.WriteLine objCOM.Caption
    '    Debug.Print objCOM.Description
    '    Debug.Print objCOM.InstallDate
    '    Debug.Print objCOM.Name
    '    Debug.Print objCOM.status
    Next
    txt.Close
End Sub


она создаст в корне диска C файл dcom.txt,
вот его содержимое нужно что б вы показали

зы
кстати
хотел себе поставить этот SOAP Toolkit 3.0
оказуется, MS его уже убрала даже из своего Download Center
что, какбэ, намекает ....

раньше был тут - http://www.microsoft.com/en-us/download/details.aspx?id=13456
Яндекс про него ещё помнит - http://yandex.ua/yandsearch?text=Download%3A+SOAP+Toolkit+3.0+-+Microsoft+Download+Center&clid=40316&tld=ua&lr=10369
рань
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37926038
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112ТС, говорил, что у него там, в DCOM, нет ничего связанного с SOAP
HKEY_CLASSES_ROOT\MSSOAP.SoapClient.3\Clsid

Указанный там clsid нужно искать в DCOM. У меня SoapClient.1, так что сразу не подскажу значение.
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37926052
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariyqwerty112ТС, говорил, что у него там, в DCOM, нет ничего связанного с SOAP
HKEY_CLASSES_ROOT\MSSOAP.SoapClient.3\Clsid

Указанный там clsid нужно искать в DCOM. У меня SoapClient.1, так что сразу не подскажу значение.
ага, задан clsid-ом .., тогда действительно мог не найти :)

ждём ТС
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37926094
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати у меня в DCOM нет и первого по clsid. Если у клиента его тоже не окажется, можно будет попробовать создать com+ приложение и закинуть в него C:\Program Files\Common Files\MSSoap\Binaries\mssoapX.dll
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37937937
nickstarnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112Antonariyпропущено...

HKEY_CLASSES_ROOT\MSSOAP.SoapClient.3\Clsid

Указанный там clsid нужно искать в DCOM. У меня SoapClient.1, так что сразу не подскажу значение.
ага, задан clsid-ом .., тогда действительно мог не найти :)

ждём ТС

Доброго времени суток, прошу прощения что долго не выходил на связь (был в срочной командировке - пуск объекта).

В приложении сгенерированный файл dcom.txt

В реестре нашол веточки

MSSOAP.SoapClient Clsid {86D54F3D-652D-4ab3-A1A6-14D403F6C813}
MSSOAP.SoapClient.1 Clsid {86D54F3D-652D-4ab3-A1A6-14D403F6C813}
MSSOAP.SoapClient30 Clsid {7F017F97-9257-11D5-87EA-00B0D0BE6479}

Но никаких ID через dcomcnfg не нашол.
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37937977
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nickstarnew,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub haba_haba()
On Error Resume Next
    Dim objService, objCOM, fso, txt
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile("C:\dcom.csv", True)
    Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
    If Err.Number <> 0 Then
        Debug.Print Err.Number & ": " & Err.Description
        Exit Sub
    End If
    txt.WriteLine "Caption;AppID"
    For Each objCOM In objService.ExecQuery("SELECT * FROM Win32_DCOMApplication")
    '    Debug.Print objCOM.AppID
        Debug.Print objCOM.Caption
        txt.WriteLine objCOM.Caption & ";" & objCOM.AppID
    '    Debug.Print objCOM.Description
    '    Debug.Print objCOM.InstallDate
    '    Debug.Print objCOM.Name
    '    Debug.Print objCOM.status
    Next
    txt.Close
End Sub


вот эту давай ещё, и файл C:\dcom.csv сюда
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37938322
nickstarnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112nickstarnew,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub haba_haba()
On Error Resume Next
    Dim objService, objCOM, fso, txt
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile("C:\dcom.csv", True)
    Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
    If Err.Number <> 0 Then
        Debug.Print Err.Number & ": " & Err.Description
        Exit Sub
    End If
    txt.WriteLine "Caption;AppID"
    For Each objCOM In objService.ExecQuery("SELECT * FROM Win32_DCOMApplication")
    '    Debug.Print objCOM.AppID
        Debug.Print objCOM.Caption
        txt.WriteLine objCOM.Caption & ";" & objCOM.AppID
    '    Debug.Print objCOM.Description
    '    Debug.Print objCOM.InstallDate
    '    Debug.Print objCOM.Name
    '    Debug.Print objCOM.status
    Next
    txt.Close
End Sub


вот эту давай ещё, и файл C:\dcom.csv сюда

Файл в приложении
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #37938613
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...ндаа,
ничего из этого - нету ...
nickstarnew
В реестре нашол веточки

MSSOAP.SoapClient Clsid {86D54F3D-652D-4ab3-A1A6-14D403F6C813}
MSSOAP.SoapClient.1 Clsid {86D54F3D-652D-4ab3-A1A6-14D403F6C813}
MSSOAP.SoapClient30 Clsid {7F017F97-9257-11D5-87EA-00B0D0BE6479}

Но никаких ID через dcomcnfg не нашол.

ну чо ? - плохо :))
походу, не там ищем ...
(что вроде бы и объяснимо - искали среди DCOMApplication, а какой MSSOAP.SoapClient30 - Апликейшион ... (?) )
где нужно "искать" - незнаю, предлагаю спросить на Вин-админских форумах ...

ну или идти "другим путём"
1
в.1, отсюда - 12854550 , имхо, вполне реализуем
2
может быть (???) будет достаточно установить на удалённых машинах вот эту фишку (рис.), и указать тот сервер, подключенный по ВипНет ?

"разрешения" для Access.Application на "сервере", имхо, нужно будет задавать в обоих случаях

3
???
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #38006434
crash_and_burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nickstarnew
совершенно случайно нагуглилась такая ссылка, не мог не зайти, потом что чуть не о###л.
я точно знаю зачем тебе все это нужно. я это уже реализовал. хоть и сеть виртуальная, но ты бы хоть адреса серверов и вызовы менял или замазывал, кто так делает? давай, я всем про все расскажу, или про Черняева Николая Николаевича? и то как ты пытаешься это реализовать - откровенный изврат. если интересно - свяжись со мной, для начала отпишись сюда
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #38008186
nickstarnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crash_and_burnnickstarnew
совершенно случайно нагуглилась такая ссылка, не мог не зайти, потом что чуть не о###л.
я точно знаю зачем тебе все это нужно. я это уже реализовал. хоть и сеть виртуальная, но ты бы хоть адреса серверов и вызовы менял или замазывал, кто так делает? давай, я всем про все расскажу, или про Черняева Николая Николаевича? и то как ты пытаешься это реализовать - откровенный изврат. если интересно - свяжись со мной, для начала отпишись сюда

Очень интересно, я обошел эту проблему по другому (мне не нравится как), поэтому задача по прежнему актуальна. Жаль что сервис на удаленной машине мне не удалось вызвать, а жаль было бы очень красиво. Сейчас пытаюсь реализовать свой собственный сервис на VB, но если есть более быстрый путь, то с удовольствием рассмотрю.
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #38008833
crash_and_burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nickstarnew,

я написал промежуточный сервер, который по своему сетевому протоколу получает запрос от клиентов, обращается через wsdl-сервис к серваку, получает данные и отдает их обратно клиенту. ну вот типа того. никаких мастдайных технологий, все кошерно и православно. там много чего еще есть. если интересно - давай аську, почту или еще что-нибудь такое. здесь писать все как-то не того. да и я вижу, ты адепт visual basic'а, оставил бы ты это дело. я не хвалюсь, но то, что я написал кроссплатформенно и реально работает под вин и лин. делаю 2 сборки. был бы мак, собрал бы еще и под него, но его нет, да и не нужно это никому. при желании, можно, конечно, поставить хакинтош, но дело это и так неблагодарное.
...
Рейтинг: 0 / 0
Получить данные для клиента от веб сервиса через сервер?
    #38009199
nickstarnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crash_and_burn,
ICQ: 417716705
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получить данные для клиента от веб сервиса через сервер?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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