2017-09-15 2 views
-1

J'ai créé un service wcf simple avec l'exemple par défaut de vs2013. J'ai besoin de changer une racine de réponse GetDataResponse dans GetDataModifier le nœud racine (réponse) service wcf

comment puis-je le faire?


 
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
 
    <s:Header /> 
 
    <s:Body> 
 
    <**GetDataResponse** xmlns="http://tempuri.org/"> 
 
     <GetDataResult>You entered: 0</GetDataResult> 
 
    </GetDataResponse> 
 
    </s:Body> 
 
</s:Envelope>

+0

Vous pouvez renommer GetData ou ajouter une autre propriété 'Name' à l'attribut [OperationContract]. Ou créez votre propre WSDL. – spodger

Répondre

0

Vous devez utiliser MessageContract pour changer (contrôle) la requête SOAP/exemple response.For: Créer une nouvelle classe de réponse et décorer avec MessageContract comme ci-dessous.

[MessageContract(IsWrapped=true, 
        WrapperName="GetDataResponse", 
        WrapperNamespace="http://MyCompany.com/Response")] 
    public class GetDataInfo 
    { 
    } 

Utilisez la classe ci-dessus en tant qu'objet resposne lorsque le service WCF est appelé. Référez-vous à http://csharp-video-tutorials.blogspot.in/2013/11/part-10-message-contract-in-wcf_28.html pour plus d'informations. GetDataResponse est généré à partir du nom de GetData.

+0

cet exemple est exactement ce dont j'avais besoin. Merci beaucoup – Francesco