soap

package
v0.0.0-...-71c029d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2026 License: GPL-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package soap provides a SOAP 1.1 compatibility layer that mirrors the Apache CXF JAX-WS interface from the old Java REMITT 0.5.x server. It intercepts POST requests to /services/interface, parses SOAP envelopes, dispatches to the existing Go REST handlers, and wraps responses in SOAP.

Index

Constants

View Source
const (
	TargetNamespace = "http://server.remitt.org/"
	ServicePath     = "/services/interface"
)

Target namespace matching old Java @WebService annotation

Variables

This section is empty.

Functions

func Middleware

func Middleware() echo.MiddlewareFunc

Middleware returns an Echo middleware that intercepts SOAP requests. It must be placed AFTER BasicAuth and LoadUserMiddleware so c.Get(common.AuthUserKey) returns the authenticated username.

Types

type Body

type Body struct {
	InnerXML []byte `xml:",innerxml"`
}

Body holds the operation request or response.

type Envelope

type Envelope struct {
	XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
	Body    Body     `xml:"http://schemas.xmlsoap.org/soap/envelope/ Body"`
}

Envelope is a SOAP 1.1 envelope.

type Fault

type Fault struct {
	XMLName     xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault"`
	FaultCode   string   `xml:"faultcode"`
	FaultString string   `xml:"faultstring"`
}

Fault represents a SOAP fault.

type Handler

type Handler func(c *echo.Context, innerXML []byte, username string) ([]byte, error)

Handler receives a parsed operation name, extracts typed parameters from inner XML, and returns XML response bytes (the SOAP body content).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL