/*public O ExecuteService<S, O>(string destino, Func<S, O> methodName, string securitytokenid) * { * ChannelFactory<S> client = CreateChannelFactory<S>(destino); * client.Open(); * S service = client.CreateChannel(); * * using (new OperationContextScope((IContextChannel)service)) * { * try * { * WebOperationContext.Current.OutgoingRequest.Headers.Add("securitytokenid", securitytokenid); * return methodName(service); * } * finally * { * try * { * ((IClientChannel)service).Close(); * } * catch (CommunicationException) * { * // Ignore various exceptions regarding the Channel's current state * } * catch (TimeoutException) * { * // Ignore Timeouts * } * } * } * } * */ public QueryResult ExecuteQueryServiceApiDMA <S>(ServiciosEnum destino, Func <S, string> methodName, string securitytokenid) { ChannelFactory <S> client = CreateChannelFactoryJsonMapper <S>(destino); client.Open(); S service = client.CreateChannel(); using (new OperationContextScope((IContextChannel)service)) { try { WebOperationContext.Current.OutgoingRequest.Headers.Add("securitytokenid", securitytokenid); string stream = methodName(service); QueryResult queryResult = JsonConvert.DeserializeObject <QueryResult>(stream); return(queryResult); } finally { try { ((IClientChannel)service).Close(); } catch (CommunicationException) { // Ignore various exceptions regarding the Channel's current state } catch (TimeoutException) { // Ignore Timeouts } } } }
public O ExecuteService <S, O>(ServiciosEnum destino, string securitytokenid, Func <S, string> methodName) { ChannelFactory <S> client = CreateChannelFactory <S>(destino); client.Open(); S service = client.CreateChannel(); using (new OperationContextScope((IContextChannel)service)) { try { WebOperationContext.Current.OutgoingRequest.Headers.Add("securitytokenid", securitytokenid); string stream = methodName(service); var commandResult = JsonConvert.DeserializeObject <CommandResult>(stream); if (commandResult.Status == "EX0000" && commandResult.Data != null) { if (commandResult.Data.ToString().ToLower() == "ok") { return(default(O)); } else { return(JsonConvert.DeserializeObject <O>(commandResult.Data.ToString())); } } else { string[] s = JsonConvert.DeserializeObject <string[]>(commandResult.Data.ToString()); throw new FaultException <ServiceFault>(new ServiceFault(s[1]), new FaultReason(s[1])); } } catch (FaultException) { throw; } catch (Exception) { throw new FaultException <ServiceFault>(new ServiceFault("Servicios No Disponibles"), new FaultReason("Servicios No Disponibles")); } finally { try { ((IClientChannel)service).Close(); } catch (CommunicationException) { // Ignore various exceptions regarding the Channel's current state } catch (TimeoutException) { // Ignore Timeouts } } } }
private ChannelFactory <T> CreateChannelFactoryJsonMapper <T>(ServiciosEnum destino) { try { string uri = GetServiceUrl(destino); EndpointAddress endpointAddress = new EndpointAddress(uri); ChannelFactory <T> channelFactory = new ChannelFactory <T>(); NetTcpBinding webHttpBinding = CreateBinding(uri); channelFactory.Endpoint.Binding = webHttpBinding; channelFactory.Endpoint.Address = endpointAddress; return(channelFactory); } catch (Exception ex) { throw ex; } }
public string ExecuteQueryService <S>(ServiciosEnum destino, Func <S, string> methodName) { ChannelFactory <S> client = CreateChannelFactoryJsonMapper <S>(destino); client.Open(); S service = client.CreateChannel(); IncomingWebRequestContext request = WebOperationContext.Current.IncomingRequest; WebHeaderCollection headers = request.Headers; string securitytokenid = headers["securitytokenid"]; using (new OperationContextScope((IContextChannel)service)) { try { MessageHeader <string> mhg = new MessageHeader <string>(securitytokenid); var untyped = mhg.GetUntypedHeader("securitytokenid", "ns"); OperationContext.Current.OutgoingMessageHeaders.Add(untyped); string stream = methodName(service); return(stream); } finally { try { ((IClientChannel)service).Close(); } catch (CommunicationException) { // Ignore various exceptions regarding the Channel's current state } catch (TimeoutException) { // Ignore Timeouts } } } }
public string GetServiceUrl(ServiciosEnum destino) { switch (destino) { case ServiciosEnum.MobileCMD: return(URL + "OrdenesApiCommandService.svc/Rest"); case ServiciosEnum.MobileQRY: return(URL + "OrdenesApiQueryService.svc/Rest"); case ServiciosEnum.OrdenesFIX: return(""); case ServiciosEnum.Graph: return(URL + "OrdenesGDService.svc/Rest"); case ServiciosEnum.CommandExtranet: return(URL + "CommandExtranetService.svc/Rest"); default: return(""); } }
public QueryResult ExecuteQueryServiceApiDMA <S>(ServiciosEnum destino, Func <S, string> methodName, string securitytokenid) { return(wcfHelper.ExecuteQueryServiceApiDMA <S>(destino, methodName, securitytokenid)); }
public string ExecuteQueryService <S>(ServiciosEnum destino, Func <S, string> methodName) { return(wcfHelper.ExecuteQueryService <S>(destino, methodName)); }
public O ExecuteService <S, O>(ServiciosEnum destino, Func <S, string> methodName, string securitytokenid) { return(wcfHelper.ExecuteService <S, O>(destino, securitytokenid, methodName)); }