Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre chevronné
    Homme Profil pro
    Inscrit en
    juin 2010
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations forums :
    Inscription : juin 2010
    Messages : 286
    Points : 678
    Points
    678

    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 :
    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
    "Donnez un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."

  2. #2
    Inactif
    Homme Profil pro François
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 12 114
    Points
    12 114

    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 chevronné
    Homme Profil pro
    Inscrit en
    juin 2010
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations forums :
    Inscription : juin 2010
    Messages : 286
    Points : 678
    Points
    678

    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 ?
    "Donnez un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."

  4. #4
    Inactif
    Homme Profil pro François
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 12 114
    Points
    12 114

    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 chevronné
    Homme Profil pro
    Inscrit en
    juin 2010
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations forums :
    Inscription : juin 2010
    Messages : 286
    Points : 678
    Points
    678

    Par défaut

    En effet, cela m'a pas mal aidé, merci !

    Ne me reste plus qu'à combiner webservice et persistence de plusieurs workflows ^^
    "Donnez un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."

+ 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
  •