Skip to main content

CargoWise

The CargoWise node sends messages to CargoWise via its eAdaptor integration interface. CargoWise (by WiseTech Global) is a logistics execution platform widely used by freight forwarders, customs brokers, and 3PLs; eAdaptor is its standard endpoint for inbound XML (Universal and native messages). Use this node to push documents and transactions — shipments, events, documents, and other Universal/native XML — into CargoWise from a workflow, or to stage the message as a file for alternate delivery.

Overview​

The CargoWise node is essential when you need to:

  • Push messages into CargoWise - Deliver Universal/native XML to an eAdaptor endpoint over SOAP/HTTP
  • Integrate forwarding and customs flows - Send shipment, event, or document messages produced upstream
  • Stage messages as files - Write the XML to workflow storage instead of sending it, for archival or downstream transfer (e.g. FTP/AS2)
  • Transmit content from any source - Send XML produced inline by a prior node or read from a file in workflow storage

Configuration​

Transport​

How the message is delivered:

OptionValueBehavior
HTTP (eAdaptor) (default)httpWrap the XML in a SOAP envelope and POST it to a CargoWise eAdaptor endpoint
FilefileWrite the XML to workflow storage and return its path instead of sending it

Action​

The operation to perform.

  • Send Message (sendMessage, default) - Send an XML message to CargoWise via eAdaptor.

Message Source​

Where the XML message comes from:

OptionValueBehavior
TexttextProvide the XML content directly
File (default)fileRead the XML from a file in workflow storage

Source File Path (Message Source = File)​

Path to the XML file in workflow storage. Supports expressions.

Message Content (Message Source = Text)​

The XML message content, supplied directly. Supports expressions — typically the output of an upstream node (e.g. a Code, Transform, or Universal XML builder).

Message Type​

The kind of CargoWise message being sent. Defaults to UniversalShipment.

OptionValue
Universal Shipment (default)UniversalShipment
NativeNative
Universal EventUniversalEvent
Universal DocumentUniversalDocument

eAdaptor URL (Transport = HTTP)​

The CargoWise eAdaptor endpoint URL. Supports expressions. When set, it overrides the URL from the credential — useful for routing to different CargoWise environments per run. When left empty, the URL from the credential is used.

Credential​

For HTTP transport the node uses an optional CargoWise credential (cargowiseAuth). It is not required — you can supply the endpoint inline via eAdaptor URL and send unauthenticated — but it is the recommended place to store the endpoint and Basic-auth secrets:

FieldRequiredDescription
eAdaptor URLNoThe eAdaptor endpoint. Used when eAdaptor URL is not set on the node.
UsernameNoUsername for HTTP Basic authentication.
PasswordNoPassword for HTTP Basic authentication.

When both a username and password are present, the node adds an Authorization: Basic <…> header. The request is sent as Content-Type: application/soap+xml; charset=utf-8 with a 30-second timeout. The credential is only consulted for HTTP transport; File transport needs no credential.

Output​

HTTP transport​

Returns the eAdaptor response:

{
"status": 200,
"statusText": "OK",
"data": "<UniversalInterchange>…</UniversalInterchange>"
}
  • status / statusText - The HTTP status of the eAdaptor call.
  • data - The response body returned by eAdaptor (typically a Universal interchange/response XML).

File transport​

Returns the storage path of the written XML file, for downstream nodes to pick up:

{
"filePath": "<task>/cargowise-message.xml"
}

Example Usage & Common Use Cases​

Send a Universal Shipment Message​

[Build Universal XML] → [CargoWise]

CargoWise:
Transport: HTTP (eAdaptor)
Action: Send Message
Message Source: Text
Message Type: Universal Shipment
Message Content: {{ steps.buildXml.output }}
Credential: Acme → CargoWise eAdaptor

Output: { status: 200, data: "<UniversalInterchange>…" }

Send an XML File from Storage​

[FTP: download message.xml] → [CargoWise]

CargoWise:
Transport: HTTP (eAdaptor)
Message Source: File
Source File Path: {{ steps.download.output }}
eAdaptor URL: https://acme.cargowise.com/eAdaptor

Output: eAdaptor response

Stage a Message as a File​

[Build XML] → [CargoWise (file transport)] → [AS2: send to partner]

CargoWise:
Transport: File
Message Source: Text
Message Content: {{ steps.build.output }}

Output: { filePath: "<task>/cargowise-message.xml" }

How It Works​

  1. Resolve the message - For Text source, the message content is used directly; for File source, the XML is read from workflow storage.
  2. Branch on transport - File transport writes the XML to storage as cargowise-message.xml and returns its path; HTTP transport continues to eAdaptor delivery.
  3. Resolve the endpoint (HTTP) - The node uses the eAdaptor URL if set, otherwise the credential's URL. If neither is available, the call fails.
  4. Wrap in SOAP (HTTP) - The XML payload is wrapped in a SOAP envelope for eAdaptor.
  5. Authenticate (HTTP) - When the credential provides a username and password, a Basic Authorization header is added.
  6. POST (HTTP) - The envelope is posted as application/soap+xml; charset=utf-8 with a 30-second timeout; the status, status text, and response body are returned.

Best Practices​

  • Store the endpoint and secrets in a credential - Keep the eAdaptor URL, username, and password in a CargoWise credential rather than hardcoding them; override only the URL inline when you need a different environment.
  • Send well-formed XML - eAdaptor expects valid CargoWise Universal or native XML; validate or build it in an upstream node and pick the matching Message Type.
  • Inspect the eAdaptor response - eAdaptor returns an interchange/response XML; branch on status and parse data to confirm acceptance rather than assuming success.
  • Use File transport for archival or alternate delivery - When the message must go out over AS2/FTP or be retained, stage it with File transport and hand the path to the next node.

Troubleshooting​

Common Issues​

  • "eAdaptor URL is required for HTTP transport" - No URL was set on the node and none is present on the credential. Provide one or both.
  • "Message content is required when message source is text" - Text source selected but Message Content is empty.
  • "Source file path is required when message source is file" - File source selected but Source File Path is empty.
  • 401 / 403 from eAdaptor - Basic-auth credentials are missing or incorrect, or the endpoint requires authentication you haven't supplied.
  • Timeout - eAdaptor did not respond within 30 seconds; check endpoint reachability and CargoWise-side processing.

Debugging Tips​

  • Verify the endpoint with the raw XML - Confirm the message posts successfully before wiring it into the workflow.
  • Check the resolved file path - For File source, confirm the Source File Path points at an existing file in workflow storage.
  • HTTP Request - For CargoWise interactions beyond eAdaptor message posting
  • FTP - Deliver a file-staged message to a remote server
  • AS2 - Send a file-staged message to a trading partner over AS2