L'architecture de mon projet poss=E8de une DMZ priv=E9e avec mon serveur
de rapport (MS reporting services) =E0 l'int=E9rieur.
Mon serveur IIS est dans une DMZ public.
Je dois afficher un rapport pdf g=E9n=E9r=E9 par MS reporting services.
La seul solution que j'ai trouv=E9 c'est rediriger la requette HTTP de
mon navigateur vers le serveur de rapports dans ma DMZ mais mon code
(ci-dessous) ne donne pas de r=E9sultat !
cela donne une vision assez restreinte de votre architecture et de vos contraintes :)
Eventuellement, je pourrai toujours vous préconiser, si vous aviez ISA comme FW, de publier votre site RS privé comme site public, mais bon...
Tout d'abord, si vous sauvegardez le résultat de oSReader.ReadToEnd() dans un fichier local au serveur, que trouvez vous ?
Cdt,
Patrice Manac'h MCS France
a écrit dans le message de news:
Bonjour,
L'architecture de mon projet possède une DMZ privée avec mon serveur de rapport (MS reporting services) à l'intérieur.
Mon serveur IIS est dans une DMZ public. Je dois afficher un rapport pdf généré par MS reporting services.
La seul solution que j'ai trouvé c'est rediriger la requette HTTP de mon navigateur vers le serveur de rapports dans ma DMZ mais mon code (ci-dessous) ne donne pas de résultat !
Si quelqu'un à une idée, je le remercie d'avance. Hervé.
Bonjour,
cela donne une vision assez restreinte de votre architecture et de vos
contraintes :)
Eventuellement, je pourrai toujours vous préconiser, si vous aviez ISA comme
FW, de publier votre site RS privé comme site public, mais bon...
Tout d'abord, si vous sauvegardez le résultat de oSReader.ReadToEnd() dans
un fichier local au serveur, que trouvez vous ?
Cdt,
Patrice Manac'h
MCS France
<mentionaretirer_hervejuge@hotmail.com> a écrit dans le message de news:
1138900518.470613.232800@g49g2000cwa.googlegroups.com...
Bonjour,
L'architecture de mon projet possède une DMZ privée avec mon serveur
de rapport (MS reporting services) à l'intérieur.
Mon serveur IIS est dans une DMZ public.
Je dois afficher un rapport pdf généré par MS reporting services.
La seul solution que j'ai trouvé c'est rediriger la requette HTTP de
mon navigateur vers le serveur de rapports dans ma DMZ mais mon code
(ci-dessous) ne donne pas de résultat !
cela donne une vision assez restreinte de votre architecture et de vos contraintes :)
Eventuellement, je pourrai toujours vous préconiser, si vous aviez ISA comme FW, de publier votre site RS privé comme site public, mais bon...
Tout d'abord, si vous sauvegardez le résultat de oSReader.ReadToEnd() dans un fichier local au serveur, que trouvez vous ?
Cdt,
Patrice Manac'h MCS France
a écrit dans le message de news:
Bonjour,
L'architecture de mon projet possède une DMZ privée avec mon serveur de rapport (MS reporting services) à l'intérieur.
Mon serveur IIS est dans une DMZ public. Je dois afficher un rapport pdf généré par MS reporting services.
La seul solution que j'ai trouvé c'est rediriger la requette HTTP de mon navigateur vers le serveur de rapports dans ma DMZ mais mon code (ci-dessous) ne donne pas de résultat !
//la réponse HttpWebResponse oWResponse =(HttpWebResponse) oWRequest.GetResponse(); int iBytesToRead = (int)oWResponse.ContentLength; Stream oS = oWResponse.GetResponseStream(); int n; byte[] buffer = new byte[iBytesToRead]; int iBytesRead = 0; while (iBytesToRead > 0) { // La Fonctio Read Renvoie 0 ou le nombre d'octets à lire n = oS.Read(buffer, iBytesRead, iBytesToRead); // La fin du fichier a été atteinte if (n == 0) { break; } iBytesRead += n; iBytesToRead -= n; } Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "attachment; filenameúcture.pdf"); Response.BinaryWrite(buffer); oS.Close(); oWResponse.Close();
Merci pour vos idées.
Le fichier que je récupère avec cette méthode ne ressemble pas au
fichier source, quelque soit l'encodage utilisé !
Avec le code ci-dessous, j'obtiens le même fichier à la différence
près que j'ai en plus le code HTML de la page appelante à la fin.
//la réponse
HttpWebResponse oWResponse =(HttpWebResponse) oWRequest.GetResponse();
int iBytesToRead = (int)oWResponse.ContentLength;
Stream oS = oWResponse.GetResponseStream();
int n;
byte[] buffer = new byte[iBytesToRead];
int iBytesRead = 0;
while (iBytesToRead > 0)
{
// La Fonctio Read Renvoie 0 ou le nombre d'octets à lire
n = oS.Read(buffer, iBytesRead, iBytesToRead);
// La fin du fichier a été atteinte
if (n == 0)
{
break;
}
iBytesRead += n;
iBytesToRead -= n;
}
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment;
filename=facture.pdf");
Response.BinaryWrite(buffer);
oS.Close();
oWResponse.Close();
//la réponse HttpWebResponse oWResponse =(HttpWebResponse) oWRequest.GetResponse(); int iBytesToRead = (int)oWResponse.ContentLength; Stream oS = oWResponse.GetResponseStream(); int n; byte[] buffer = new byte[iBytesToRead]; int iBytesRead = 0; while (iBytesToRead > 0) { // La Fonctio Read Renvoie 0 ou le nombre d'octets à lire n = oS.Read(buffer, iBytesRead, iBytesToRead); // La fin du fichier a été atteinte if (n == 0) { break; } iBytesRead += n; iBytesToRead -= n; } Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "attachment; filenameúcture.pdf"); Response.BinaryWrite(buffer); oS.Close(); oWResponse.Close();