[{"data":1,"prerenderedAt":158},["ShallowReactive",2],{"article-eadapter-where-did-my-message-go":3},{"id":4,"title":5,"author":6,"body":7,"category":141,"description":142,"extension":143,"featured":144,"image":145,"meta":146,"navigation":147,"path":148,"publishedAt":149,"readingTime":150,"seo":151,"stem":152,"tags":153,"videoUrl":145,"__hash__":157},"articles\u002Farticles\u002Feadapter-where-did-my-message-go.md","You Sent XML to CargoWise. It Said Nothing Back. Now What?","Don Dappa",{"type":8,"value":9,"toc":135},"minimark",[10,14,17,20,25,33,78,82,85,95,106,110,117,120],[11,12,13],"p",{},"Push a message into the CargoWise eAdapter and the response is a tracking UUID. Not \"processed\". Not \"rejected\". A receipt number.",[11,15,16],{},"The Steele Consulting library documentation is candid about the contract: the send \"doesn't return message status directly\" — you check the CW1 EDI Interchange to find out what actually happened. Success, rejection, or silent mangling: the answer lives inside CargoWise, minutes later, and your integration has to go and get it.",[11,18,19],{},"Two facts guarantee nobody else is watching. CW's native logging is limited for integration troubleshooting, and G2 reviewers report CW's customer service running below expectations for integration issues. The watching is yours to build.",[21,22,24],"h2",{"id":23},"the-exception-dashboard-build-it-on-day-one","The exception dashboard (build it on day one)",[11,26,27,28,32],{},"The field guidance is blunt: ",[29,30,31],"em",{},"build an exception dashboard from day one — don't wait until production failures force you to."," The mechanics:",[34,35,36,44,55,72],"ul",{},[37,38,39,43],"li",{},[40,41,42],"strong",{},"Query the CW EDI Interchange"," for message states (database access or a polling mechanism against the query endpoints).",[37,45,46,49,50,54],{},[40,47,48],{},"Map tracking UUIDs to business identifiers."," An ops person staring at ",[51,52,53],"code",{},"7f3a9c…"," can do nothing. The same person seeing \"booking 20108188 — rejected, schema error\" can fix it.",[37,56,57,60,61,64,65,64,68,71],{},[40,58,59],{},"Persist every failure as one row:"," raw XML payload, CW's error verbatim, a reason-code tag (",[51,62,63],{},"schema_error",", ",[51,66,67],{},"auth_failure",[51,69,70],{},"timeout","…), and timestamps. Group by reason code monthly and watch one org's schema error turn out to be most of your failures.",[37,73,74,77],{},[40,75,76],{},"Let operators replay"," failed messages from the dashboard after the fix — far more efficient than re-keying.",[21,79,81],{"id":80},"even-success-needs-forensic-parsing","Even \"success\" needs forensic parsing",[11,83,84],{},"CargoWise's ProcessingLog speaks three verbs for \"it worked\":",[86,87,92],"pre",{"className":88,"code":90,"language":91},[89],"language-text","Updated Shipment S00075190 (House Bill='HLCUBC1250952370')\nAdded Shipment S00075190 (House Bill='HLCUBC1250952370')\n[Pending Change] Updating Shipment S00075213 (House Bill='SHIPMENT 1')\n","text",[51,93,90],{"__ignoreMap":94},"",[11,96,97,98,101,102,105],{},"CW uses \"Updating\" when it processes ",[29,99,100],{},"pending changes",". A regex that only matched ",[51,103,104],{},"Updated|Added"," meant S-numbers silently weren't saved for exactly those shipments. Even a green response is data to parse defensively, not a boolean to trust.",[21,107,109],{"id":108},"alert-on-failures-and-on-silence","Alert on failures — and on silence",[11,111,112,113,116],{},"The sourced alerting stack: processed-vs-failed metrics, dead-letter queue growth, 3+ consecutive failures (that's systemic, not a bad message), and send→ack latency. Then add the rule no failure metric covers: ",[40,114,115],{},"expected volume",". If a flow that averages N messages per hour produces zero, page someone. The absence of messages is a message.",[118,119],"hr",{},[11,121,122,125,126,129,130],{},[40,123,124],{},"The full system"," — failure-record schema, correlation IDs end-to-end, operator exception views, and the replay loop — is Chapter 3 of ",[29,127,128],{},"eAdapter in Production",". ",[131,132,134],"a",{"href":133},"\u002Feadapter\u002Fproduction-ops?channel=article_status","Join the Vol 2 waitlist for early-bird pricing →",{"title":94,"searchDepth":136,"depth":136,"links":137},2,[138,139,140],{"id":23,"depth":136,"text":24},{"id":80,"depth":136,"text":81},{"id":108,"depth":136,"text":109},"technical","The eAdapter returns a tracking UUID, not a result — real message status lives in the CW EDI Interchange. How to build the exception dashboard that finds dead messages before your customer does.","md",false,null,{},true,"\u002Farticles\u002Feadapter-where-did-my-message-go","2026-08-24",5,{"title":5,"description":142},"articles\u002Feadapter-where-did-my-message-go",[154,155,156],"CargoWise eAdapter","monitoring","message status","KHvamdUpnpiwNndXYRCiEMv0w0L8sDD6cGCd-tJ_38Y",1787680136124]