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

C# Discussion :

SOAP WS PARAMETRE TYPE TNS:CONNECTION [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Novembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 20
    Par défaut SOAP WS PARAMETRE TYPE TNS:CONNECTION
    Bonjour à toutes et à tous,

    Je suis novice en C# et je cherche à utiliser un Web service qui me demande un paramètre de type Tns:Connection ( ce web service doit me permettre de créer une chaîne de connexion dans une Application Web développée en C#.Net

    voici un extrait du WSDL de la méthode AddConnection :
    <s:element name="AddConnection">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="obj" type="tns:Connection"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    Mon problème est que je ne sais absolument pas quoi envoyer en paramètre j'ai tenté la chose suivante :

    fr.marquetis.hermes.setconfig.ServiceTools ws = new fr.marquetis.hermes.setconfig.ServiceTools();
    ws.AddConnection("le paramètre dont j'ignore le type");

    Je pensais à quelque chose qui ressemblerai à ça : "Provider = SQLOLEDB.1; catalog = DATABASE_NAME; User ID = sa; Data Source = 192.168.192.201; Persist Security Info = True; Password = ******"; mais du coup c'est un String et non le paramètre attendu.


    Petite précision lorsque je commence à taper ws.AddConnection( ... visual studio m'indique la ligne suivante :

    fr.marquetis.hermes.setconfig.Connection fr.marquetis.hermes.setconfig.ServiceTools.AddConnection(fr.marquetis.hermes.setconfig.Connection obj)

    Du coup j'ai l'impression qu'il faut que j'utilise la méthode Connection pour pouvoir utiliser la méthode AddConnection ?


    Je ne sais pas si j'ai été assez clair et précis dans tous les cas je remercie par avance ceux qui tenteront de m'aiguiller sur le sujet.

    Dur dur le C# quand on fait que du Php ;-)

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    tns:Connection doit être décrit plus tôt dans ton WSDL ou dans un XSD référencé dans une balise import.
    M'est avis qu'il s'agit également d'un complexType qui possède plusieurs éléments.
    Si tu fais suivre le WSDL (ou son URL) on pourra regarder ça.

    Je connais "un peu" SOAP (ses WSDL et XSD barbares) par contre je connais pas l'implémentation en .NET, du coup après ça je pourrai pas trop t'aider.

  3. #3
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Novembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 20
    Par défaut
    Super merci beaucoup je vous envoi ça des demain je n' ai pas l URL du wsdl de tête

  4. #4
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Novembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 20
    Par défaut
    Le wsdl en pièce jointe encore merci pour votre aide...
    Fichiers attachés Fichiers attachés

  5. #5
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Re,

    alors le namespace qui nous intéresse (tns) est déclaré dans la balise des definitions.
    La balise schema (balise qui contient les définitions de type) qui a cette URL pour espace de nom cible est la première déclarée.
    Elle contient comme définition pour Connection le XSD suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <s:complexType name="Connection">
      <s:complexContent mixed="false">
        <s:extension base="tns:ConnectionBase">
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="Valid" type="s:boolean" />
            <s:element minOccurs="1" maxOccurs="1" name="Forced" type="s:boolean" />
          </s:sequence>
        </s:extension>
      </s:complexContent>
    </s:complexType>
    On notera que l'attribut mixed est à false, elle ne doit donc pas contenir de text, juste les sous-balises décrites.
    Sinon, elle est censée contenir une séquence (normalement c'est ordonné) de booléens obligatoires (min et maxOccurs à 1): Valid et Forced.
    On voit aussi que c'est une extension du type ConnectionBase, qu'on trouve plus tôt :
    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
    <s:complexType name="ConnectionBase">
      <s:complexContent mixed="false">
        <s:extension base="tns:OM">
          <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="Type" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="Login" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="Base" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="Server" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="DatabaseConnection" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          </s:sequence>
        </s:extension>
      </s:complexContent>
    </s:complexType>
    Une balise de type AddConnection est donc constituée des balises de ConnectionBase et de Connection.
    Bon, ConnectionBase est aussi une extension, t'as compris le principe on va chercher le type de base "OM" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <s:complexType name="OM">
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="createBy" type="s:string" />
        <s:element minOccurs="0" maxOccurs="1" name="updateBy" type="s:string" />
        <s:element minOccurs="0" maxOccurs="1" name="deleteBy" type="s:string" />
        <s:element minOccurs="1" maxOccurs="1" name="createAt" type="s:dateTime" />
        <s:element minOccurs="1" maxOccurs="1" name="updateAt" type="s:dateTime" />
        <s:element minOccurs="1" maxOccurs="1" name="deleteAt" type="s:dateTime" />
        <s:element minOccurs="0" maxOccurs="1" name="Oid" type="s:string" />
      </s:sequence>
    </s:complexType>
    Pour info : si jamais minOccurs est à 0 c'est que la balise n'est pas obligatoire pour être valide.

    Pour conclure, une balise AddConnection pourrait ressembler à ça (hors namespace, avec des valeurs bidons et tous les champs remplis même si c'est pas nécessaire) :
    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
    <AddConnection>
     
      <!-- la partie OM -->
      <createBy>username</createBy>
      <updateBy>username</updateBy>
      <deleteBy>username</deleteBy>
      <createAt>2016-01-01T00:00:00Z</createAt>
      <updateAt>2016-01-31T00:00:00Z<updateAt>
      <deleteAt>2016-02-28T00:00:00Z</deleteAt>
      <Oid>123456</Oid>
     
      <!-- la partie ConnectionBase -->
      <Type>some type</Type>
      <Login>username</Login>
      <Password>p455w0RD</Password>
      <Base>my base</Base>
      <Server>my server</Server>
      <Description>some description</Description>
      <DatabaseConnection>some database connection</DatabaseConnection>
      <Name>some name</Name>
     
      <!-- la partie Connection -->
      <Valid>true</Valid>
      <Forced>true</Forced>
     
    </AddConnection>
    Il faut bien sûr que tu comprennes les données attendues, sur ce point je peux pas t'aider y'a pas de commentaires dans ce WSDL.

    Voilà, en espérant que ça te fournira quelques pistes d'avancement.

  6. #6
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Novembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 20
    Par défaut
    Franchement un grand Merci à vous je commence à y voir un peu plus clair je vous montrerai le résultat final dès que j'aurais bien renseigné tous les paramètres.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/11/2007, 09h27
  2. [SOAP] Passage des types imposés en paramètres
    Par Guybrush113 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/10/2007, 09h34
  3. [Forms10g] Donner Parametre type text item Procedure
    Par sterix92 dans le forum Forms
    Réponses: 6
    Dernier message: 20/05/2007, 13h48
  4. Que choisir dans comme type de connection DWL-2000AP+
    Par jean christophe dans le forum Réseau
    Réponses: 3
    Dernier message: 03/11/2005, 18h48
  5. [dbexpress IB/FB] parametres de la connection
    Par pirbd dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/07/2004, 16h49

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