WCF合同命名空间无法识别

时间:2013-02-03 19:57:17

标签: c# wcf datacontractserializer datacontract

当我尝试为我的WCF服务的合同对象指定自定义命名空间时,我遇到了一个问题。

我有以下两份合同:

[MessageContract(WrapperNamespace="http://www.mysite.com/Contracts/Users")]
public class CreateUserRequest
{
    [MessageBodyMember]
    public User User { get; set; }
}
[MessageContract(WrapperNamespace="http://www.mysite.com/Contracts/Users")]
public class CreateUserRequest
{
    [MessageBodyMember]
    public int ID {get;set;

    [MessageBodyMember]
    public string Name {get;set;}
}

使用此合同进行此操作的定义如下:

    [OperationContract]
    [WebInvoke(BodyStyle=WebMessageBodyStyle.Bare)]
    CreateUserResponse CreateUser(CreateUserRequest request);

我将以下带有内容类型 application / xml 的XML发送到此服务操作。

<CreateUserRequest xmlns="http://www.mysite.com/Contracts/Users">
        <User> 
               <First>John</First>
               <Last>Smith</Last>
               <Username>john</Username>
               <Password>password</Password>
        </User>
</CreateUserRequest>

我还尝试在打开的User标签中再次指定命名空间,但是当我调试我的操作时,User将以null形式出现。

我尝试做一个返回此对象的Test()方法,它似乎没有识别命名空间更改,或者它只是不起作用。有什么想法吗?

0 个答案:

没有答案