Bonjour,

j'ai un petit soucis d'extraction de date depuis une base de donnée Oracle avec un webservice. Ce projet était existant et permet de sortir des données d'une base de donnée Oracle pour les mises à jour de serveurs externe via un webservice.

Le problème est le suivant, l'extraction est bien correcte, les données sont bien mise dans le fichiers XML, mais le format de date à changer depuis la mise à jour du client Oracle (passage de la version 9 à la 10). Malheureusement la version 9 ne fonctionnait plus avec la nouvelle base, donc voilà la raison du changement de client.

Je fourni ici le bout de code qui génère le fichier XML :
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using Oracle.DataAccess.Client;
using System.Xml;
using System.IO;
 
namespace WebServiceXome3
{
    [WebService(Namespace = "http://webservice.monsite.com")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    public class WebServiceXome3 : System.Web.Services.WebService
    {
        [WebMethod]
        public System.Xml.XmlDocument getQuery(String table, String where, String password, String order)
        {
 
            if (password == "xxxxx")
            {
                XmlDocument XmlDoc = new XmlDocument();
                try
                {
 
                    OracleConnection OConnexion = new OracleConnection();
                    OConnexion.ConnectionString = "Data Source=myBD;User Id=User;Password=pass;";
                    OConnexion.Open();
                    string vSQL;
                    if (where == "")
                    {
                        vSQL = "SELECT * FROM " + table;
                    }
                    else
                    {
                        vSQL = "SELECT * FROM " + table + " " + where;
                    }
                    if (order == "")
                    {
                    }
                    else
                    {
                        vSQL = vSQL + " " + order;
                    }
                    OracleDataAdapter da = new OracleDataAdapter(vSQL, OConnexion);
 
                    DataSet ds = new DataSet();
                    da.Fill(ds, table);
 
                    XmlDoc.LoadXml(ds.GetXml());
 
                    OConnexion.Close();
                    OConnexion.Dispose();
                }
                catch (InvalidCastException e)
                {
                    FileStream aFile = new FileStream("c:\\log.txt", FileMode.Create);
                    StreamWriter sw = new StreamWriter(aFile);
                    sw.WriteLine(e.ToString());
                    sw.Close();
                }
                return XmlDoc;
            }
            else
            {
                return new XmlDocument();
            }
        }
    }
}
Mon serveur appelant reçois le fichier xml suivant :
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
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
  <t_login>
    <LOGI_ID>1</LOGI_ID>
    <LOGI_ID_LANG>1</LOGI_ID_LANG>
    <LOGI_LOGIN>xxxx</LOGI_LOGIN>
    <LOGI_PASS>xxxx</LOGI_PASS>
    <LOGI_POLITESSE>Monsieur</LOGI_POLITESSE>
    <LOGI_NOM>Administrateur</LOGI_NOM>
    <LOGI_EMAIL>xxx@xx.xxx</LOGI_EMAIL>
    <LOGI_SOCIETE>xxxx</LOGI_SOCIETE>
    <LOGI_DATE_LAST>2009-12-23T18:44:11+01:00</LOGI_DATE_LAST>
    <LOGI_DEV>1</LOGI_DEV>
    <LOGI_EXTERNE>0</LOGI_EXTERNE>
    <LOGI_LDAP>0</LOGI_LDAP>
    <LOGI_RESET_SESSION>1</LOGI_RESET_SESSION>
    <LOGI_EDITABLE>0</LOGI_EDITABLE>
    <LOGI_ENABLE>1</LOGI_ENABLE>
  </t_login>
</NewDataSet>
Mon soucis ce situe sur le résulta, la date à un format que je n'arrive pas à relire correctement sur mes serveurs cibles...

Une idée ?