Bonjour à tous,
J'ai développé il y a un an une application en C# pour la gestion d'une médiathèque dans une école.
J'utilisai le Webservice d'Amazon afin de limiter l'encodage via le scanning du code barre EAN13.
Tout marchait très bien, mais depuis la rentrée en septembre, la fonction de recherche chez Amazon ne répond plus.
J'ai un peu fouillé sur le net et je crois avoir compris que la procédure avait changé depuis le 15 août 2009.
J'ai été sur le site d'Amazon, mais je suis sans doute trop bête pour trouver la solution.
Je vous donne ci-dessous mes lignes de code qui ne fonctionnent plus.
Pourriez-vous, dans votre immense bonté, aider un abruti qui y perd son latin ?
Je pense que le souci se trouve dans les lignes que j'ai mis en rouge.
Merci de votre aide.


Code c# : 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
74
75
76
77
static public ObjetAmazon RechercheViaAmazonWebService(string barCode) 
{ 
ObjetAmazon retVal = null; 

Int32 nb = 13 - barCode.Length; 
for (Int32 cpt = 0; cpt < nb; cpt++) 
barCode = "0" + barCode; 

try 
{ 
string[] listeTypes ={ "Books", "ForeignBooks", "Music", "Classical", "DVD", "VHS", "Toys", "Video", "Software", "VideoGames", "SoftwareVideoGames" }; 
string[] thisEAN = { "" }; 
string EAN = ""; 
string groupe = ""; 
string titre = ""; 
string Èditeur = ""; 
string auteur = ""; 
string artiste = ""; 
string rÈalisateur = ""; 

bool Trouv = false; 
AWSECommerceService service = new AWSECommerceService(); 
service.Url = "http://soap.amazon.fr/onca/soap?Service=AWSECommerceService"; 

ItemLookup itemLookup = new ItemLookup(); 
ItemLookupRequest request = new ItemLookupRequest(); 
itemLookup.SubscriptionId = Properties.Settings.Default.Amazon_WebService_SubscriptionID; 

request.ResponseGroup = new string[] { "ItemAttributes" }; 

thisEAN[0] = barCode; 
request.ItemId = thisEAN; 
request.IdType = ItemLookupRequestIdType.EAN; 
request.IdTypeSpecified = true; 

for (int cptTypes = 0; cptTypes < listeTypes.Length && TrouvÈ == false; cptTypes++) 
{ 
request.SearchIndex = listeTypes[cptTypes]; 

itemLookup.Request = new ItemLookupRequest[] { request }; 
ItemLookupResponse response = service.ItemLookup(itemLookup); 

Items info = response.Items[0]; 
if (info.Item != null) 
{ 
TrouvÈ = true; 
Item[] items = info.Item; 
for (int i = 0; i < items.Length; i++) 
{ 
Item item = items[i]; 

EAN = item.ItemAttributes.EAN; 
groupe = item.ItemAttributes.ProductGroup; 
titre = item.ItemAttributes.Title; 
Èditeur = (item.ItemAttributes.Publisher == null) ? "" : item.ItemAttributes.Publisher; 
auteur = (item.ItemAttributes.Author == null) ? "" : item.ItemAttributes.Author[0]; 
artiste = (item.ItemAttributes.Artist == null) ? "" : item.ItemAttributes.Artist[0]; 
rÈalisateur = (item.ItemAttributes.Director == null) ? "" : item.ItemAttributes.Director[0]; 

if (groupe == "Music") 
auteur = artiste; 
else if (groupe == "DVD" || groupe == "Video") 
auteur = rÈalisateur; 
else if (groupe == "Toy" || groupe == "VideoGames" || groupe == "Software") 
auteur = Èditeur; 

} 
retVal = new ObjetAmazon(titre, auteur, Èditeur); 
} 
} 
} 
catch 
{ 
MessageBox.Show("Le numÈro de souscription au WebServices Amazon n'est pas correct, voir Administration - Configuration !"); 
} 
return retVal; 
}