Bonjour,
J'ai une application en C# 3.5 qui appelle plusieurs services web AXIS/SOAP (développés en java).
tous les services ont été rajoutés en tant que web reference.
Les objets qui transitent sont des objets complexes sans aucun type ou import qui ne pourrait pas être sérialisé correctement par Axis (Ex. pas d'ArrayList mais que des tableaux et que des types natifs Java).
Tout fonctionnait correctement jusqu'au dernier objet que j'ai rajouté.
Lorsque je débugge (en release ou debug) tout marche correctement, mais lorsque je génère mon installeur et que j'installe l'application, j'ai une erreur sur l'objet en entrée de mon nouveau service. Tout les autres fonctionnent correctement.
Voici l'erreur que j'obtiens :
J'ai remarqué qu'il me manquait une DLL "XmlSerializers.dll" qui se trouvait dans mon répertoire de sortie mais pas dans l'dossier de l'appli installée, je l'ai rajoutée au projet mais rien n'y fait.org.xml.sax.SAXException: Deserializing parameter 'wsi': could not find deserializer for type {urn:InventaireMobilierWS}InventaireMobilierWSI
Dans mon projet de déploiement j'ai bien ajouté les assemblies de serialization XML mais ça ne change rien qu'ils y soient ou pas.
Voici l'objet qui pose problème :
Je n'ai pas mis tout mon code java mais il n'y a que des String et int et s'il y avait un problème à ce niveau là ça ne marcherait pas en debug.
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 package com.***.***.main.webservices.client; import java.io.Serializable; import com.***.framework.webservices.BaseWSI; import com.itrec.***.main.webservices.mapping.InventaireMobilierLocalWVO; public class InventaireMobilierWSI extends BaseWSI implements Serializable { private InventaireMobilierLocalWVO inventaireLocal; public InventaireMobilierLocalWVO getInventaireLocal() { return inventaireLocal; } public void setInventaireLocal(InventaireMobilierLocalWVO inventaireLocal) { this.inventaireLocal = inventaireLocal; } } public class InventaireMobilierLocalWVO extends BaseWVO implements Serializable { private String codePhysique; private ArticleInventaireMobilierWVO[] listeMobilier; public String getCodePhysique() { return codePhysique; } public void setCodePhysique(String codePhysique) { this.codePhysique = codePhysique; } } public class ArticleInventaireMobilierWVO extends BaseWVO implements Serializable { /** Code unique du mobilier (code-barres ou clé concaténée)*/ private String codeMobilier; public String getCodeMobilier() { return codeMobilier; } public void setCodeMobilier(String codeMobilier) { this.codeMobilier = codeMobilier; } }
Les fichiers de mapping ont l'air corrects également.
Je pense que j'ai oublié quelque chose dans la création de mon projet de déploiement, mais je ne vois pas quoi.
Et je ne comprends pas non plus pourquoi mes autres services pourtant similaires en tous points fonctionnent.
Si quelqu'un a une petite idée, merci beaucoup par avance de m'aider parce que je suis carrément bloqué là.
Merci.
Partager