|
|
|
|||||
|
Silverlight client: Failed to contact the Bridge
Hi, I have configured IIS to host the sample IceSL-0.1.0 (which also contains the bridge). I've added PUT to the list of verbs handled by .ashx and added all the configuration needed (MIME types etc).
However, clicking on a button returns: Code:
OnClick method: Call failed with exception: Ice.ProtocolException reason = "invalid http response code: Not Found" at IceInternal.ProxyFactory.checkRetryAfterException(LocalException ex, REference ref at Ice.ObjectPrxHelperBase.handleException__(LocalException ex, Int32 cnt) at Ice.ObjectPrxHelperBase.handleExceptionWrapperRelaxed__(LocalExceptionWrapper e at Demo.HelloPrxHelper.sayHello(Int32 delay, Dictionary '2 context__, Boolean explicitC at Demo.HelloPrxHelper.sayHello(Int32 delay) at helloC.Page.OnClick(Object sender, MouseEventArgs e) - - - 404 I installed LiveHTTPHeaders to watch the request/response from Firefox, and it seems that Page.xaml.cs is sending a PUT request to the Bridge, but a response of 404 Not Found is returned http://myIPaddress:1287/hellosl/IceBridge.ashx PUT /hellosl/IceBridge.ashx HTTP/1.1 Host: myIPaddress:1287 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-gb,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Content-Type: application/binary Referer: http://myIPaddress:1287/hellosl/TestPage.html Content-Length: 5 IHTP HTTP/1.x 404 Object Not Found Server: Microsoft-IIS/5.1 Date: Tue, 15 Apr 2008 21:04:40 GMT Connection: close Content-Type: text/html Content-Length: 102 Just wondering if anyone has encountered this problem? I am using Windows XP SP2. This works fine when i run from Visual studio (localhost). Last edited by JNg : 04-15-2008 at 06:58 PM. |
|
|||||
|
Yes. I can browse directly from IE to
http://myIPaddress:1287/hellosl/IceBridge.ashx and it would initialize the bridge, call ProcessRequest (which i can see from the EventViewer logs). When Running the app from http://myIPaddress:1287/hellosl/TestPage.html, nothing shows up in the Event logs. I have given read and execute permissions to the anonymous account that IIS authenticates as. |
|
||||||
|
You could look at your web.config, or check the IIS configuration tool. It might be better to use a real http sniffing tool such as HTTP Sniffer. HTTP Protocol Sniffer., or HttpWatch: An HTTP Viewer and HTTP Sniffer for IE 6 & 7. That will show you what IE sends and SL sends and whatever differences there are between the two. What error code is IIS logging? You should be able to find a code like 404.X in the event log. What is X?
Last edited by matthew : 04-15-2008 at 08:07 PM. |
|
|||||
|
Do I have to add any entries in the web.config? Or u meant NTFS permissions of that file + put verbs to .ashx on IIS Default website ( i have set file permission and put verbs using IIS manager ).
LiveHTTPHeaders is only for Firefox. The IIS log only returns - - - 404, nothing more: Last edited by JNg : 04-15-2008 at 08:12 PM. |
|
||||||
|
I don't see in the access log above any access to IceBridge.ashx. For the 404 specific errors codes look at Description of Microsoft Internet Information Services (IIS) 5.0 and 6.0 status codes.
With respect to web.config, you should not have to directly edit this file. However, from inspecting the content of the file you should be able to determine the configured set of permissible verbs on each of the resources. Last edited by matthew : 04-15-2008 at 08:20 PM. |
|
||||||
|
Hi
I have installed the IceSl demo in IIS 5.1 again and here are details of what i do. This time i use one virtual directory for the bridge and other for the sl client. In this way we can reuse the Bridge setup for other demos hosted on the same machine. IIS 5.1 Setup =================================== Install the IceBridge =================================== 1) Create a new directory where you want to place IceBridge files in this demo we are goint to use c:\icebridge as the physical location of the IceBridge in our computer. In this directory we need to put following files that are in IceSl distribution. Global.asax IceBridge.ashx Web.config 2) Give "ASPNET" user full controll over this directory. 3) Give "Internet Guess Account" the following rights for files Global.asax and IceBridge.ashx Modify, Read & Execute, Read, Write 4) Give "Internet Guess Account" read access to the Web.config file 5) Open IIS console from the administrative tools and create a new virtual directory called icebridge and points to c:\icebridge , check the Read, Run & Execute actions in the Wizard access permissions. 6) Right click the icebridge virtual directory on IIS console. 6.1 Virtual Directory. Read & Log Visits are enabled. Execute permisions: Script & Executables. Application protection: Medium (Pooled) Click on "Configuration.." and then double click .ashx in the open dialog enable this options ALL VERBS option and Script Engine, Check file exits. 7) Give IceBridge.ashx & Global.asax Script Source Access. For this rigth click on the file inside the IIS console click properties. And Check that Script source access is checked in both files. Also check that annonymous access is checked in the File Security tab, that is only needed if you want your bridge be public accessible from clients. Once here the bridge is ready to work with any ice silverlight client hosted in the same server uri. ========================================== Setup the silverlight hello demo client ========================================== 1) Open the hello demo solution and change the Ice.BridgeUri in Page.xaml.cs to point to: http://localhost:1287/icebridge/IceBridge.ashx and rebuild the solution. 2) Create a new directory and copy this files from the hellosl WebApp to it. c:\hellosl c:\hellosl\Page.xaml c:\hellosl\TestPage.html c:\hellosl\TestPage.html.js c:\hellosl\Silverlight.js c:\hellosl\ClientBin\ c:\hellosl\ClientBin\helloC.dll c:\hellosl\ClientBin\IceSl.dll 3) From IIS console create a new Virtual directory that points to c:\hellosl and check Read & Browser permissions in the virtual directory wizard. 4) The hellosl directory need the silverlight mime types, if you have allready setup it in the Default WebSite is not needed to add again for each site. Silverlight required this mime types. * application/x-msdownload .dll * application/xaml+xml .xaml Hope this help Jose |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Silverlight 2.0 has Socket support | kwaclaw | Comments | 5 | 06-11-2008 08:26 PM |
| Problem with Silverlight and IceGrid deployment | JNg | Help Center | 12 | 04-12-2008 01:53 AM |
| Silverlight - IceGrid | JNg | Help Center | 6 | 02-27-2008 03:26 PM |
| ICE for Silverlight | kwaclaw | Comments | 8 | 01-31-2008 12:14 PM |
| Silverlight and ICE | kwaclaw | Comments | 2 | 06-21-2007 02:23 PM |