Estoy intentando utilizar WCF Test Client para probar un servicio WCF que he creado.El método de servicio WCF no está disponible en WCF Test Client porque usa el tipo
El servicio tiene un método "SubmitRequest".
[OperationContract]
Response SubmitRequest(Request request);
Cuando cargo el cliente de prueba WCF, el método está en gris con el mensaje "Esta operación no es compatible en el cliente de prueba WCF, ya que utiliza el tipo WcfLibrary.Objects.Request
A continuación se la definición del tipo, ¿alguien ve nada malo?
[DataContract]
public class Request
{
[DataMember]
public string LoanNumber { get; set; }
[DataMember]
public string ClientCode { get; set; }
[DataMember]
public Region Region { get; set; }
[DataMember]
public RequestType RequestType { get; set; }
[DataMember]
public List<RequestParameter> RequestParameters { get; set; }
[DataMember]
public List<MspWebCallType> MspWebCallsForXmlRequest { get; set; }
[DataMember]
public Hashtable XmlRequestParameters { get; set; }
public Request(string loanNumber, string clientCode, Region region, RequestType requestType, List<RequestParameter> requestParameters)
{
LoanNumber = loanNumber;
ClientCode = clientCode;
Region = region;
RequestType = requestType;
RequestParameters = requestParameters;
}
}
[DataContract]
public class MspWebCallType
{
[DataMember]
public string WebService { get; set; }
[DataMember]
public string Operation { get; set; }
[DataMember]
public string Version { get; set; }
[DataMember]
public Hashtable Parameters { get; set; }
[DataMember]
public Msp.FavReadViews FAVReadViewIndicator { get; set; }
[DataMember]
public Msp.DsReadIndicators DSReadInidicator { get; set; }
}
[DataContract]
public enum Region
{
[EnumMember]
P2,
[EnumMember]
PROD
}
[DataContract]
public enum RequestType
{
[EnumMember]
None,
[EnumMember]
XmlRequest,
[EnumMember]
SomeOtherRequestType
}
[DataContract]
public struct RequestParameter
{
[DataMember]
public string ParameterName { get; set; }
[DataMember]
public string ParameterValue { get; set; }
}
Gracias.
EDITAR w/respuesta ...
la la operación no estaba disponible a través de WCF Test Client porque el tipo MspWebCallType tenía una propiedad de tipo Hashtable. Una vez que eliminé esta propiedad, se solucionó el problema. Gracias por la ayuda de todos.
¿El WSDL hace referencia a un XSD para la clase 'Solicitud'? –
Ha intentado: [OperationContract] [KnownType (typeof (Request))] Response SubmitRequest (Solicitud de solicitud); – kd7
Una pregunta: ¿su clase de solicitud está realmente dentro del espacio de nombres WcfLibrary.Objects? –