3
我的服務調用不起作用,並且因爲類型提示沒有在消息中發送。WCF不在消息中發送類型提示
以下是發送內容。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<createLocalUser xmlns="http://adobe.com/idp/services">
<localUser xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
而這正是它應該是
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<createLocalUser xmlns="http://adobe.com/idp/services">
<localUser i:type="UserImpl">
通知的localUser元素的變化。我知道這是問題所在,因爲如果我在提琴手中修改請求,它會起作用。我只是不知道要在我的C#代碼中改變什麼。
這是我的C#類。
[DataContract(Name = "UserImpl", Namespace = NameSpace.Root)]
public partial class UserImpl : User { }
[DataContract(Name = "User", Namespace = NameSpace.Root)]
public partial class User : Principal { ... }
[DataContract(Name = "Principal", Namespace = NameSpace.Root)]
public partial class Principal { ... }
和接口
[ServiceContract(Namespace = NameSpace.Root)]
public interface IDirectoryManagementService
{
[OperationContract(Name = "createLocalUser")]
string CreateLocalUser(DataContracts.UserImpl localUser, string password);
我認爲這是與ServiceKnownType或KnownType一個問題,但我不知道。