Comment créer un service web qui reçoit et envoie xml basé sur les fichiers xsd?
J'ai besoin de créer un .NET web service qui accepte xml, utilise pour interroger une base de données, puis renvoie les données xml. J'ai reçu des fichiers xsd pour la demande et la réponse. Quelqu'un pourrait-il me diriger dans la bonne direction par où je commence à partir de ou un exemple?
Je n'ai pas utilisé WCF avant, donc préférez utiliser un simple fichier asmx pour ce faire. Je sais comment obtenir les données de la base de données, donc c'est du xml et des services web bits où je suis perdu.
J'ai essayé de googler ce pour un moment, mais ne savez pas par où commencer. Merci.
- ASMX est aujourd'hui considéré comme un "héritage de la technologie". Essayez de WCF. Un simple service WCF est juste un simple comme un simple ASMX service.
Vous devez vous connecter pour publier un commentaire.
Le problème que vous avez est que asmx et WCF sont à la fois code-première technologies de services web. Ce que cela signifie est que vous commencez en général avec des classes et le service web de la pile prend soin d'exposer vos types de XML à travers le fil.
Vous sont à partir d'un schéma, qui n'est pas le code. Donc, si vous voulez utiliser asmx/wcf vous avez besoin de modèle de votre schéma dans le code. Vous pouvez le faire en déduire une structure de classe à partir de votre schéma à l'aide de xsd.exe (ou svcutil.exe pour WCF).
Sinon, vous pouvez le modèle de vos classes à la main basé sur la définition de schéma.
Une fois que vous avez vos classes, alors vous pouvez ajouter des attributs déclaratives du code (Voir http://msdn.microsoft.com/en-us/library/83y7df3e.aspx pour asmx, DataContract et DataMember pour WCF). Ces attributs de contrôle:
Le problème avec cette approche est que l'obtention de votre XML pour la validation de vos schémas XSD sera un peu hasardeux, que vous ne pouvez pas compter à 100% sur la classe d'inférence à partir de XSD, et en plus vous risquez de manquer des détails précis si vous de la modeler à la main.
N'importe quelle manière que vous le faites, vous devez vous assurer que votre demande et de la réponse des instances de classe proprement sérialiser en XML, ce qui permettra de valider contre les schémas XSD vous avez été donné.
Aussi regarder un cadre appelé la FUACE-Bleu qui vous permet de faire premier contrat service web design: http://wscfblue.codeplex.com/
Bonne chance, si vous avez besoin de plus de détails sur cette s'il vous plaît laissez-moi savoir par un commentaire.
De ce que je peux comprendre, vous devez créer un webservice, acceptant le XML en entrée, faire un peu de traitement et de cracher XML.
Je suppose que vous avez une compréhension de base de XML, mais ne savez rien sur XSD. En termes très simples, XSD est un document qui est utilisé pour valider un fichier XML. Imaginez un livre de règles pour comment fichier XML doit être construit, vous pouvez en savoir plus sur XSD à partir de W3schools. Ne vous inquiétez pas à propos de l'XSD pour l'instant. Obtenir un échantillon de quelques documents XML, que vous devez accepter que l'entrée et la sortie. Construire une application console pour analyser l'exemple de fichier XML et d'obtenir les résultats de la base de données. Ensuite utiliser les résultats pour construire la sortie XML en regardant l'exemple de sortie XML. Une fois que vous avez terminé, vous pouvez utiliser le .NET les classes afin de valider votre entrée et de sortie XML à partir de la XSD vous avez.
Vous pouvez regarder cette réponse à voir la façon dont la validation est effectuée.
Une fois que c'est fait, vous pouvez créer votre web service renvoie le XML en tant que chaîne de caractères.
Espérons que cette aide.