2011-07-04 4 views
0

J'ai une méthode de service Web prenant plusieurs paramètres. Par conséquent, le BodyStyle = WebMessageBodyStyle.Wrapped est défini. Je souhaite accéder à cette méthode à partir d'un client de service Web. J'ai ajouté l'URL de la méthode de service à Reference-> Add Services et j'obtiens l'erreur suivante.Accès à la méthode Web de demande encapsulée à partir du service Web dans asp.net

« Il y a eu une erreur pendant le téléchargement. 'Http: // localhost: 8080/api/StoreI'

La demande a échoué avec l'état HTTP 405:. Méthode non autorisée

métadonnées contient une référence qui ne peut pas être résolu: 'http: // localhost: 8080/Api/StoreI'

Le type de contenu application/json du message de réponse ne correspond pas au type de contenu de la liaison (application/soap + xml; charset = utf -8)

Si vous utilisez un encodeur personnalisé, assurez-vous que la méthode IsContentTypeSupported est implémentée correctement. Les premiers 323 octets de la réponse étaient: '{"ErrorCode": 110, "ErrorDetails": null, "Message": "Le message entrant a un format de message inattendu' Raw '. les opérations sont 'Xml', 'Json'

Cela peut être dû au fait qu'un WebContentTypeMapper n'a pas été configuré sur la liaison.Voir la documentation de WebContentTypeMapper pour plus de détails.

Le serveur distant a renvoyé une erreur: (500) Erreur interne du serveur. Si le service est défini dans la solution actuelle, essayer de construire la solution et en ajoutant la référence de service à nouveau. »

Que dois-je faire pour résoudre ce problème? Quelles sont les étapes pour accéder à un service Web sécurisé de un client? -je un nouveau aux services Web. une réponse serait très appréciée. Merci.

Répondre

0

Je ne suis pas expert, mais changer BodyStyle = WebMessageBodyStyle.Wrapped à BodyStyle = WebMessageBodyStyle.Bare

L'utilisation de l'encapsulé dans la description de l'opération n'ajoute pas de couche de sécurité sur le corps du message. Il encapsule simplement la requête (ou la réponse) dans un élément XML

+0

mais pour les méthodes de service Web qui prennent plusieurs paramètres, should doit être mentionné comme étant enveloppé, sinon le service donne une erreur. –

Questions connexes