Voila je me retrouve confronter à un énorme problème.
Je m'explique. Je développe un WebService écrit lui en java déployé avec un Apache Tomcat 5.5 sur Axis 1.2.1.
Ce webservice me renvoit un objet que j'ai crée qui lui contient deux champs.
Un champ de type BigDecimal etun champ de type String (ces deux objets sont bien entendu autorisé dans l'interopérabilités entre java et .NET).
Lorsque je récupère l'objet coté .NET, je n'ai que la valeur du String, celle du BigDecimal est à null. J'ai débuggé le WS, aucun problème de ce coté la, et pour preuve, avec .NET 1.1 ça marche très bien.
La seul différence que j'ai pu constaté entre 1.1 et 2.0, c'est le type mapping. .NET en 1.1 converti le BigDecimal vers un Decimal, alors que 2.0 converti vers un Decimal<nullable>.
De plus, si je crée une méthode sur le webservice qui retourne uniquement un BigDecimal (donc plus d'objet), .NET le converti bien en Decimal et plus en Decimal<nullable> comme il le fait pour mon objet.
J'ai déjà tenté de créer un nouvel objet, mais sans succès, le problème persiste.
Donc ma question:
Est-ce que quelqu'un aurait une idée de solution pour ce problème assez étonnant?
Est-il possible de paramétrer la framework 2.0 ou VS 2005 pour lui forcer à faire un certain mapping?
Est-il possible de paramétrer le déploiement afin que la framework 2.0 ne perde pas les pédales?
Je suis ouvert à toute proposition.
Bien entendu, je pourrais résoudre le problème en rajoutant une méthode dans l'objet qui convertirait mon BigDecimal en double, la ça marche, je l'ai testé. Le problème vient de ce Decimal<nullable> qui est un apport à la framework 2.0...
Merci à tous d'avance