私は(basicHttpBindingを使用して)wcfに移行したASMXサービスを持っていましたが、現在は古いクライアント(whcihはwsdl.exeを使用してプロキシを生成します)を使用してサービスをヒットしています。呼び出しがサービスに到達し、サービスがnull以外のオブジェクトを返すことがわかりますが、asmxクライアントが受け取る戻り値はnullです。
これが発生する可能性がある理由と、これをさらにデバッグする方法についての手がかりはありますか?
// This is my webservice
[ServiceContract(Namespace = "http://tempuri.org/ManagementWebService")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class ManagementService
{
[OperationContractAttribute(Action = "http://tempuri.org/ManagementWebService/GetViewSummaryForCurrentUser", ReplyAction = "*")]
[OperationBehavior(Impersonation = ImpersonationOption.Allowed)]
[XmlSerializerFormatAttribute()]
[CLSCompliant(false)]
[WebMethod]
public virtual ViewSummaryList GetViewSummaryForCurrentUser()
{
return new ViewSummaryList();
}
}
// This is the client side code which receives a null value.
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ManagementWebService/GetVi" +
"ewSummaryForCurrentUser", RequestNamespace="http://tempuri.org/ManagementWebService", ResponseNamespace="http://tempuri.org/ManagementWebService", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("Views")]
public ViewSummaryList GetViewSummaryForCurrentUser() {
object[] results = this.Invoke("GetViewSummaryForCurrentUser", new object[0]);
return ((ViewSummaryList)(results[0]));
}