Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Soap service seems to initialize again and again
Message
From
19/03/2009 19:21:57
Joel Leach
Memorial Business Systems, Inc.
Tennessee, United States
 
 
To
19/03/2009 18:27:56
General information
Forum:
Visual FoxPro
Category:
Web Services
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01389756
Message ID:
01389824
Views:
67
This message has been marked as the solution to the initial question of the thread.
Lennert,

Web services, like the rest of the web, are "stateless", meaning you can't count on anything being the same between requests to the web server. On a web site, you could use cookies or some other method to maintain state on the web server, but I don't know if that's available for SOAP. I think you will have to pass user and pwd to every method on the web service. Also, each method needs to be independent. You can't rely on SomeMethod1() to set properties that SomeMethod2() will use.

>The init-method writes 1 character to a file (additionally). Every time I call some method of loService an extra character is written. Is this just the way SOAP works? Every time you call it it initializes again? Then it is the wrong type of solution for me.I need the object to remember it is already instantiated and remebers it own properties etc. I expected it to behave the same as when calling the same dll locally:
>
>loService = CREATEOBJECT("ifundsmw2.ifundsmw2")
>? loService.SomeMethod1()
>? loService.SomeMethod2()
>
>but it doesn't.
>
>Maybe I need to make myself clearer: I want users of the service to log on to the service (something like loservice.logon(user,pwd)) and after that they can use the loservice-object to question a database, getting answers in xml.
>
>Lennert
>
>>How do you know that loService reinitializes every time?
>>
>>>
>>>I've written a soap service. I call it:
>>>
>>>PUBLIC loService
>>>loService = CREATEOBJECT("MSSOAP.SoapClient")
>>>? loService.MSSoapInit("http://BETA-NL-WS-20/Test/ifundsmw2.WSDL")
>>>
>>>And the object is initialized correctly. But now it comes: each time I call a method from the object loService, the complete object seems to reinitialize. So if, after the last statement above, I do:
>>>
>>>? loService.SomeMethod1()
>>>
>>>the init of the object is executed again. And the next statement:
>>>
>>>? loService.SomeMethod2()
>>>
>>>also initializes the serviceobject again. And so on. Did I do something wrong?
>>>
>>>Lennert
Joel Leach
Microsoft Certified Professional
Blog: http://www.joelleach.net
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform