public UpdateParcelsResponseType UpdateParcels(UpdateParcelsRequestType request, bool dumpXml) { WMSInterfaceClient client = new WMSInterfaceClient("BasicHttpBinding_IWMSInterface", _url); try { RenewTicket(false); request.Ticket = _ticket; if (dumpXml) { new XMLHelper().DumpToFile(new XMLHelper().InterfaceClassToXml(request), LogFileName("DataToCentiro_UpdateParcel")); } UpdateParcelsResponseType response = client.UpdateParcels(request); client.Close(); if (dumpXml) { new XMLHelper().DumpToFile(new XMLHelper().InterfaceClassToXml(response), LogFileName("DataFromCentiro_UpdateParcels")); } if (response.StatusCode == CentiroService.StatusCode.Ok) { return(response); } else if (response.StatusCode == CentiroService.StatusCode.InvalidTicket) { if (!_invalidTicketError) { RenewTicket(true); _invalidTicketError = true; return(UpdateParcels(request, dumpXml)); } else { return(response); } } else { Tracing.TraceEvent(TraceEventType.Error, 0, String.Format("Error for Update Parcel .\nError status = {0}\nError Message = {1}", response.StatusCode, GetErrorString(response.StatusMessages))); throw new CentiroServiceAgentException(String.Format("Error for Update Parcel .\nError status = {0}\nError Message = {1}", response.StatusCode, GetErrorString(response.StatusMessages))); } } catch (CommunicationException) { Tracing.TraceEvent(TraceEventType.Error, 0, "Error calling UpdateParcel."); client.Abort(); throw; } catch (TimeoutException) { Tracing.TraceEvent(TraceEventType.Error, 0, "Error calling UpdateParcel."); throw; } }
private void UpdateParcel(string requestClob) { CentiroUpdateParcels report = _updateParcelSerializer.Deserialize(new StringReader(requestClob)) as CentiroUpdateParcels; UpdateParcelsRequestType request = _businessDataMapper.Map(report); if (request == null) { throw new CentiroAdapterException( string.Format("Failed to deserialize UpdateParcel clob. Data = {0}", requestClob)); } else { MessageId = Convert.ToString(DateTime.Now.Ticks); request.MessageId = MessageId; if (_isXmlDumpEnabled) { new XMLHelper().DumpToFile(new XMLHelper().InterfaceClassToXml(request), LogFileName("UpdateParcel_Request")); } CentiroServiceAgent csAdapter = GetCachedAdapter(report.url); UpdateParcelsResponseType ur = csAdapter.UpdateParcels(request, _isXmlDumpEnabled); } }