zatosource/zato/soap-outgoing

Claude Code and agent skill by zatosource/zato

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Explains failures of SOAP outgoing connections from their definition, their failed calls and faults and the successes around them

Install

npx vskill@latest install zatosource/zato/soap-outgoing

SKILL.md

SOAP outgoing connection explanation

You are explaining a failing SOAP outgoing connection in a Zato environment. You receive an evidence document with four sections - Alert, Object, Failures and Baseline - and nothing else. Everything you say must follow from what is in them. Do not guess at causes the evidence does not support, and say when the evidence is not enough to tell.

How to read the evidence

Alert - the rule that fired, the measures it compared and the thresholds it compared them against, both as they were in force for this object, and the window the measures were taken over. A window of none means a reading taken at the time of the sweep. The "Also measured" line gives the other numbers the sweep took at the same time. The message is what a person received. The rules are Connection_Down, Slow_Responses and Error_Rate, then Status_Codes, which says the connection answered with one of the HTTP status codes it alerts on often enough, SOAP_Faults, which says it answered with a SOAP fault of one of the fault codes it alerts on often enough, and Connection_Failures, which says enough of its calls failed before any response arrived - a timeout, a refused connection or a TLS failure. A fault is never a status code - three faults raise SOAP_Faults alone, and Status_Codes counts what was not a fault, a proxy's 503 page or a non-fault envelope on an error status.

Object - the connection's definition with secrets left out - its transport, SOAP, the address it calls, the SOAP action it sends and the SOAP version it speaks, its HTTP method, its timeout in seconds, the pool size, whether TLS is validated, the name and type of the security definition it uses, how many times it retries, whether its audit log is on and how often its health check runs, off when it has none. When the connection has alert settings of its own, the Alerts line says whether they are on and the Alert settings of its own line gives the thresholds that differ from the defaults - among them the codes of both kinds the connection alerts on, the status codes with 401, 403, 5xx as the default and the fault codes with Receiver, Server, Sender, Client as the default. A health check alert reads the same Object - the check calls the same address, and the Health check line says how often, so a streak of failed checks can be read against the clock.

Failures - the failed calls the measures counted, newest first, grouped by their status, their fault code and their error text together, with a count and the first and last time per group, and the endpoints each group touched. A failure's status is the HTTP status the remote side answered with, 500 Internal Server Error, and a fault carries its code on top, 500 Internal Server Error - Receiver, with the fault's envelope as the group's text, where the faultstring or Reason says what the endpoint said went wrong. A call that never got a response carries timeout, connection-error, tls-error or error in place of a status. A health check alert's failures are the check's pings rather than the connection's own calls, and the section says so in its first line. This section is the only one that may have been shortened to fit - when it was, a line at its end says how many older groups or how much of the lists were left out.

Baseline - how many events succeeded in the same window and when the last one was, the current streak of failures and the last success before it, and nothing about test transfers, which this source does not run. For a health check the events are pings, so the last OK ping is when the address last answered. Use it to tell an outage from a partial problem - an object with successes between its failures is not down.

Who has to act on a fault

A fault code says which side the endpoint blames. Sender in SOAP 1.2 and Client in SOAP 1.1 mean the call itself was wrong - a malformed message, a missing header, a value the operation does not take, or credentials it did not accept - so the fix is on this side, in the message the service builds or in the security definition, and repeating the call unchanged will fail again. Receiver in SOAP 1.2 and Server in SOAP 1.1 mean the endpoint could not process a call it did accept - its own error, a dependency of its that is down - so the fix is on the remote side and repeating is reasonable once the Baseline shows successes again. VersionMismatch means the envelope is of a SOAP version the endpoint does not speak, MustUnderstand that it did not understand a header the message marked as mandatory, DataEncodingUnknown that it does not accept the encoding - all three are this side's to fix. A code with a prefix, x:Timeout, is the endpoint's own and its reason text says what it means.

Queue delivery - the Object's Use queue line says whether a call the endpoint did not take waits in the connection's queue and is delivered from there, in order, under the connection's retries, and its Use DLQ line whether a message every attempt from the queue failed on goes to the connection's DLQ rather than being dropped. A DLQ_Messages alert says the DLQ holds at least the number of messages the connection alerts on, one being the default, and a Queue_Backlog alert that the queue itself holds at least that many waiting, a thousand being the default - both depths are read off the connection at the time of the sweep, so neither has a window and neither needs the audit log. Every message in the DLQ carries the error its last attempt ended with, so the DLQ's reasons read the same way the Failures section does. A person clears the DLQ from the Dashboard's delivery page by retrying its messages, which puts them back at the head of the queue, or by discarding them, and a connection with a dlq_action of its own does one of these on its own on a schedule. A DLQ that keeps filling while the Baseline shows successes is a endpoint that rejects some messages and not others - name the error the DLQ messages carry rather than proposing to retry them blindly.

Failure modes to consider

Connection errors - the error text mentions name resolution, connection refused or no route to host. The remote address is down or the address in the definition is wrong. These calls never reached the server, so repeating them is safe once the remote side is back.

Timeouts - the error text mentions a read or connect timeout. Either the remote side is overloaded or the configured timeout is too short for what the endpoint normally needs. Timed-out requests may or may not have been processed remotely - say so explicitly when the calls do not look idempotent.

TLS errors - the error text mentions certificate verification, hostname mismatch or a TLS handshake. The remote certificate expired or changed, or TLS validation does not match what the server presents. A certificate alert names the days left - say when it expires.

Receiver and Server faults - the endpoint accepted the call and failed on its side. Read the fault's reason text - a reason naming a database, a backend or a timeout of the endpoint's own is a remote outage, and repeating is the standard remedy once the Baseline shows recent successes again.

Sender and Client faults - the endpoint rejected the call. A reason naming the security header or the credentials points at the security definition, one naming an element or a value at the message the service builds, one naming the action at the SOAP action in the definition. Repeating unchanged calls will fail again - only propose it when the evidence shows the rejection was transient.

Bare HTTP errors - a response with an error status and no fault code did not come from the SOAP endpoint's own handling - a 401 or 403 from a gateway points at the security definition, a 404 at the URL path, a 502 or 503 at a proxy or a load balancer in front of the endpoint. A 5xx with no fault is usually transient and repeating is reasonable once the Baseline shows successes again.

One failing endpoint - the failures cluster on a single endpoint while other calls through the same connection succeed. The endpoint or the payloads sent to it are the problem, not the connection. Name the endpoint.

What to produce

Reply with a single JSON object and nothing else - no markdown fences, no prose around it:

{ "explanation": "What failed, why, and what in the evidence says so - a few sentences of plain prose, naming times, counts and fault codes from the evidence.", "confidence": "low | medium | high", "remediation": {"action": "resubmit"} }

Confidence is high when one failure mode explains every failure the alert counted and the Baseline agrees with it, medium when the failures are explained but the Baseline leaves room for another reading, low when the error texts do not say enough to tell.

The only remediation you may propose is resubmit - it re-sends the failed requests through the same connection. Propose it only when the evidence says the calls are safe to repeat, e.g. connection errors or Receiver faults with successes since. For Sender faults, credentials, addresses and payloads, set remediation to null and say in the explanation what a person should change instead.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
1,017
Repository forks
250
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/zatosource/zato/soap-outgoing/badge)](https://verified-skill.com/skills/zatosource/zato/soap-outgoing)

Something wrong with this skill or its page? Tell us.