Grazie come sempre Moreno,
il procedimento ho seguito era corretto ma ho fatto un po' di confusione con la sintassi di svcutil e con la classe generata, adesso penso di aver capito.
Ho provato e funziona con un metodo di prova che mi ritorna una stringa.
Però ho problemi sui metodi che devono ritornare un dato composito, cerco di spiegarmi:
Ho creato un metodo nel servizio chiamato GetToolTable che accetta un int e mi ritorna un dato composito. Il contratto è fatto nel modo seguente:
[OperationContract]
ToolTableData GetToolTable(int idNc);
[DataContract]
public class ToolTableData
{
[DataMember]
public int IdNc { get; set; }
[DataMember]
public int CommandResult { get; set; }
[DataMember]
public string CommandError { get; set; }
[DataMember]
public DataTable ToolTable { get; set; }
}
mi serve un dato composito perchè devo intercettare eventuali errori a valle del servizio.
Quando cerco di consumarlo mi esce la pagina unhandled exception seguente:
An unhandled exception occurred while processing the request.
SocketException: Connessione in corso interrotta forzatamente dall'host remoto
Unknown location
IOException: Unable to read data from the transport connection: Connessione in corso interrotta forzatamente dall'host remoto.
System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs.ThrowException(SocketError error)
HttpRequestException: An error occurred while sending the request.
System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
CommunicationException: An error occurred while sending the request.
System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(HttpRequestException requestException, HttpRequestMessage request, HttpAbortReason abortReason)
però in debug nel metodo vedo che la richiesta viene eseguita e mi ritorna i valori corretti.
Nor riesco dalla pagina di exception a capire dove sta il problema.