Sto provando a utilizzare il client di test WCF per verificare un servizio WCF che ho creato.Metodo di servizio WCF non disponibile nel client di test WCF perché utilizza il tipo
Il servizio ha un metodo "SubmitRequest".
[OperationContract]
Response SubmitRequest(Request request);
Quando carico la prova WCF client, il metodo è in grigio con il messaggio "Questa operazione non è supportata nel client di prova WCF perché utilizza tipo WcfLibrary.Objects.Request
Di seguito la definizione del tipo, qualcuno vede nulla di sbagliato?
[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; }
}
Grazie.
EDIT w/risposta ...
il operazione non era disponibile tramite il client di test WCF perché il tipo MspWebCallType aveva una proprietà di tipo Hashtable. Una volta rimossa questa proprietà è stato risolto il problema. Grazie per l'aiuto di tutti.
Il WSDL fa riferimento a XSD per la classe "Richiesta"? –
Hai provato: [OperationContract] [KnownType (typeof (Request))] Response SubmitRequest (richiesta di richiesta); – kd7
Una domanda: la tua classe di richiesta è effettivamente all'interno del namespace WcfLibrary.Objects? –