Soap et .NET 2.0

Soap et .NET 2.0 - C#/.NET managed - Programmation

Marsh Posté le 18-02-2006 à 09:34:02    

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

Reply

Marsh Posté le 18-02-2006 à 09:34:02   

Reply

Marsh Posté le 20-02-2006 à 15:41:25    

Bizzarement, aujourd'hui ça marche une fois sur deux. Et quand ça ne marche pas, je relance mon tomcat et ça remarche. Je crois que la framework 2.0 contient encore pas mal du bug et est donc à utiliser avec des pincettes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed