Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Invité de passage
    Inscrit en
    mai 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 12
    Points : 0
    Points
    0

    Par défaut Erreur avec MSSOAP30 et pas MSSOAP

    j'ai créé un programme qui fonctionne très bien sous Windows XP avec SoapClient.
    ce programme fait appel un webService connecté sur Mantis permettant de créer des bugs à la volée.

    ce programme ressemble à ceci :
    Code :
    1
    2
    3
    4
    5
    Dim objSoapClient
    Set objSoapClient=CreateObject ("MSSOAP.SoapClient")
    Call objSOAPClient.mssoapinit("http://url?WSDL")
    Dim fResult
    fResult=objSoapClient.fonctionAjouter()
    fResult est le numéro du bug

    Je voudrais migrer cette solution sous Windows Seven où la librairie SoapClient n'existe pas.
    J'ai donc utilisé SOAPCLIENT30

    Voici le nouveau programme
    Code :
    1
    2
    3
    4
    Dim objSOAPClient as New SoapClient30
    Call objSOAPClient.mssoapinit("http://url?WSDL")
    Dim fResult
    fResult=objSoapClient.fonctionAjouter()
    Lorsque je lance ce programme j'ai une erreur d’exécution, de type SYSTEM NOTICE sur un offset non défini
    le signalement est bien créé dans MANTIS, je ne comprend vraiment pas

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro Francis MILLET
    Inscrit en
    décembre 2004
    Messages
    3 492
    Détails du profil
    Informations personnelles :
    Nom : Homme Francis MILLET
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 492
    Points : 6 367
    Points
    6 367

    Par défaut

    Salut

    Je ne connais pas SOAPCLIENT ou SOAPCLIENT30, mais dans ton deuxième code tu types la variable et tu ne crées pas l'objet.
    est ce que
    Code :
    1
    2
    Dim objSoapClient
    Set objSoapClient=CreateObject ("MSSOAP.SoapClient30")
    ne serai pas la solution ?

  3. #3
    Invité de passage
    Inscrit en
    mai 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 12
    Points : 0
    Points
    0

    Par défaut

    J'avais déjà testé cette solution et elle ne marche pas non plus

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro Francis MILLET
    Inscrit en
    décembre 2004
    Messages
    3 492
    Détails du profil
    Informations personnelles :
    Nom : Homme Francis MILLET
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 492
    Points : 6 367
    Points
    6 367

    Par défaut

    Re

    La DLL s'appelle MSSOAP30.DLL
    Ne faudrait il pas créer l'objet de cette façon
    Code :
    1
    2
    Dim objSoapClient
    Set objSoapClient=CreateObject ("MSSOAP30.SoapClient30")

  5. #5
    Invité de passage
    Inscrit en
    mai 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 12
    Points : 0
    Points
    0

    Par défaut

    En fait la librairie qui existe est "MSOSoap.dll"
    En modifiant et en faisant "MSOSoap.SoapClient30" le résultat est le même qu'au départ.

    En faisant "MSSOAP30.SoapClient30", j'ai un problème d'activeX pour créer l'object car la DLL n'existe pas.

  6. #6
    Invité de passage
    Inscrit en
    mai 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 12
    Points : 0
    Points
    0

    Par défaut

    en regardant sur le net, j'ai l'impression MSSOAP30 n'accepte pas les tableaux vides, or dans un des paramètres de la fonction "fonctionAjouter", j'ai certains paramètres avec un tableau vide

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     ReDim issue(6)        
     ssProjet = "projet"
     util = "util"
     pass = "pass"
     issue(0) = ssProjet                                              
     issue(1) = "description"                                      
     issue(2) = "10"                                             
     issue(3) = "20"                                              
     issue(4) = "Summary"                                              
     issue(5) = "Categ"                                             
     issue(6) = "v1.0.0.0" 
     
     ReDim issue_custom(5)
     issue_custom(0) = "custom1"                        
     issue_custom(1) = "value1"              
     issue_custom(2) = "custom2"   
     issue_custom(3) = "value2"            
     issue_custom(4) = "custom3" 
     issue_custom(5) = "value3"      
     
    ReDim issue_note(0)
    issue_note(0) = "" 
     
    Set fResult = objSOAPClient.fonctionAjouter(util, pass, issue, issue_custom, issue_note)
    serait-ce un problème car mon erreur est quand même celle ci :

    Erreur d'execution : '-2147467259 (80004005)
    Error type : SYSTEM NOTICE,
    Undefined offset : 6,
    StackTrace :
    UnknownFile L? fonctionajouter(<String> ....

  7. #7
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro Francis MILLET
    Inscrit en
    décembre 2004
    Messages
    3 492
    Détails du profil
    Informations personnelles :
    Nom : Homme Francis MILLET
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 492
    Points : 6 367
    Points
    6 367

    Par défaut

    Salut
    pourtant tu remplis 7 variables tableau (0 à 6, lignes 5 à 11), pour autant il est très curieux que l'erreur n'apparaît pas à la ligne 11 du code (a moins que tu ais un Error Goto ou Resume dans ton code réel).

    Mise à part cela la ligne de création de l'objet et bien
    Code :
    Set objSoapClient=CreateObject ("MSSOAP.SoapClient30")
    non pas MSSOAP30 comme proposé dans un de mes messages.

  8. #8
    Invité de passage
    Inscrit en
    mai 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 12
    Points : 0
    Points
    0

    Par défaut

    En vba ,
    dim tab(3) defini un tableau allant de 0 à 3 et donc avec 4 valeurs.

    j'ai essayé de modifier en plus ou en moins et ca bloque lorsque je déclare ma dernière valeur

    et pour ma création j'ai :
    Set objSOAPClient = CreateObject("MSOSoap.SoapClient30")

  9. #9
    Invité de passage
    Inscrit en
    mai 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 12
    Points : 0
    Points
    0

    Par défaut

    je viens de remarque la fin de ma stack d'erreur j'ai ceci :

    <Array>{[0]=>'...',[1]=>'...',[2]=>'...',[3]=>'...',[4]=>'...',[5]=>'...',[6]=>'...',['!SOAPSDK3:offset']=>'[0]'};<Array>...

    Est ce quelqu'un sait ce qu'est ['!SOAPSDK3:offset']=>'[0]'

  10. #10
    Invité de passage
    Inscrit en
    mai 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 12
    Points : 0
    Points
    0

    Par défaut

    Pour clore cette discusssion, le problème venait du fait qu'avec SOAPCLIENT30 il ajoute un champ en plus dans le tableau.
    Il suffisait de ne pas lire dans mon programme php le dernier élément.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •