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

Windows Workflow Foundation .NET Discussion :

WF 3.5 en webservice et DB oracle


Sujet :

Windows Workflow Foundation .NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 319
    Points : 843
    Points
    843
    Par défaut WF 3.5 en webservice et DB oracle
    Bonjour,

    Mon environnement de travail est sous Visual Studio 2005 en .NET 3.5.
    Je cherche à publier un workflow persistent en tant que webservice, avec stockage sur une base de données Oracle 10g.

    Afin de bien comprendre le principe de la publication, j'ai commencé par réaliser un simple workflow séquentiel proche du tutoriel "Développez" avec l’œuf à cuire : une simple division de deux nombres (cf pièce jointe "workflow").

    L'input du webservice reçoit deux nombres (dividende et diviseur), calcule la division dans le code, et renvoie en output le quotient.

    Je publie ensuite ce workflow en tant que webservice, ce qui me rend un fichier ".asmx" et le "web.config".

    Au lieu d'utiliser une application cliente, j'utilise directement ASP.NET pour tester la validité du webservice. Ce dernier fonctionne d'ailleurs comme le montre la seconde pièce-jointe "Appel_WS".

    Cependant, je n'arrive pas à faire comprendre au web.config que c'est à ma base Oracle qu'il doit se connecter, et non au SQLServeur (qui d'ailleurs est arrêté).
    Voici l'erreur :
    System.ArgumentException: Impossible d'activer la connexion à la base de données.
    Nom du paramètre: connectionString ---> System.Data.SqlClient.SqlException: Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: Fournisseur de canaux nommés, error: 40 - Impossible d'ouvrir une connexion à SQL Server)

    Pourtant, je pense avoir bien renseigné dans le web.config où il doit se connecter ... Ci-dessous mon web.config :
    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
    <?xml version="1.0"?>
    
    <configuration>
    	<configSections>
    		<section name="WorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    	</configSections>
    
    	<WorkflowRuntime Name="WorkflowServiceContainer">
        <CommonParameters>
          <add name="ConnectionString" value="Data Source=my_source;user id=xxxx; password=yyyy;"/>
        </CommonParameters>
    
    		<Services>
    			<add type="System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" UseActiveTimers="true"/>
          <add type="System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" UnloadOnIdle="true" LoadIntervalSeconds="5"/>
    		</Services>
    	</WorkflowRuntime>
    
    	<appSettings>
      </appSettings>
      
      <connectionStrings>
        <add name="ORACLE" connectionString="Persist Security Info=True; Data Source=my_source; user id=xxxx; password=yyyy; Unicode=True" providerName="System.Data.OracleClient" />
    	</connectionStrings>
       
    	<system.web>
    [...]
    <httpModules>
    			<add type="System.Workflow.Runtime.Hosting.WorkflowWebHostingModule, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="WorkflowHost"/>
    		</httpModules>
    	</system.web>
    </configuration>

    Autre précision, Visual Studio arrive à ouvrir ma base Oracle avec l'explorateur de serveurs.

    Merci d'avance de votre aide,
    vampirella.
    Images attachées Images attachées   

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Mon environnement de travail est sous Visual Studio 2005 en .NET 3.5.
    Déjà c'est impossible : du WF avec VS 2005 c'est du 3.0.
    Si c'est du 3.5, c'est du VS 2008.

    Merci de préciser.

    Ensuite, il me semble que la persistence en base de données des workflows ne fonctionne qu'avec Sql Server.

    Du moins c'était le cas pour le version 3.0 - première version de WF, mais je ne sais pas si cela a été modifié pour la version 3.5.

    Ceci dit, c'est contournable à condition d'écrire sa propre persistence.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 319
    Points : 843
    Points
    843
    Par défaut
    Pardon, c'est en effet la version 3.0, car j'ai Visual Studio 2005.
    Tout ceci est encore nouveau pour moi.

    Comment peut-on écrire sa propre persistence dans ce cas ?

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par vampirella Voir le message
    Pardon, c'est en effet la version 3.0, car j'ai Visual Studio 2005.
    Tout ceci est encore nouveau pour moi.

    Comment peut-on écrire sa propre persistence dans ce cas ?
    Ici, un exemple de persistence sur fichier. Tu peux essayer de t'en inspirer pour écrire une persistence vers une DB Oracle.

    http://weblogs.asp.net/gsusx/archive...05/426699.aspx

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 319
    Points : 843
    Points
    843
    Par défaut
    En effet, cela m'a pas mal aidé, merci !

    Ne me reste plus qu'à combiner webservice et persistence de plusieurs workflows ^^

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

Discussions similaires

  1. [Web Service] WebServices et connexion Oracle impossible sur IIS 5.1 Windows XP
    Par showky dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 02/04/2009, 13h40
  2. A propos des webservices / oracle et php
    Par santoya dans le forum Services
    Réponses: 0
    Dernier message: 06/11/2008, 20h13
  3. Exploité un webservice erreur oracle
    Par PxPar dans le forum Services Web
    Réponses: 1
    Dernier message: 29/05/2008, 02h02
  4. WebService, PDA, Oracle et dataset
    Par cheche49 dans le forum Services Web
    Réponses: 4
    Dernier message: 05/03/2008, 17h32

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