Bonjour bonjour ! (dit-elle avec gaieté et un soupçon de désarroi
)
Mon problème doit ressembler à beaucoup d'autres mais en fait... ptet pas !
Je dois déployer mon appli web sur le serveur de mon entreprise pour créer un intranet. Elle fonctionne très bien sur mon poste en local. Mais quand je l'installe sur le serveur, j'ai bien ma page de demande de login et mot de passe, mais au moment de me connecter j'ai le message :
Unable to connect to the remote server
Je vais essayer de tout bien détailler pour que vous ayez connaissance de tous les éléments.
J'ai bien autorisé les connexions local et distante (TCP/IP et canaux nommés)
Ma chaine de connexion :
<add key="ANNUAIREConnectionString" value="Data Source=MonServeur\SQLEXPRESS;Initial Catalog=ANNUAIRE;Integrated Security=true;User Id=USERS;packet size=4096;"/>
J'utilise un webservice et des crystal reports.
J'ai créé un .msi (nécessaire quand on utilise des crystal report, non?) mais j'ai pu y ajouter que la sortie de projet : Content Files, car c'est tout ce que VS me propose. Pas de sortie principale donc, est-ce vraiment grave ?
J'y ai ajouté le CrystalDecisionsRedist2005_x86.msm.
J'installe le .msi sur mon poste et déjà je suis obligée de changer ma page de démarrage par défaut dans le répertoire virtuel créé automatiquement.
Quand je lance l'appli sous IE, j'ai ma page de démarrage (demande de login et mot de passe), je rentre les informations demandées (qui sont les bonnes) et là, j'obtiens l'erreur :
Impossible de se connecter au serveur distant
StackTrace :
System.Net.HttpWebRequest.GetRequestStream() at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at WsCollab.WsCollab.LoadUser(String strlogin, String strpwd) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\annuairesetup\b9d3c15b\d7230ca5\App_WebReferences.ucne3zav.0.cs:line 961 at _PageLogin.Authentifier(String strlogin, String strpwd) in c:\Inetpub\wwwroot\AnnuaireSetup\PageLogin.aspx.cs:line 62
Mais... quand j'attache au processus (dans VS Outils>Attacher au processus), je peux débugger ma page pas à pas et là... magique ! Ca passe comme une lettre à la poste !
(je vais devenir chêvre)
Je ne comprend pas pourquoi ça fonctionne dans ce cas-là.
Ce serait déjà un bon début de savoir ça.
Quand je l'installe sur un autre poste ou sur le serveur j'ai la même erreur...
Ca fait 3 jours que je suis dessus et je m'arrache les cheveux !
Alors si vous avez la divine réponse à mon problème... MERCI d'avance pour votre aide !! 
[Edit]J'oubliais de dire qu'il n'y a aucun Firewall et aucun proxy au taf ![/Edit]
Si vous avez besoin d'autres éléments n'hésitez pas à me les demander.
Pour info, mon code C# :
Dans ma page de login,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| private bool Authentifier(string strlogin, string strpwd)
{
bool bOk = false;
try
{
System.IO.StringReader stream;
// Chargement des données par le webservice
WsCollab.WsCollab wsCollab = new WsCollab.WsCollab();
UserInfo = wsCollab.LoadUser(strlogin, strpwd);
stream = new System.IO.StringReader(UserInfo);
DsCollab.ps_col_user.Clear();
DsCollab.ReadXml(stream, System.Data.XmlReadMode.Auto);
DsCollab.AcceptChanges();
if (DsCollab.ps_col_user.Count > 0)
bOk = true;
}
catch (Exception e)
{
this.lblErreur.Text = e.Message + " -/- " + e.StackTrace;
this.lblErreur.Visible = true;
bOk = false;
}
return bOk;
} |
Dans mon webservice WsCollab,
1 2 3 4 5 6
| [WebMethod]
public string LoadUser(string strlogin, string strpwd)
{
CrudAnnuaire.CrudCollab crudCollab = new CrudAnnuaire.CrudCollab();
return crudCollab.LoadUser(strlogin, strpwd);
} |
Dans ma classe CrudAnnuaire,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public string LoadUser(string strlogin, string strpwd)
{
DataAnnuaire.DsCollab dsCollab = new DataAnnuaire.DsCollab();
SqlCommand comUser = new SqlCommand("ps_col_user", this.conxBase);
comUser.CommandType = System.Data.CommandType.StoredProcedure;
comUser.Parameters.AddWithValue("@login", strlogin);
comUser.Parameters.AddWithValue("@pwd", strpwd);
SqlDataAdapter crudUser = new SqlDataAdapter(comUser);
this.conxBase.Open();
crudUser.Fill(dsCollab, "ps_col_user");
crudUser.Dispose();
dsCollab.AcceptChanges();
this.conxBase.Close();
return dsCollab.GetXml();
} |
Partager