private string HandleMessageType(MSG_SEND message_send) { string error = ""; string Url = message_send.URL; try { Tracing.TraceEvent(TraceEventType.Verbose, 0, String.Format(" use Url = {0}", Url)); if (String.IsNullOrEmpty(Url)) { return("unknown url for communication partner/channel " + message_send.COMM_PARTNER_ID + " / " + message_send.CHANNEL_ID + " - " + message_send.MSG_ID); } sender.Url = Url; switch (message_send.MSG_ID) { case "DEP": // -- Departure Message { DepartureSelect handler = new DepartureSelect(this.db); DepartureDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.Departure(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "DEP_NODE": // -- Departure Node Message { DepartureNodeSelect handler = new DepartureNodeSelect(this.db); DepartureNodeDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.DepartureNode(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "DEP_TRP": // -- Departure Transport Type { DepartureTransportTypeSelect handler = new DepartureTransportTypeSelect(this.db); DepartureTransportTypeDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.DepartureTransportType(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "DEP_LOAD": // -- Departure Load { DepartureLoadSelect handler = new DepartureLoadSelect(this.db); DepartureLoadDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.DepartureLoad(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "MOD_DEP_LOAD": // -- Modify Departure Load { ModifyDepartureLoadSelect handler = new ModifyDepartureLoadSelect(this.db); ModifyDepartureLoadDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.ModifyDepartureLoad(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "REM_DEP": // -- Remove Departure { RemoveDepartureSelect handler = new RemoveDepartureSelect(this.db); RemoveDepartureDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.RemoveDeparture(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "REM_DEP_NODE": // -- Remove Departure Node { RemoveDepartureNodeSelect handler = new RemoveDepartureNodeSelect(this.db); RemoveDepartureNodeDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.RemoveDepartureNode(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "REM_DEP_TRP": // -- Remove Departure Transport Type { RemoveDepartureTransportTypeSelect handler = new RemoveDepartureTransportTypeSelect(this.db); RemoveDepartureTransportTypeDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.RemoveDepartureTransportType(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } case "CONFIRM": // -- Confirmation Message { ConfirmSelect handler = new ConfirmSelect(this.db); ConfirmDoc message = handler.Process(message_send.MSG_OUT_ID); if (message == null) { error = string.Format("{0} obj missing.", message_send.MSG_ID); } else { sender.Confirm(message_send.COMM_PARTNER_ID, message_send.MSG_SEND_ID, message); } break; } default: error = string.Format("message type {0} not found", message_send.MSG_ID); break; } // switch (message_send.MSG_ID) } catch (UriFormatException e) { error = "The format of the URI is invalid. URL: " + Url + ", MSG_SEND_ID: " + message_send.MSG_SEND_ID + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace; } catch (InvalidOperationException e) { error = "Failed to reach " + sender.Url + " for " + message_send.MSG_ID + ". MSG_SEND_ID: " + message_send.MSG_SEND_ID + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace; } catch (System.Web.Services.Protocols.SoapException e) { error = "Interface mismatch. URL: " + sender.Url + ", MSG_ID: " + message_send.MSG_ID + ", MSG_SEND_ID: " + message_send.MSG_SEND_ID + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace; } catch (Exception e) { error = "Unexpected error. URL: " + sender.Url + ", MSG_ID: " + message_send.MSG_ID + ", MSG_SEND_ID: " + message_send.MSG_SEND_ID + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace; } return(error); }
public void RemoveDepartureNode(string ChannelId, string ChannelRef, string TransactionId, RemoveDepartureNodeDoc aRemoveDepartureNodeDoc) { // transform external object to packaged object understandable by BizTalk RemoveDepartureNode part = new RemoveDepartureNode(); part.ChannelId = ChannelId; part.ChannelRef = ChannelRef; part.TransactionId = TransactionId; part.aRemoveDepartureNodeDoc = aRemoveDepartureNodeDoc; ArrayList inHeaders = null; ArrayList inoutHeaders = null; ArrayList inoutHeaderResponses = null; ArrayList outHeaderResponses = null; SoapUnknownHeader[] unknownHeaderResponses = null; // Parameter information object[] invokeParams = new object[] { part }; ParamInfo[] inParamInfos = new ParamInfo[] { new ParamInfo(typeof(RemoveDepartureNode), "part") }; ParamInfo[] outParamInfos = null; // Define the assembly (port) // NOTE! This line is only a sample, it needs to be modified to match your orchestration // at least regarding your project name and the public access token string bodyTypeAssemblyQualifiedName = "YOUR_ORCHESTRATION_PROJECT.FromWMSschema+RemoveDepartureNode, YOUR_ORCHESTRATION_PROJECT, Version=1.0.0.0, Culture=neutral, PublicKeyToken=" + "92267163d02e63da"; // BizTalk invocation // NOTE! This line is only a sample, it needs to be modified to match your orchestration // regarding the operation to call this.Invoke("Operation_1", invokeParams, inParamInfos, outParamInfos, 0, bodyTypeAssemblyQualifiedName, inHeaders, inoutHeaders, out inoutHeaderResponses, out outHeaderResponses, null, null, null, out unknownHeaderResponses, true, false); }