我在跨平台xamarin应用程序中使用了WCF Web服务,并且在使用Android平台时响应未正确序列化。与UWP配合良好。
使用whireshark,我可以看到服务器从Android调用时以正确的肥皂消息响应,因此问题必须在序列化中。
这是我正在调用的函数:
[System.ServiceModel.OperationContractAttribute(Action="http://lala/lalala/lalala(identityName_, pass" + "word_, authenticationType_, identityToken_)", ReplyAction="*")]
[System.ServiceModel.XmlSerializerFormatAttribute()]
AuthenticationResponse Authenticate(AuthentichationRequest request);
AuthenticationResponse包含以下属性:
[System.ServiceModel.MessageHeaderAttribute(Namespace="http://lalalalalal")]
public AuthenticationHeader AuthenticationHeader;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://lalalala", Order=1)]
public string identityToken_;
_identityToken已正确设置,但AuthenticationHeader为空。似乎在序列化对象方面存在一些问题。
有人遇到了这个问题吗?知道如何解决这个问题吗?
也许我可以重写一些内容以手动进行序列化?