2011-02-17 4 views
0

J'essaie d'appeler un service Web de savon et je dois transmettre un objet d'adresse au serveur. Je peux passer une adresse existante.Id pour mettre à jour une adresse existante, ou si je laisse l'adresse.Il vide, il devrait être sauvé comme une nouvelle adresse. Le problème est que l'ID est de type long, et il a toujours une valeur de 0.Appel de service Web - Attributs générés automatiquement

Et cela crée des problèmes pour le serveur, car même si l'ID = 0, la fonction côté serveur prend l'adresse comme existante un, et il va commencer à chercher sur la base de données pour une adresse avec Id = 0. Bien sûr, il n'y a pas une telle adresse, et il y a une erreur. Lorsque j'essaie d'appeler le Web Service avec WebService Studio ou SoapUI, et que je supprime l'identifiant manuellement, alors cela fonctionne comme prévu, dès que je le mets alors il me renvoie une erreur - Adresse avec Id = 0 introuvable.

Donc la question est, comment changer les définitions de service Web, ou les classes de proxy afin qu'il ne génère pas cet id = "0" du tout?

Toute aide serait géniale.

P.S. Je ne peux pas changer la méthode côté serveur, cela aurait été la solution la plus simple, mais malheureusement, ce n'est pas possible.

Merci

Répondre

0

Si vous utilisez la valeur par défaut serializers .NET, vous pouvez essayer d'utiliser l'attribut XmlIgnore

Si vous utilisez d'autres serializers il y a des attributs normalement pour contrôler la façon dont la sérialisation se produit.