Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WinJS.xhr: Network Error 0x2efd, Could not complete the operation due to error 00002efd

I have problem with WinJS.xhr when developing a Windows 8 Metro application in JavaScript.

WinJS.xhr({ url: "http://www.seznam.cz"});

When above code is executed, I see in log:

SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete
the operation due to error 00002efd.

I have enabled "Internet (Client)" capability in manifest.

Maybe the problem is because I am behind proxy and using VPN, but I can access internet using Google Chrome (I just need to authorize, otherwise HTTP Status 407 - proxy authorization needed).

How can I fix it?

[EDIT] So I found that it is probably related to the VPN I have to use (Cisco VPN Client). When I disable the VPN, even when I am behind the proxy (I use the LAN, with VPN I use WiFi), the request works. Maybe it is only Cisco VPN related. I had to modify registry as it is described here http://verbalprocessor.com/2012/09/17/windows-8-and-cisco-vpn-client/

Also interesting is that a few Metro apps work (maps) and some do not work (windows store) when I am behind proxy.

Just a notice: I have explored Windows.Networking.Connectivity and in both cases (with/without VPN) I get NetworkConnectivityLevel == "Local Access" (because I am behind the proxy probably).

like image 392
Jirka Meluzin Avatar asked Nov 01 '12 11:11

Jirka Meluzin


2 Answers

I got the same error when connected to my workplace SSL/VPN connection (from Juniper).

Opening the .appxmanifest file and adding the "Private Networks (Home & Server)" capability solved the issue.

<Capabilities>
  <Capability Name="internetClient" />
  <Capability Name="privateNetworkClientServer" />
</Capabilities>
like image 194
anderaus Avatar answered Sep 21 '22 17:09

anderaus


This solution worked for me (see forums link below)... essentially, you need to add the server's certificate to the Windows Store App manifest (also be sure your manfiest "Capabilities" are set to at least "InternetClient"). You can get the server's certificate by exporting it from your browser, save is as a ".der" file. Using Firefox was easier than IE in doing this (From FF, browse to the target domain that has the certificate, then right click on the page > Page Info > Security tab > Details tab > Export button > save as ".der".

http://social.msdn.microsoft.com/Forums/en-ZA/winappswithcsharp/thread/4a776e8c-0e10-4f03-908f-7f765d914080?prof=required

This solution seems absurd - so bear in mind, this may only be necessary for sites that are using self-signed certificates, like in a development environment, because this process was not necessary for other production sites.

like image 40
mytwocents Avatar answered Sep 23 '22 17:09

mytwocents