Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Web Services: How to use MsGraph? - get OLE error

Status
Not open for further replies.

dbMark

Programmer
Apr 10, 2003
1,515
US
We currently use a Visual FoxPro EXE compiled as COM compliant to use MsGraph to create pie charts that we then put in reports for online use. Now we need to do several changes at once and we're getting an error and we not sure where the problem is.

Moving from: NT4 server and using VFP and ASP to create online reports with MsGraph ppie charts. Going to: new Windows 2003 server and using Web Services to send the report, converted to PDF, to another location. We are adjusting everything so we use Web Services to call a VFP DLL which then calls a VFP EXE which uses APPEND GENERAL to insert the graph into a cursor used by the report.

Problem: We get an OLE error that MsGraph cannot read a registry value but we don't know which one! It seems to be a file permissions issue, but where? We used ProcessExplorer, but it didn't show any obvious solutions. If we give IUSER or IWAM administrator privileges, it works. While that's okay for a test environment, we simply can't do that when we go live. Any ideas?

By the way, Win2003 required us to install Office to get access to MsGraph but we never had to do that with old WinNT4.

dbMark
 
Any ideas? Anyone?

Here are some more details: Web Services cannot call a VFP EXE, only DLL's and those can't include a report form or other functions that may entail calls to the user interface, such as displaying any sort of output to the screen. So what we're trying to do is compile the VFP application that communicates with Web Services as a DLL. That uses IUSR. Then it calls a VFP app that is compiled as an EXE which then does the APPEND GENERAL for MsGraph's pie chart but there it uses IWAM. We get messages that it can't call an OLE object outside the COM object, apparently it is a rights issue in the registry.

How it works on IIS: IIS uses an ISAPI listener for MsSoap30.dll, references a "dictionary with .wsdl extension, and then calls the VFP dll.

By the way, we noticed that every time a VFP project is recompiled, the corresponding registry keys are deleted then re-created. Fine. However, if a project is deleted, those keys are left behind in the Windows registry to accumulate over time which makes troubleshooting that much harder!

All this because we're trying to send/receive Web Services (that's a part of the development specs) and among many other things build a report that has a pie chart! Arghh! Help...

dbMark
 
Okay, still testing, but I think I have the answer: Too many changes without all the correct timing and sequence of restarts.

We create a new application in Application Server, Component Services (used to be Transaction Server in NT), My Computer, COM+ Application. We need to start the app and also restart IIS (IISRESET).
 
Actually, we're able to now assign these processes to run as a user with just limited privileges. We were setting, flipping and testing so much and so fast that somehow we didn't have every setting just right and started all together at the same time.

You know how it is, the first time to move into a new environment is near impossible - until all the pieces of the puzzle are lined up in order.

We still can't run a report form from a Web Services call to a DLL, as only an EXE can run anything that might involve user interaction, but we are able to connect the dots together from W.S. to .WSDL to DLL to EXE and back.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top