IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

WebService - Violation d'accès sur appel


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 182
    Par défaut WebService - Violation d'accès sur appel
    Bonjour,
    Je développe sous Delphi6 et environnement Windows.
    J'ai un webservice dont la seule fonction est d'être interrogé depuis un exe fait également en Delphi6 (fonction Testmsg).
    Mon pb est que fonction des machines ou je déploie mon webservice et mon exe, lorsque je cherche à dialoguer avec mon webservice j'ai une violation d'accès et rien ne se passe.
    Je travaille avec EasyPhp.
    Mon Webservice est déployé dans le dossier cgi-bin.
    J'écoute le port 80.
    Dans les navigateurs (IE, Firefox) en saisissant le chemin du WSDL, j'y accède.

    Le pb n'est pas systématique. Selon mes clients (avec déploiement identique d'Apache, Webservice, exe de test...), j'ai le même pb ou nom.
    Chez mon client 1 :
    Serveur principal avec Webservice->Je teste l'exe en le mettant à la racine du C => OK.
    PC de son réseau->Je teste l'exe en le mettant sur cette seconde machine et interroge le webservice sur mon serveur principal => OK
    Chez mon client 2 :
    Serveur principal avec Webservice->Je teste l'exe en le mettant à la racine du C => OK.
    PC de son réseau->Je teste l'exe en le mettant sur cette seconde machine et interroge le webservice sur mon serveur principal => Violation
    Chez mon client 3 :
    Serveur principal avec Webservice->Je teste l'exe en le mettant à la racine du C => Violation
    PC de son réseau->Je teste l'exe en le mettant sur cette seconde machine et interroge le webservice sur mon serveur principal => Violation

    Dans tous les cas, les serveurs sur lesquels se trouvent les Webservices ont des adresses IP publique et sont également accessible par le WSDL.

    Help-Merci d'avance
    PS : Si besoin, je tiens à votre disposition mon webservice et mon programme de test avec leur code source.

  2. #2
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 2
    Par défaut
    Bonjour

    il s'agit d'un bug sur le fichier
    source\soap\rio.pas

    un patch correctif doit etre appliqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    // ligne 260
       { Allocate two blocks - one for the vtable itself, one for } 
       { the thunks. } 
       GetMem(IntfTable, (Length(IntfMD.MDA) + NumEntriesInIInterface) * 4); 
       IntfTableP := @IntfTable; 
     
      { TODO -owilli -cpatch : windows xp NX patch } 
      {$IFDEF MSWINDOWS} 
      IntfStubs := Virtualalloc (Nil,(Length( IntfMD.MDA) + 
    NumEntriesInIInterface) * StubSize,MEM_COMMIT,PAGE_EXECUTE_READWRITE); 
      {$ENDIF} 
     {$IFDEF LINUX} 
       GetMem(IntfStubs, (Length( IntfMD.MDA) + NumEntriesInIInterface) * 
    StubSize ); 
      {$ENDIF} 
     
       { Load the IUnknown vtable entries } 
       VTable := PPointer(IntfTable); 
       Crack.QIFn := QueryInterface; 
     
     
    //ligne 372 avant modif 
     
     destructor TRIO.Destroy; 
     begin 
       if IntfTable <> nil then 
         FreeMem(IntfTable); 
     
      { TODO -owilli -cpatch : windows xp NX patch } 
       if IntfStubs <> nil then 
        {$IFDEF MSWINDOWS} 
         Virtualfree (IntfStubs,0,MEM_RELEASE); 
        {$ENDIF} 
        {$IFDEF LINUX} 
         FreeMem(IntfStubs); 
        {$ENDIF} 
     
       if FContext <> nil then 
         FContext.Free; 
       inherited; 
     end;
    bye
    gui's

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Violation d'accès sur oleaut.dll
    Par colorid dans le forum Delphi
    Réponses: 6
    Dernier message: 20/01/2007, 11h32
  2. [BSD 2006] Erreur de violation d'accès sur un ShowModal
    Par doudoustephane dans le forum C++Builder
    Réponses: 36
    Dernier message: 14/10/2006, 12h10
  3. Violation d'accès sur un TIdFTP
    Par cfalcot dans le forum Web & réseau
    Réponses: 9
    Dernier message: 09/05/2006, 15h14
  4. violation d'accès sur open de TQuery
    Par letissya dans le forum Bases de données
    Réponses: 5
    Dernier message: 08/11/2005, 14h35
  5. Violation d'accès sur un TXMLDocument
    Par WebPac dans le forum Composants VCL
    Réponses: 14
    Dernier message: 15/03/2005, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo