Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
WebService Wrapper
Message
General information
Forum:
Visual FoxPro
Category:
Visual FoxPro and .NET
Miscellaneous
Thread ID:
00565223
Message ID:
00565533
Views:
18
Hi!

Thanks for the reply.

>
>What's the error? Put the Web Service client code into a try/catch block and look at the exception error message.

Here is the error I get:
OLE IDispatch execption code 0 from webservices.VFPWServices webservices.VFPWServices:
vfpwservices.saroshsays c:\program files\microsoft visual foxpro 7\webservices.prg
Error in line 59 OLE IDispatch execption code 0 from Client: 
WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057-
WSDLReader:XMLParser failed at linenumber 0, lineposition 0,
reason is:No data is available for the requested resource. HRESULT=0x1.. 1429..
Is this becuse of spaces in the path name? (c:\program files\microsoft visual foxpro 7\webservices.prg) and I also noticed that the path for some reason in the error message is not right it should have been "c:\program files\microsoft visual foxpro 7\webservices\webservices.prg" instead of "c:\program files\microsoft visual foxpro 7\webservices.prg" (There is a sub-folder called "WebServices" under the "microsoft visual foxpro 7" folder)

Here is my class:
Define Class VFPWServices As Session OlePublic

	Name = "VFPWServices"

	Procedure Compute(vcExpression As String) As Variant
		Local lxReturn As Variant, lcOldError As String, llError As Boolean

		lcOldError = On("error")
		On Error llError = .T.

		llError = .F.
		lxReturn = Evaluate(vcExpression)

		If llError then
			lxReturn  = "#Error"
		Endif

		If Empty(lcOldError) then
			On Error
		Else
			On Error &lcOldError.
		Endif

		Return lxReturn
	Endproc

	Procedure GetStockPrice(vcSymbol As String) As Number
		Local lnReturn As Number, lcOldError As String, llError As Boolean
		LOCAL loWS

		lcOldError = On("error")
		On Error llError = .T.
		*-- If I remark the On Error line above then the line 
		*-- loWS.mssoapinit(....) a few lines below generates the error

		llError = .F.
		lnReturn  = -101

		If Type("vcSymbol") = "C" And Not Empty(vcSymbol) then
		
			loWS = Createobject("mssoap.soapclient")
						
			IF VARTYPE(loWS) = "O" then

				*-- The line below generates the error 
                                *-- if I remark the On Error statement a few lines above
			
				loWS.mssoapinit("http://www.xmethods.net/sd/StockQuoteService.wsdl")
				*lnReturn = loWS.getquote("msft")
				lnReturn = loWS.getquote(vcSymbol)
				
			Else

				lnReturn  = -101

			Endif

		Endif

		If llError then
			lnReturn  = -99
		Endif

		If Empty(lcOldError) then
			On Error
		Else
			On Error &lcOldError.
		Endif

		Return lnReturn
	Endproc

Enddefine
The other method in the WS works fine.

>
>You may have to refresh the Web Reference if you made changes to the Web Service. Other than that there's really no reason that this should work any differently from a Web Service than from a standalone app unless there are permiession issues with accessing the Web Service (ie if you're forced to log in for example).
>

There doesn't seem to be any permission issues because I can call this WebService from a prg or from the command window - no problem (no login is required) It is only when I call this WS from within my WS.

Thanks in advance.


>+++ Rick ---
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform