Est-il inhabituel pour un appel de service Web d'avoir un paramètre "out"? Si oui, pourquoi? J'utilise le service web C# et le client webserive sera aussi l'application C#.Est-il inhabituel pour un appel de service Web d'avoir un paramètre "out"?
Répondre
Oui, car un service Web doit être considéré comme prenant un message (requête) et crachant un résultat (sortie). Un paramètre 'out' indiquerait que vous voulez renvoyer une version modifiée du message de requête d'origine ... ce qui n'a vraiment aucun sens. Si vous avez besoin de plusieurs sorties, vous devez réfléchir à la façon de regrouper ces valeurs dans un seul message de réponse.
Oui, vous voulez regrouper ce que vous revenez en un seul objet (généralement un objet de réponse)
Voir Wikipedia
Si vous faites référence à des paramètres au niveau C# dans un ASP.Net service web, je ne pense pas que ce soit inhabituel du tout. Vos paramètres out deviendront simplement des éléments enfants de l'élément de réponse. Voici un service Web court exemple avec une méthode Web unique qui a des paramètres:
[WebService(Namespace = "http://begen.name/xml/namespace/2009/10/samplewebservicev1")]
public class SampleWebServiceV1 : WebService
{
[WebMethod]
public void
WebMethodWithOutParameters(out string OutParam1, out string OutParam2)
{
OutParam1 = "Hello";
OutParam2 = "Web!";
}
}
Avec la méthode Web ci-dessus, la requête SOAP ressemble à ceci:
POST /SampleWebServiceV1.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://begen.name/xml/namespace/2009/10/samplewebservicev1/WebMethodWithOutParameters"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WebMethodWithOutParameters xmlns="http://begen.name/xml/namespace/2009/10/samplewebservicev1" />
</soap:Body>
</soap:Envelope>
Et la réponse ressemble à ceci:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WebMethodWithOutParametersResponse xmlns="http://begen.name/xml/namespace/2009/10/samplewebservicev1">
<OutParam1>Hello</OutParam1>
<OutParam2>Web!</OutParam2>
</WebMethodWithOutParametersResponse>
</soap:Body>
</soap:Envelope>
note: cela ne remet pas en cause les autres réponses à cette question, car ils étaient tous considérer cela du niveau de service Web, pas le niveau C#.
- 1. Comment spécifier un paramètre dans le cadre de chaque appel de service Web?
- 2. Appel d'un service Web C# à partir de PHP avec un paramètre long
- 3. Un service Web .NET instancié avec chaque appel de méthode?
- 4. Paramètre Casting and Out
- 5. Appel d'un service Web depuis un serveur proxy
- 6. VS2003 Web Reference pour un service WCF a un paramètre supplémentaire "IdSpecified"
- 7. Ajax (appel de service web) avec MVC
- 8. comment annuler un appel de service WCF?
- 9. Appel de Java Web Service Constructor
- 10. Est-il possible d'effectuer un appel de service Web dans un rapport de services de rapports?
- 11. Appel d'une fonction avec un argument out utilisant Invoke
- 12. En passant une propriété comme un « out » paramètre en C#
- 13. Comment ajouter un en-tête de message "plat" à un appel de service Web Flex?
- 14. appel de service Web renvoie html
- 15. BizTalk 2006 SOAP Adapter - Messagerie uniquement Appel de service Web
- 16. Déterminez la taille des données transférées pour un appel de service Web dans .NET CF
- 17. Affichage d'un spinner pour un appel de service Web (Like UpdateProgress Control)
- 18. Appel d'une méthode SOAP avec PHP pour un service spécifique
- 19. Session vs Appel au service Web
- 20. Comment utiliser HttpWebRequest pour appeler une opération de service Web qui prend un paramètre byte []?
- 21. Appel du service Web .Net avec Php
- 22. Comment ajouter un en-tête HTTP à un appel de service Web?
- 23. Passer un appel de service Web SOAP à l'aide d'une requête Web
- 24. Paramètre manquant dans le service Web
- 25. Appel du service Web d'une autre classe
- 26. Appel d'un service Web à partir d'un service Windows
- 27. Appel du service Web SQL Server Endpoint
- 28. comportement getopt() est inhabituel
- 29. Un service Web .NET va-t-il s'interrompre lorsque j'ajoute une propriété à un paramètre?
- 30. Champ distingué sur un service Web (BizTalk)
Les services Web n'ont pas de «paramètres de sortie», ni de paramètres en tant que tels. Même plus spécifiquement pour les services Web SOAP (qui ne sont pas les seuls), vous avez des requêtes et des réponses XML. Certaines parties de la réponse XML peuvent être mappées sur des out-paramètres sur certaines plates-formes, mais il est difficile d'être plus précis à moins que vous fournissiez plus de détails pour votre environnement. –