Précédent   Forum du club des développeurs et IT Pro > Dotnet > Général Dotnet > Windows Workflow Foundation
Windows Workflow Foundation Forum d'entraide sur le moteur de workflows de Microsoft
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/05/2011, 15h17   #1
vampirella
Membre expérimenté
 
Homme
Inscription : juin 2010
Messages : 249
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France

Informations forums :
Inscription : juin 2010
Messages : 249
Points : 574
Points : 574
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 :
Citation:
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
Type de fichier : jpg workflow.JPG (9,7 Ko, 2 affichages)
Type de fichier : jpg Appel_WS.JPG (24,6 Ko, 1 affichages)
__________________
"Donner un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."
vampirella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 15h57   #2
Bluedeep
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 6 558
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 6 558
Points : 13 957
Points : 13 957
Citation:
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.
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 16h22   #3
vampirella
Membre expérimenté
 
Homme
Inscription : juin 2010
Messages : 249
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France

Informations forums :
Inscription : juin 2010
Messages : 249
Points : 574
Points : 574
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 ?
__________________
"Donner un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."
vampirella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 16h33   #4
Bluedeep
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 6 558
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 6 558
Points : 13 957
Points : 13 957
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
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 17h22   #5
vampirella
Membre expérimenté
 
Homme
Inscription : juin 2010
Messages : 249
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France

Informations forums :
Inscription : juin 2010
Messages : 249
Points : 574
Points : 574
En effet, cela m'a pas mal aidé, merci !

Ne me reste plus qu'à combiner webservice et persistence de plusieurs workflows ^^
__________________
"Donner un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."
vampirella est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h24.


 
 
 
 
Partenaires

Hébergement Web