This project is read-only.

Is it possible to host a DeepEarth XAP on Apache ?

Mar 4, 2009 at 2:26 PM
Edited Mar 4, 2009 at 4:27 PM
I've been successfully developing with DeepEarth for several months now - it's certainly a great project. However I'm trying to setup a hosted server (which runs Linux and Apache) but have run into difficulties. Has anyone else managed to get the VE Imagery working on Apache ?

I appreciate lots of users will be hosting on IIS but my server runs Apache so I have to stick with that. I've already temporarilly worked around retrieving the username / password & url from the web.config by hard coding these values into the TokenService constructor. This allows my app to launch and successfully display all the OSM layers, but it refuses to get a Token for the VE web service.

Tracing the web requests on a test client machine (using Fiddler2) shows that it doesn't make a request to  http://staging.common.virtualearth.net/find-30/common.asmx like it does on my dev machine. I'm assuming this is down to not having .NET on the server but can't figure out what is stopping the request.

Btw, I've already applied the dynamic token service binding patch and have confirmed it downloads the VETokenService.svc file from my server.

Any pointers anyone can share with me ?

Thanks,

Andrew

Mar 4, 2009 at 7:46 PM
You might be able to use Mono to do this, I don't know for sure.

Here is a quick (and extremely approximate) primer on how all this works:

1)Your Silverlight application Sends a SOAP message to VETokenService.svc on the server
2)*.svc files are mapped to aspnet_isapi.dll (just like ASPX files)  so the request is sent to ASP.NET
3)The SVC file tells .NET to load up the Token Service from DeepEarth.Provider.VirtualEarth.Services
4) The token service retrieves the user name, password, and url from the web.config, communicates with Microsoft, and gets the token
5) The token is returned to Silverilght as a SOAP response to the step 1 SOAP request.

Here is how your server is working:
1) Your Silverlight applications sends a SOAP message to VETokenService.svc on the server
2) Apache, having no idea what an .svc file is just sends the svc file itself to Silverlight
3) Silverlight thows an exception since the svc file is definitly not a SOAP message.
Mar 4, 2009 at 8:08 PM
Thanks Colin, that makes things a little clearer.

I've experimented with Mono & Moonlight in the past but found they don't fully support the current .NET / Silverlight versions. So unfortunately unless I can hand craft some SOAP requests, it sounds like I might need to get a Windows box for hosting the XAP.