powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Реальная ситуация с Web services
25 сообщений из 25, страница 1 из 1
Реальная ситуация с Web services
    #33199019
Oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
1. Создали dll ( multy..) при запуске вида
o=CREATEOBJECT('WS_SERVER.WS_MES_SERVER')
? o.test
RELEASE o
не открывает базу данных где, сохр коннект к мс скуель, хорошо
используем SQLCONNECT c расширенными парметрами - одбс имя, имя польз, пароль - соотв базу данных не открываем заработало, но уже не работает
в SQLEXEC - 1466 - типа неверный дискриптор в вызове вида:
o=CREATEOBJECT("MSSoap.SoapClient30")
o.MSSoapInit("http://sergey04/ws_server/ws_mes_server.WSDL")
? o.test
release o
Вопрос как создать коннект к MS SQL??
и
2. Как вызвать метод - o.test из Inet Explorer;
в строке вида http://sergey04/ws_server/ws_mes_server.WSDL отображен XML текст - увы не знаю как вызвать метод тест, а ещё бы как бы параметр ему
передать или несколько параметров??
Спасибо.
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33199699
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо даждатся пока Sergey Ch не ответит
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33199774
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SamvelНадо даждатся пока Sergey Ch не ответит
Для начала бы статью прочитать про Web Services, примеры сделать, а затем просто заменить источник данных на MS SQL Server... и все...

But anyway, good luck!
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33199957
Oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Ch SamvelНадо даждатся пока Sergey Ch не ответит
Для начала бы статью прочитать про Web Services, примеры сделать, а затем просто заменить источник данных на MS SQL Server... и все...

But anyway, good luck!

Ваша же статья!? Вы вопрос, извините, наверно, не прочли.
Да и источник данных "MS SQL Server... и все..." используется.. Только
не соединяется с ним функция SQLConnection при обращ к данной Web service
из фокса - получается и 9.0 фокс не смог нормальный COM сервер создать?
ну в вопросе я указал, что через непоср. dll работает.
Как сделать то ? - реальный вот пример на основе Вашей статьи.
Как обращаться к методу из inet Explorer?
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33200131
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg1113 Как обращаться к методу из inet Explorer?
Создать простую ASP или ASP.NET страницу и вывести туда данные... Такой Вариант Вы пробовали?
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33200136
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg1113 Только не соединяется с ним функция SQLConnection при обращ к данной Web service из фокса - получается и 9.0 фокс не смог нормальный COM сервер создать?
Простите, но я Вас не понимаю...
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33200478
oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Ch Oleg1113 Только не соединяется с ним функция SQLConnection при обращ к данной Web service из фокса - получается и 9.0 фокс не смог нормальный COM сервер создать?
Простите, но я Вас не понимаю...

Дело всё в том, что как я указал в вопросе при создании подобного как у Вас

o=CREATEOBJECT("MSSoap.SoapClient30")
o.MSSoapInit("http://sergey04/ws_server/ws_mes_server.WSDL")
? o.test
release o
в методе тест вызывается функция VFP 9.0 SQLConnection c с тремя параметрами - имя ОДБС, пользователь, пароль, для ОДБС указано имя сервера, база данных ну как обычно в параметрах/свойствах
Вот если вызвать метод тест первым способом, как я указал вопросе, в варианте из Вашей статьи, тогда SQLconntction работает, ну не говорит что 1466 - неверный типа дискриптор соединения...
Что можно сказать по этому поводу, если возможность чтобы функция COM сервера адекватно работала, что можно сказать по этому поводу?
Также был бы Вам признателен за примерный набросок вызова .WSDL с параметрами методу в тексте ASP
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33201336
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Теперь приведите здесь Ваш метод Test...
2. Пример Classic ASP (Выбор группы товара) (В примечании забит тот-же пример с классическим источником данных для сравнения)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="VI60_DTCScriptingPlatform" content="Server (ASP)">
<title>Выберите необходимую группу:</title>
</head>

<body background="../images/back.gif" bgproperties="fixed">
<h2 align="center">Выберите необходимую группу:</h2>

<FORM ACTION="../euroremont/reqpgrw.asp" METHOD="POST">
<p align="center">
<SELECT NAME="KODGR">

<%
dim oMSSoapCLient,lcRetVal
SET oMSSoapCLient=CreateObject("MSSOAP.SoapClient")
oMSSoapCLient.ClientProperty("ServerHTTPRequest")=True
oMSSoapCLient.mssoapinit "HTTP://www.YOURSERVER.ru/ws02/ws02.wsdl"
lcRetVal=oMSSoapCLient.getasb01

'set cn=server.createobject("ADODB.Connection")
''cn.ConnectionTimeout = 20
'cn.Open "bld","",""
'set rs=server.createobject("ADODB.RecordSet")
'rs.Open "select kod, NAIM  from bld01 where !empty(PR) order by KOD", cn

'while not RS.EOF
'	Response.Write("<OPTION Value=" & rs("KOD")  & ">" &rs("NAIM"))
'	rs.MoveNext
'WEND	

Response.Write(lcRetVal)
set oMSSoapCLient=Nothing
%>
</SELECT>

<br>
<br>
<INPUT TYPE="Submit" Value = "ВЫБРАТЬ" >
</form>


</body>


3. Метод getasb01 - источник данных FoxPro
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  PROCEDURE getasb01 AS XMLString
 
  SELECT kod,  naim ;
  FROM \\YOURSERVER\data\ASB01.DBF ;
  INTO CURSOR asb_01 ;
  WHERE !EMPTY(PR) ORDER BY kod

  retarray=""
  GOTO TOP
  DO WHILE !EOF()
    retarray=retarray+"<OPTION Value=" + ALLTRIM(STR(kod))  + ">" +ALLTRIM(naim)

    SKIP
  ENDDO
  USE
  RETURN retarray
ENDPROC

P.S. Этому коду более 5 лет, так что он не очень красив...
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33202270
Oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за пример, разберусь...

вот метод тест
project file name is 'mydll.pjx'

DEFINE CLASS SERVER AS SESSION OLEPUBLIC

PROCEDURE INIT
SET SAFETY OFF
SET DATE GERMAN

set cent off

SET MULTILOCKS ON
SET REPROCESS TO 1000
SET STRICTDATE TO 0

*!* If you do any work with SQL Pass-Through
*!* these settings are a good idea.
SQLSETPROP(0,"DispLogin",3)
SQLSETPROP(0,"DispWarnings",.F.)
ENDPROC

PROCEDURE test AS Integer


*open database c:\ws\data SHARED
**nSQL = sqlConnect("SQL")

******************
** !! For call of dll like createobject(mydll.server) - do not work
******************

nSQL=SQLCONNECT("SQL Server","user", "pass")
***
**where "SQL Server" is my ODBC connection name
** - now work in createobject(mydll.server)
*** without errors at all
*** ? o.test returns 1 and excell with data is running


dBegin = {^2000-01-01}
dEnd = {^2005-07-26}

cTitle = ALLTRIM(client.nomerdog)
sSqlText='EXEC sp_getReport '+'"' + dToC(dEnd) + '", "' + cTitle + '"'

nExecCode=sqlExec(nSQL,sSqlText , "report1")
* ******** ********************
*** !!Error in SqlExec - nSQL discriptor is incorrect -1466
*** in call like that: o=CREATEOBJECT("MSSoap.SoapClient30")
** o.MSSoapInit("http://mycomp/oleg/SERVER.WSDL")
**? o.test - error !
****************
*set step on
IF nExecCode<0
MESSAGEBOX("Error in select")
MESSAGEBOX(sSqlText)
RETURN
ENDIF

if recCount() = 0
WAIT WINDOW "No data from "+dToC(dbEGIN)+" to "+ dToC(dEnd)
return
endif

Exc = CreateObject( "Excel.Application" )
Exc.Visible = .f.
Exc.DisplayAlerts = .f.
Exc.Workbooks.Add
List = Exc.ActiveSheet()
nSize = 2
nCenter = -4108
nRight=-4152
i = 0
nGlobal = 0
*do footer

**********

**********
*Exc.Visible = .T.
*set step on


Range = List.Range("C1")
Range.Value = 'My company'
Range.Font.Bold = .T.
Range.Font.Italic = .T.
Range.Font.Size = 8
Range.HorizontalAlignment = nCenter
List.Range("A1:H1").Borders(-4107).Weight = nSize
List.Range("A1:H1").Select
Exc.Selection.Merge

select report1
scan
** output to excell
enscan

Exc.Visible = .T.
RETURN (1)
ENDPROC

ENDDEFINE
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33202509
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и наварочено в TEST

1. Смешаны команды, которые применять нельзя в Web Services (like WAIT WINDOW, MESSAGEBOX etc.)...

2. Никак не могу понять, что Вы там хотите сделать. Что-то вывести в Excel? Это прсто задача для развития или что-то практическое?

3. Я бы тут поступил просто - убрал бы все команды и добавлял бы их по одной, чтоб понять где ошибка...

Хотя вот даже место
Код: plaintext
sSqlText='EXEC sp_getReport '+'"' + dToC(dEnd) + '", "' + cTitle + '"'
Ведь нельзя так писать - используйте лучше параметры по ссылке, так-как с датой для MS SQL Server угадать сложно...

Просто прочитайте про SQL Server - к Web Services Ваши вопросы имеют мало отношения...
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33202907
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Oleg1113!

После SQLCONNECT() нужно проверять что было возвращено - если -1 - то
AERROR() и инфу передать наружу через COMRETURNERROR(). И потом уж
анализировать почему коннект был неудачен. Также в том классе который
является OLEPUBLIC опиши обработчик события Error - чтобы он все ошибки
возвращал наружу через COMRETURNERROR()... Если есть другие классы - то и из
них нужно предусмотреть возврат ошибки наружу.

Вообще работа WS отличается от работы "просто dll" в основном тем, что идёт
из под другого аккаунта - IIS-ового или ASPNET. Естественно, что этим
аккаунтам могут быть недоступны твои DSN-ы (особенно если они USER или File
DSN), могут быть недоступны сетевые ресурсы и т.п.
Вместо SQLCONNECT() я бы использовал SQLSTRINGCONENCT() ЯВНО прописывая
строку соединения, БЕЗ DSN - т.е. Driver={SQL Server} и т.д.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33203323
Oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey ChНу и наварочено в TEST

1. Смешаны команды, которые применять нельзя в Web Services (like WAIT WINDOW, MESSAGEBOX etc.)...

2. Никак не могу понять, что Вы там хотите сделать. Что-то вывести в Excel? Это прсто задача для развития или что-то практическое?

3. Я бы тут поступил просто - убрал бы все команды и добавлял бы их по одной, чтоб понять где ошибка...

Просто прочитайте про SQL Server - к Web Services Ваши вопросы имеют мало отношения...

по 1. да Вы правы
по 2. естес-но практическое
по 3. ну где ошибка сообщается строка такая-то - я привел в вопросе где..(? :) )
ну и SQL Seever тоже ни причем - я ведь указываю что, ЧТО при вызыве типа
mydll.server ... o.test ВсЁ работает ..
+ у нас настроено так что символьную дату типа german он понимает, так что ...
____
Спасибо Igor Korolyov буду проверять Ваши мысли...
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33203435
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg1113по 3. ну где ошибка сообщается строка такая-то - я привел в вопросе где..(? :) )
ну и SQL Seever тоже ни причем - я ведь указываю что, ЧТО при вызыве типа
mydll.server ... o.test ВсЁ работает ..
+ у нас настроено так что символьную дату типа german он понимает, так что ...
Подождем, пока Вы не сделаете, то что Вам рекомендовал Igor Korolyov, а там уже посмотрим, если ошибка не уйдет...
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33204516
Oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQLcoonectstring вообще не работает в данном случае да возвращает -1, хотя из среды ( VFP ) проходит.
Обработчик ошибок думаю пока не принципиально номер ошибки известен
в программе пишем IF nSQL < 0 return 2 ( т.к. метод возращ. инт )
соотв. рез-т 2 - не соед. SQLConnect

По аккаунтам
ну я же создаю объект
o.MSSoapInit("http://mycomp/oleg/SERVER.WSDL")
, т.е. я создаю его под IWAM_mycomp - встроенная учетная запись для запуска
ИИС, и со своего компа я вхожу по анонимной записи IUSR_mycomp
что тогда надо сделать для анонимной записи, включить её в домен?
а потом через ЕМ предоставить права для локальной учетной записи?
вообщем путаница какая-то это есть ложный след ..., потому что
1. В SQL connect стоит системное имя, которое проходит и из Visual Basica
и Sharpa
2. С успехом данную процедуру переписали на С++++ права системные всё работает, а код VFP использовать так и не смогли НЕ работает...

Резюме данный пример приобретает теперь теоритеческое, значение .
Вот и реальный пример доказал всё-таки приемущество С++++ над VFP
жаль мне в общем... хорошая программа ( VFP ).
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33205351
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот примерно как я делал год назад небольшой проект. Пример простой - идет вызов курсора с правами клиента внутри программы (хотя я так уже не пишу больше):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
*-------------------------------------------------------*
* Program-ID.......: SQLWS.PRG
* Purpose..........: Web Services class for MS SQL project
*-------------------------------------------------------*

DEFINE CLASS SQLWS 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 

    PUBLIC gcPassword, m.gchConn, m.gcConnectString

    m.gcConnectString=UPPER(ALLTRIM('Driver=SQL Server;Server=MSSQL;UID=sqlremoteuser;PWD=secret;DATABASE=MYDBSQL;APP=VFP SQL   '))

*-------------------------------------------------------*
* If you do any work with SQL Pass-Through
* these settings are a good idea.
*-------------------------------------------------------*
    SQLSetProp( 0 ,"DispLogin", 3 )
    SQLSetProp( 0 ,"DispWarnings",.F.)
    SQLSetProp( 0 ,"Asynchronous",.F.)

  ENDPROC

*-------------------------------------------------------*
* Procedures for working with SQL Server
*-------------------------------------------------------*
* this procedure return cursor with user's rights from security system
  PROCEDURE sp_security_get_permissons_list(m.lclogin,m.lcpassw) AS XMLString

    THIS.startSQLConnection()

    lcQuery = [Exec sp_security_get_permissons_list @SU_LOGIN=']
    lcQuery = lcQuery +m.lclogin+[', @SU_PSW=']+m.lcpassw+[']

    lnOutput = SQLExec(gchConn, lcQuery,'CR')

    THIS.endSQLConnection()

    IF lnOutput>=0
*    &curuniv
      CURSORTOXML("CR","lcXMLa11",1,1,0,"1")
    ELSE
***lcXMLa11= m.lclogin +' --- ' + m.lcpassw
      lcXMLa11=-1
    ENDIF
    CLOSE DATABASES ALL
    RETURN (lcXMLa11)
  ENDPROC


* universal return cursor from SQL server without any parameters
  PROCEDURE univ_get_noparam(m.lclogin,m.lcpassw, m.lcsp_name) AS XMLString

    lcXMLa11=-1

    THIS.startSQLConnection()

    lnRetval = 0
    lcQuery = [ {?@lnRetval=call sp_security_validatelogin (']+m.lclogin+[', ']+m.lcpassw+[')}]
    lnResult = SQLExec(gchConn, lcQuery)
    IF lnResult>0 AND lnRetval>0

      lcQuery = [Exec ]+m.lcsp_name

      lnOutput = SQLExec(gchConn, lcQuery,'CR')

      THIS.endSQLConnection()

      IF lnOutput>=0
*    &curuniv
        CURSORTOXML("CR","lcXMLa11",1,1,0,"1")
      ELSE
***lcXMLa11= m.lclogin +' --- ' + m.lcpassw
        lcXMLa11=- 1 
      ENDIF
      CLOSE DATABASES ALL
    ELSE
      THIS.endSQLConnection()
    ENDIF
    RETURN (lcXMLa11)
  ENDPROC


*------------------------------------------------------*
* Web Service Internal Library
*------------------------------------------------------*

  HIDDEN FUNCTION startSQLConnection

    m.gchConn=SQLSTRINGCONNECT(m.gcConnectString)

    lcQuery = [USE oriasSQL]
    lnResult = SQLExec(gchConn, lcQuery)

    lcQuery = [SET DATEFORMAT dmy]
    lnResult = SQLExec(gchConn, lcQuery)

    lcQuery = [SET QUOTED_IDENTIFIER ON]
    lnResult = SQLExec(gchConn, lcQuery)

    lcQuery = [SET NOCOUNT ON]
    lnResult = SQLExec(gchConn, lcQuery)

    lcQuery = [SET ARITHABORT OFF]
    lnResult = SQLExec(gchConn, lcQuery)

    lcQuery = [SET ANSI_WARNINGS OFF]
    lnResult = SQLExec(gchConn, lcQuery)

    lcQuery = [SET ANSI_PADDING ON]
    lnResult = SQLExec(gchConn, lcQuery)

    lcQuery = [ANSI_NULLS OFF]
    lnResult = SQLExec(gchConn, lcQuery)


  ENDFUNC

  HIDDEN FUNCTION endSQLConnection
    lnResult = SQLDisconnect(gchConn)
  ENDFUNC


ENDDEFINE
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33205449
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Oleg1113!

1) Далеко не факт что C++ программа работает через ODBC драйвер
2) Взять таки и посмотреть информацию AERROR() после НЕудачного коннекта и
решить эту проблему - ну никак нельзя.
Я думаю что для того аккаунта, под которым ты запускал сервис просто не
прописан ODBC драйвер - вот он и не может его найти...
P.S. Списывать свои личные неудачи на среду - мягко говоря странно.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33206027
Oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Korolyov
Hi Oleg1113!

1) Далеко не факт что C++ программа работает через ODBC драйвер
2) Взять таки и посмотреть информацию AERROR() после НЕудачного коннекта и
решить эту проблему - ну никак нельзя.
Я думаю что для того аккаунта, под которым ты запускал сервис просто не
прописан ODBC драйвер - вот он и не может его найти...
P.S. Списывать свои личные неудачи на среду - мягко говоря странно.

Posted via ActualForum NNTP Server 1.2

Вы просто не пробовали - 1. запустите web services чтобы открылся excel ...
( вызов типа o.MSSoapInit("http://mycomp/oleg/SERVER.WSDL") ??(?)
2. как указать ожидание чтобы выполнилась долгая хранимая процедура
здесь же просто SLQConnection или stringconnection ??
(чтобы он не сообщил (ms sql) что время истекло )

...можно соединение осуществить конечно ...

дело в том что среда не совсем приспособлена для такого рода задач ( примеры о другом ( т.е. вообще ..) думаю можно не приводить )
так бывает, ничего странного в этом увы нет...
Sharp более гибок в ЭтоМ случае поэтому переписали на нём вот и всё...

позвольте уточнить про аккаунт, какой?
.. под IWAM_mycomp - встроенная учетная запись для запуска
ИИС, или IUSR_mycomp или ??
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33209392
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Oleg1113!

> Вы просто не пробовали

Естественно, ибо в твоём коде надо слишком много чего править, дабы он
заработал.

> 1. запустите web services чтобы открылся excel ...

Я запускаю процедуры генерации Excel докуменитов из простой COM dll
работающей с ASPNET приложением, и из COM+ приложения (объект которого
запрошен тем-же самым ASPNET приложением, но уже с другого компьютера) - и
всё замечательно отрабатвает - ЕСТЕСТВЕННО что никакой Exc.Visible = .T. там
и в помине нету - извини, но мне недосуг объяснять почему из WS и вообще из
любых "серверных" приложений нельзя НИКАКОГО интерфейсного взаимодействия
делать - ни Messagebox, ни Excel.Visible = .T.
Просто прими это как аксиому.

> 2. как указать ожидание чтобы выполнилась долгая хранимая процедура

Ожидание ГДЕ?
Если в самой COM процедуре (методе объекта) - то просто использовать
синхронный вызов (он вообще по умолчанию всегда и есть синхронный) и
настроить таймауты. Если на стороне WS клиента - то смотреть свойства SOAP
объекта - там где-то есть свой таймаут...

> Sharp более гибок в ЭтоМ случае поэтому переписали на нём вот и всё...

И флаг вам в руки! A у меня всё отлично работает на фоксе (правда с родными
dbf-ами, до серверного хранилища руки пока не дошли, хотя на тестах никаких
серьёзных проблем не было - пришлось только для Oracle client в настройках
сменить тип авторизации, ибо под дефолтным не работало соединение из под
системных аккаунтов - причём любых системных! Но то фишки клиента, а не
фокса).
Так что так и пишите - "мы не смогли сделать на VFP" - а не категоричное
"Sharp более гибок в ЭтоМ случае" - т.к. это НЕПРАВДА - в частности с Office
вплоть до 2003 версии, NET работает абсолютно по идиотски - там совершенно
серьёзно рекомендуют делать просмотр списка запущенных процессов и убивать
"лишние" инстансы Excel.exe - которые из-за кривости COM interop остаются в
памяти после использования...
А вот, к слову сказать, ASPNET приложение колбасит не по детски -
перегружается оно отчего-то спонтанно, запросы от клиентов теряет...
Разработчик плюнул на это и пошёл в отпуск - а до того 2 недели боролся,
пришлось через ж... сделать - "внешнее" сохранение данных web-Request-а дабы
система хоть как-то заработала...

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33209795
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg1113 позвольте уточнить про аккаунт, какой?
.. под IWAM_mycomp - встроенная учетная запись для запуска
ИИС, или IUSR_mycomp или ??
IUSR_mycomp
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33212647
Oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Korolyov
Я запускаю процедуры генерации Excel докуменитов из простой COM dll
работающей с ASPNET приложением, и из COM+ приложения (объект которого
запрошен тем-же самым ASPNET приложением, но уже с другого компьютера) - и
всё замечательно отрабатвает

Прекрасно, буду Вам признателен за небольшой пример (-ы если -> "и из COM+ приложения" если можно )
Просто я не особо просвещен ( пока ) про СОМ+, например.
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33214026
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Oleg1113!

Чес слово недосуг этим сейчас заниматься, а слать же всю универсальную
компоненту я не могу по ряду причин. Просто следуй приведенным советам -
прежде всего убери все интерфейсные взаимодействия, и всегда учитывай, под
каким аккаунтом ты работаешь (чтобы хватило прав и на запись результата в
указанную папку). Для работы с ODBC - используй СТРОКУ подключения БЕЗ DSN -
т.е. Driver={SQL Server}; и т.д. - для простоты - разреши на сервере mixed
авторизацию, и в строке подключения пропиши явно логин и пароль.
COM+ приложение создаётся парой кликов мышой в апплете Component Services -
в "компоненты" приложения просто перетяни из проводника свою dll-ку и всё.
Для работы на том-же компе больше ничего и не надо - для работы с другого -
надо настроить Firewall (в MSKB или где-то в другом месте на сайте MS
описано как это сделать), и настроить безопасность данного приложения - в
частности разрешить тому доменному аккаунту под которым будет стучаться к
этой компоненте клиент активацию и создание объектов.
Учти, что в 2-х строчках и 5-ти словах такие вещи НЕВОЗМОЖНО полноценно
описать. Так что если это реально интересно/нужно - то в поиск и чтение
статей, коих достаточно много.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33219922
oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Korolyov
Я запускаю процедуры генерации Excel докуменитов из простой COM dll
работающей с ASPNET приложением, и из COM+ приложения (объект которого
запрошен тем-же самым ASPNET приложением, но уже с другого компьютера) - и
всё замечательно отрабатвает - ЕСТЕСТВЕННО что никакой Exc.Visible = .T. там
и в помине нету - извини, но мне недосуг объяснять почему ...

Да, я как раз про то как посредсвом web служб вызвать dll сформир VFP
и может быть вы обладаете какой либо информацией по этому вопросу, намекните если знаете ...
надо же на чем-либо более менее понятном закрыть тему )
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33220152
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To: oleg1113

Может Вам просто надо получть Excel файл согласно критерий выборки и переслать его на клиента?

Для этого сам Excel не нужен - FoxPro прекрасно справляется с этой задачей самостоятельно...
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33220613
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне тоже интересно для чего здесь excel если не секрет :)
...
Рейтинг: 0 / 0
Реальная ситуация с Web services
    #33221614
oleg1113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно, гм, ) VFP формирует dll ( ну там из проекта )
dll прекрасно работает ( я уже приводил код, про excel = .t. и тп. )
вот как раз на основе хорошей, но неск. длинноватой статьи, от Sergey Ch.
только не через webservises.
Вот как бы взять эту, т.н. обычную dll и вызвать посредсвом чего-либо
в web приложении...
Пусть это будет cgi там скрипты и т.п., java, c++ и т.д.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Реальная ситуация с Web services
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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