domibus

package
v0.0.0-...-57b3f38 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package domibus contains additional functions for the generated domibus_gen.

Index

Constants

View Source
const (
	DataDiscovery = "data-discovery"
	DataPermit    = "data-permit"
)

Variables

This section is empty.

Functions

func EncodeMessage

func EncodeMessage(msg Message) (string, error)

EncodeMessage encodes a Message into base64.

func NewHTTPClient

func NewHTTPClient(logger *slog.Logger) *http.Client

NewHTTPClient creates an http client with proper log for domibus request. This client read the request body for debugging.

Types

type AgreementRef

type AgreementRef struct {
	Value *Max255nonemptystring `xml:",chardata" json:"-,"`

	Type *Max255nonemptystring `xml:"type,attr,omitempty" json:"type,omitempty"`

	Pmode *Max255nonemptystring `xml:"pmode,attr,omitempty" json:"pmode,omitempty"`
}

type AnyType

type AnyType struct {
	InnerXML string `xml:",innerxml"`
}

type AnyURI

type AnyURI string

type Base64Binary

type Base64Binary struct {
	XMLName xml.Name `xml:"http://www.w3.org/2005/05/xmlmime base64Binary"`

	Value []byte `xml:",chardata" json:"-,"`

	ContentType string `xml:"contentType,attr,omitempty" json:"contentType,omitempty"`
}

type Body

type Body struct {
	Items []string `xml:",any" json:"items,omitempty"`
}

type CollaborationInfo

type CollaborationInfo struct {
	AgreementRef *AgreementRef `xml:"AgreementRef,omitempty" json:"AgreementRef,omitempty"`

	Service *Service `xml:"Service,omitempty" json:"Service,omitempty"`

	Action string `xml:"Action,omitempty" json:"Action,omitempty"`

	ConversationId string `xml:"ConversationId,omitempty" json:"ConversationId,omitempty"`
}

type CustomBody

type CustomBody struct {
	XMLName xml.Name `xml:"Body"`
	Value   string   `xml:",innerxml"`
}

CustomBody is the body inside the envelop struct for logs only.

type CustomEnvelope

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

CustomEnvelope is the main structure of a domibus message for logs only.

func (CustomEnvelope) String

func (ce CustomEnvelope) String() string

String is the method to print the CustomEnvelop for logs only.

type CustomHeader

type CustomHeader struct {
	XMLName   xml.Name         `xml:"http://schemas.xmlsoap.org/soap/envelope/ Header"`
	Messaging *CustomMessaging `xml:"http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/ Messaging"`
}

CustomHeader is the custom soap header who contains the Messaging. The header could contain any type of header but in eDelivery the header contains messaging.

type CustomLargePayloadType

type CustomLargePayloadType struct {
	XMLName     xml.Name `xml:",omitempty"`
	Value       []byte   `xml:"value,omitempty" json:"value,omitempty"`
	PayloadID   string   `xml:"payloadId,attr,omitempty" json:"payloadId,omitempty"`
	ContentType string   `xml:"contentType,attr,omitempty" json:"contentType,omitempty"`
}

A CustomLargePayloadType contains a custom payload with an empty name space.

type CustomListPendingRequest

type CustomListPendingRequest struct {
	XMLName        xml.Name              `xml:"eu:listPendingMessagesRequest"`
	XMLNS          string                `xml:"xmlns:eu,attr"`
	MessageID      *Max255nonemptystring `xml:"messageId,omitempty" json:"messageId,omitempty"`
	ConversationID *Max255nonemptystring `xml:"conversationId,omitempty" json:"conversationId,omitempty"`
	RefToMessageID *Max255nonemptystring `xml:"refToMessageId,omitempty" json:"refToMessageId,omitempty"`
	FromPartyID    *Max255nonemptystring `xml:"fromPartyId,omitempty" json:"fromPartyId,omitempty"`
	FinalRecipient *Max255nonemptystring `xml:"finalRecipient,omitempty" json:"finalRecipient,omitempty"`
	OriginalSender *Max255nonemptystring `xml:"originalSender,omitempty" json:"originalSender,omitempty"`
	ReceivedFrom   soap.XSDDateTime      `xml:"receivedFrom,omitempty" json:"receivedFrom,omitempty"`
	ReceivedTo     soap.XSDDateTime      `xml:"receivedTo,omitempty" json:"receivedTo,omitempty"`
}

A CustomListPendingRequest contains a custom list pending message request with no name on the other fields.

type CustomMessaging

type CustomMessaging struct {
	XMLName        xml.Name     `xml:"http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/ Messaging"`
	UserMessage    *UserMessage `xml:"UserMessage,omitempty" json:"UserMessage,omitempty"`
	MustUnderstand bool         `xml:"mustUnderstand,attr,omitempty" json:"mustUnderstand,omitempty"`
}

CustomMessaging is the custom messaging used by domibus.

type CustomRetrieveRequest

type CustomRetrieveRequest struct {
	XMLName   xml.Name              `xml:"eu:retrieveMessageRequest"`
	XMLNS     string                `xml:"xmlns:eu,attr"`
	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

A CustomRetrieveRequest contains a custom request to retrieve a message.

type CustomRetrieveResponse

type CustomRetrieveResponse struct {
	XMLName   xml.Name            `xml:"http://eu.domibus.wsplugin/ retrieveMessageResponse"`
	Messaging *CustomMessaging    `xml:"Messaging,omitempty" json:"messaging,omitempty"`
	Bodyload  *LargePayloadType   `xml:"bodyload,omitempty" json:"bodyload,omitempty"`
	Payloads  []*LargePayloadType `xml:"payload,omitempty" json:"payload,omitempty"`
}

A CustomRetrieveResponse contains a custom response with the headers.

type CustomStatusRequest

type CustomStatusRequest struct {
	XMLName   xml.Name              `xml:"eu:statusRequest"`
	XMLNS     string                `xml:"xmlns:eu,attr"`
	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

A CustomStatusRequest contains the request needed to get the status request with no namespace on MessageID.

type CustomSubmitRequest

type CustomSubmitRequest struct {
	XMLName  xml.Name                  `xml:"http://eu.domibus.wsplugin/ submitRequest"`
	Bodyload *CustomLargePayloadType   `xml:"bodyload,omitempty" json:"bodyload,omitempty"`
	Payloads []*CustomLargePayloadType `xml:"payload,omitempty" json:"payload,omitempty"`
}

A CustomSubmitRequest has a custom payload type.

type Detail

type Detail struct {
	XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope detail"`

	Items []string `xml:",any" json:"items,omitempty"`
}

type DomibusErrorCode

type DomibusErrorCode string
const (
	DomibusErrorCodeEBMS_0001 DomibusErrorCode = "EBMS_0001"

	DomibusErrorCodeEBMS_0002 DomibusErrorCode = "EBMS_0002"

	DomibusErrorCodeEBMS_0003 DomibusErrorCode = "EBMS_0003"

	DomibusErrorCodeEBMS_0004 DomibusErrorCode = "EBMS_0004"

	DomibusErrorCodeEBMS_0005 DomibusErrorCode = "EBMS_0005"

	DomibusErrorCodeEBMS_0006 DomibusErrorCode = "EBMS_0006"

	DomibusErrorCodeEBMS_0007 DomibusErrorCode = "EBMS_0007"

	DomibusErrorCodeEBMS_0008 DomibusErrorCode = "EBMS_0008"

	DomibusErrorCodeEBMS_0009 DomibusErrorCode = "EBMS_0009"

	DomibusErrorCodeEBMS_0010 DomibusErrorCode = "EBMS_0010"

	DomibusErrorCodeEBMS_0011 DomibusErrorCode = "EBMS_0011"

	DomibusErrorCodeEBMS_0101 DomibusErrorCode = "EBMS_0101"

	DomibusErrorCodeEBMS_0102 DomibusErrorCode = "EBMS_0102"

	DomibusErrorCodeEBMS_0103 DomibusErrorCode = "EBMS_0103"

	DomibusErrorCodeEBMS_0201 DomibusErrorCode = "EBMS_0201"

	DomibusErrorCodeEBMS_0202 DomibusErrorCode = "EBMS_0202"

	DomibusErrorCodeEBMS_0301 DomibusErrorCode = "EBMS_0301"

	DomibusErrorCodeEBMS_0302 DomibusErrorCode = "EBMS_0302"

	DomibusErrorCodeEBMS_0303 DomibusErrorCode = "EBMS_0303"

	DomibusErrorCodeEBMS_0020 DomibusErrorCode = "EBMS_0020"

	DomibusErrorCodeEBMS_0021 DomibusErrorCode = "EBMS_0021"

	DomibusErrorCodeEBMS_0022 DomibusErrorCode = "EBMS_0022"

	DomibusErrorCodeEBMS_0023 DomibusErrorCode = "EBMS_0023"

	DomibusErrorCodeEBMS_0030 DomibusErrorCode = "EBMS_0030"

	DomibusErrorCodeEBMS_0031 DomibusErrorCode = "EBMS_0031"

	DomibusErrorCodeEBMS_0040 DomibusErrorCode = "EBMS_0040"

	DomibusErrorCodeEBMS_0041 DomibusErrorCode = "EBMS_0041"

	DomibusErrorCodeEBMS_0042 DomibusErrorCode = "EBMS_0042"

	DomibusErrorCodeEBMS_0043 DomibusErrorCode = "EBMS_0043"

	DomibusErrorCodeEBMS_0044 DomibusErrorCode = "EBMS_0044"

	DomibusErrorCodeEBMS_0045 DomibusErrorCode = "EBMS_0045"

	DomibusErrorCodeEBMS_0046 DomibusErrorCode = "EBMS_0046"

	DomibusErrorCodeEBMS_0047 DomibusErrorCode = "EBMS_0047"

	DomibusErrorCodeEBMS_0048 DomibusErrorCode = "EBMS_0048"

	DomibusErrorCodeEBMS_0049 DomibusErrorCode = "EBMS_0049"

	DomibusErrorCodeEBMS_0050 DomibusErrorCode = "EBMS_0050"

	DomibusErrorCodeEBMS_0051 DomibusErrorCode = "EBMS_0051"

	DomibusErrorCodeEBMS_0052 DomibusErrorCode = "EBMS_0052"

	DomibusErrorCodeEBMS_0053 DomibusErrorCode = "EBMS_0053"

	DomibusErrorCodeEBMS_0054 DomibusErrorCode = "EBMS_0054"

	DomibusErrorCodeEBMS_0055 DomibusErrorCode = "EBMS_0055"

	DomibusErrorCodeEBMS_0060 DomibusErrorCode = "EBMS_0060"

	DomibusErrorCodeEBMS_0065 DomibusErrorCode = "EBMS_0065"
)

type Envelope

type Envelope struct {
	Header *Header `xml:"Header,omitempty" json:"Header,omitempty"`

	Body *Body `xml:"Body,omitempty" json:"Body,omitempty"`
}

type ErrorCode

type ErrorCode string
const (
	ErrorCodeWS_PLUGIN0001 ErrorCode = "WS_PLUGIN:0001"

	ErrorCodeWS_PLUGIN0002 ErrorCode = "WS_PLUGIN:0002"

	ErrorCodeWS_PLUGIN0003 ErrorCode = "WS_PLUGIN:0003"

	ErrorCodeWS_PLUGIN0004 ErrorCode = "WS_PLUGIN:0004"

	ErrorCodeWS_PLUGIN0005 ErrorCode = "WS_PLUGIN:0005"

	ErrorCodeWS_PLUGIN0006 ErrorCode = "WS_PLUGIN:0006"

	ErrorCodeWS_PLUGIN0007 ErrorCode = "WS_PLUGIN:0007"

	ErrorCodeWS_PLUGIN0008 ErrorCode = "WS_PLUGIN:0008"

	ErrorCodeWS_PLUGIN0009 ErrorCode = "WS_PLUGIN:0009"
)

type ErrorResultImpl

type ErrorResultImpl struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ errorResultImpl"`

	DomibusErrorCode *DomibusErrorCode `xml:"domibusErrorCode,omitempty" json:"domibusErrorCode,omitempty"`

	ErrorDetail string `xml:"errorDetail,omitempty" json:"errorDetail,omitempty"`

	MessageInErrorId string `xml:"messageInErrorId,omitempty" json:"messageInErrorId,omitempty"`

	MshRole *MshRole `xml:"mshRole,omitempty" json:"mshRole,omitempty"`

	Notified soap.XSDDateTime `xml:"notified,omitempty" json:"notified,omitempty"`

	Timestamp soap.XSDDateTime `xml:"timestamp,omitempty" json:"timestamp,omitempty"`
}

type ErrorResultImplArray

type ErrorResultImplArray struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ getMessageErrorsResponse"`

	Item []*ErrorResultImpl `xml:"item,omitempty" json:"item,omitempty"`
}

type Fault

type Fault struct {
	Code *Faultcode `xml:"Code,omitempty" json:"Code,omitempty"`

	Reason *Faultreason `xml:"Reason,omitempty" json:"Reason,omitempty"`

	Node AnyURI `xml:"Node,omitempty" json:"Node,omitempty"`

	Role AnyURI `xml:"Role,omitempty" json:"Role,omitempty"`

	Detail *Detail `xml:"Detail,omitempty" json:"Detail,omitempty"`
}

type FaultDetail

type FaultDetail struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ FaultDetail"`

	Code string `xml:"code,omitempty" json:"code,omitempty"`

	Message *string `xml:"message,omitempty" json:"message,omitempty"`
}

type Faultcode

type Faultcode struct {
	XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope faultcode"`

	Value *QName `xml:"Value,omitempty" json:"Value,omitempty"`

	Subcode *Subcode `xml:"Subcode,omitempty" json:"Subcode,omitempty"`
}

type Faultreason

type Faultreason struct {
	XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope faultreason"`

	Text []*Reasontext `xml:"Text,omitempty" json:"Text,omitempty"`
}

type From

type From struct {
	PartyId *PartyId `xml:"PartyId,omitempty" json:"PartyId,omitempty"`

	Role *Max255nonemptystring `xml:"Role,omitempty" json:"Role,omitempty"`
}

type GetErrorsRequest

type GetErrorsRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ getErrorsRequest"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type GetErrorsRequestWithAccessPointRole

type GetErrorsRequestWithAccessPointRole struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ getErrorsRequestWithAccessPointRole"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`

	AccessPointRole *MshRole `xml:"accessPointRole,omitempty" json:"accessPointRole,omitempty"`
}

type GetMessageErrorsResponse

type GetMessageErrorsResponse ErrorResultImplArray

type GetStatusRequest

type GetStatusRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ getStatusRequest"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type GetStatusResponse

type GetStatusResponse MessageStatus
type Header struct {
	Items []string `xml:",any" json:"items,omitempty"`
}

type HexBinary

type HexBinary struct {
	XMLName xml.Name `xml:"http://www.w3.org/2005/05/xmlmime hexBinary"`

	Value []byte `xml:",chardata" json:"-,"`

	ContentType string `xml:"contentType,attr,omitempty" json:"contentType,omitempty"`
}

type LargePayloadType

type LargePayloadType struct {
	Value []byte `xml:"value,omitempty" json:"value,omitempty"`

	PayloadId string `xml:"payloadId,attr,omitempty" json:"payloadId,omitempty"`

	ContentType string `xml:"contentType,attr,omitempty" json:"contentType,omitempty"`
}

type ListPendingMessagesRequest

type ListPendingMessagesRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ listPendingMessagesRequest"`

	MessageId *Max255nonemptystring `xml:"messageId,omitempty" json:"messageId,omitempty"`

	ConversationId *Max255nonemptystring `xml:"conversationId,omitempty" json:"conversationId,omitempty"`

	RefToMessageId *Max255nonemptystring `xml:"refToMessageId,omitempty" json:"refToMessageId,omitempty"`

	FromPartyId *Max255nonemptystring `xml:"fromPartyId,omitempty" json:"fromPartyId,omitempty"`

	FinalRecipient *Max255nonemptystring `xml:"finalRecipient,omitempty" json:"finalRecipient,omitempty"`

	OriginalSender *Max255nonemptystring `xml:"originalSender,omitempty" json:"originalSender,omitempty"`

	ReceivedFrom soap.XSDDateTime `xml:"receivedFrom,omitempty" json:"receivedFrom,omitempty"`

	ReceivedTo soap.XSDDateTime `xml:"receivedTo,omitempty" json:"receivedTo,omitempty"`
}

type ListPendingMessagesResponse

type ListPendingMessagesResponse struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ listPendingMessagesResponse"`

	MessageID []*string `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type ListPushFailedMessagesRequest

type ListPushFailedMessagesRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ listPushFailedMessagesRequest"`

	MessageId *Max255nonemptystring `xml:"messageId,omitempty" json:"messageId,omitempty"`

	FinalRecipient *Max255nonemptystring `xml:"finalRecipient,omitempty" json:"finalRecipient,omitempty"`

	OriginalSender *Max255nonemptystring `xml:"originalSender,omitempty" json:"originalSender,omitempty"`

	ReceivedFrom soap.XSDDateTime `xml:"receivedFrom,omitempty" json:"receivedFrom,omitempty"`

	ReceivedTo soap.XSDDateTime `xml:"receivedTo,omitempty" json:"receivedTo,omitempty"`
}

type ListPushFailedMessagesResponse

type ListPushFailedMessagesResponse struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ listPushFailedMessagesResponse"`

	MessageID []*string `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type MarkMessageAsDownloadedRequest

type MarkMessageAsDownloadedRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ markMessageAsDownloadedRequest"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type MarkMessageAsDownloadedResponse

type MarkMessageAsDownloadedResponse struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ markMessageAsDownloadedResponse"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type Max1024nonemptystring

type Max1024nonemptystring string

func ToMax1024StringPTR

func ToMax1024StringPTR(s string) *Max1024nonemptystring

ToMax1024StringPTR converts a string into Max1024nonemptystring, return nil if string empty.

type Max255nonemptystring

type Max255nonemptystring string

func ToMax255StringPTR

func ToMax255StringPTR(s string) *Max255nonemptystring

ToMax255StringPTR converts a string into Max255nonemptystring, returns nil if string empty.

type Message

type Message struct {
	DataType      string
	OperationType string
	Payload       []byte
}

A Message represents a domibus message.

func DecodeMessage

func DecodeMessage(code string) (Message, error)

DecodeMessage decodes a base64 code into a Message.

func NewMessage

func NewMessage(dataType string, operationType string, payload []byte) (Message, error)

NewMessage is a factory function to create a new Message.

type MessageDispatch

type MessageDispatch struct {
	MessageID string
	Party     Party
	Payload   []byte
}

MessageDispatch is the struct used by the message dispatcher with the party info.

type MessageErrorsRequest

type MessageErrorsRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ messageErrorsRequest"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type MessageErrorsRequestWithAccessPointRole

type MessageErrorsRequestWithAccessPointRole struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ messageErrorsRequestWithAccessPointRole"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`

	AccessPointRole *MshRole `xml:"accessPointRole,omitempty" json:"accessPointRole,omitempty"`
}

type MessageInfo

type MessageInfo struct {
	Timestamp soap.XSDDateTime `xml:"Timestamp,omitempty" json:"Timestamp,omitempty"`

	MessageId *Max255nonemptystring `xml:"MessageId,omitempty" json:"MessageId,omitempty"`

	RefToMessageId *Max255nonemptystring `xml:"RefToMessageId,omitempty" json:"RefToMessageId,omitempty"`
}

type MessageProperties

type MessageProperties struct {
	Property []*Property `xml:"Property,omitempty" json:"Property,omitempty"`
}

type MessageStatus

type MessageStatus string
const (
	MessageStatusREADY_TO_SEND MessageStatus = "READY_TO_SEND"

	MessageStatusREADY_TO_PULL MessageStatus = "READY_TO_PULL"

	MessageStatusBEING_PULLED MessageStatus = "BEING_PULLED"

	MessageStatusSEND_ENQUEUED MessageStatus = "SEND_ENQUEUED"

	MessageStatusSEND_IN_PROGRESS MessageStatus = "SEND_IN_PROGRESS"

	MessageStatusWAITING_FOR_RECEIPT MessageStatus = "WAITING_FOR_RECEIPT"

	MessageStatusACKNOWLEDGED MessageStatus = "ACKNOWLEDGED"

	MessageStatusACKNOWLEDGED_WITH_WARNING MessageStatus = "ACKNOWLEDGED_WITH_WARNING"

	MessageStatusSEND_ATTEMPT_FAILED MessageStatus = "SEND_ATTEMPT_FAILED"

	MessageStatusSEND_FAILURE MessageStatus = "SEND_FAILURE"

	MessageStatusNOT_FOUND MessageStatus = "NOT_FOUND"

	MessageStatusWAITING_FOR_RETRY MessageStatus = "WAITING_FOR_RETRY"

	MessageStatusRECEIVED MessageStatus = "RECEIVED"

	MessageStatusRECEIVED_WITH_WARNINGS MessageStatus = "RECEIVED_WITH_WARNINGS"

	MessageStatusDELETED MessageStatus = "DELETED"

	MessageStatusDOWNLOADED MessageStatus = "DOWNLOADED"
)

type MessageStatusRequest

type MessageStatusRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ messageStatusRequest"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type Messaging

type Messaging struct {
	UserMessage *UserMessage `xml:"UserMessage,omitempty" json:"UserMessage,omitempty"`

	MustUnderstand bool `xml:"mustUnderstand,attr,omitempty" json:"mustUnderstand,omitempty"`
}

type MshRole

type MshRole string
const (
	MshRoleSENDING MshRole = "SENDING"

	MshRoleRECEIVING MshRole = "RECEIVING"
)

type NCName

type NCName string

type NotUnderstood

type NotUnderstood NotUnderstoodType

type NotUnderstoodType

type NotUnderstoodType struct {
	XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope NotUnderstood"`

	Qname *QName `xml:"qname,attr,omitempty" json:"qname,omitempty"`
}

type PartInfo

type PartInfo struct {
	PartProperties *PartProperties `xml:"PartProperties,omitempty" json:"PartProperties,omitempty"`

	Href string `xml:"href,attr,omitempty" json:"href,omitempty"`
}

type PartProperties

type PartProperties struct {
	Property []*Property `xml:"Property,omitempty" json:"Property,omitempty"`
}

type Party

type Party struct {
	Sender    string
	Recipient string
}

A Party contains the sender and the recipient of a message.

func NewParty

func NewParty(sender, recipient string) Party

NewParty is a factory function of a party.

func RetrieveParty

func RetrieveParty(messaging *CustomMessaging) (Party, error)

RetrieveParty retrieves the sender and the recipient from a CustomMessaging.

type PartyId

type PartyId struct {
	Value *Max255nonemptystring `xml:",chardata" json:"-,"`

	Type *Max255nonemptystring `xml:"type,attr,omitempty" json:"type,omitempty"`
}

type PartyInfo

type PartyInfo struct {
	From *From `xml:"From,omitempty" json:"From,omitempty"`

	To *To `xml:"To,omitempty" json:"To,omitempty"`
}

type PayloadInfo

type PayloadInfo struct {
	PartInfo []*PartInfo `xml:"PartInfo,omitempty" json:"PartInfo,omitempty"`
}

type PayloadType

type PayloadType struct {
	Value []byte `xml:",chardata" json:"-,"`

	PayloadId string `xml:"payloadId,attr,omitempty" json:"payloadId,omitempty"`
}

type PayloadURLType

type PayloadURLType string

type Pluginer

type Pluginer interface {
	WebServicePluginInterface

	GetStatusCtx(ctx context.Context, request *CustomStatusRequest) (*MessageStatus, error)
	ListPendingMessagesCtx(ctx context.Context, request *CustomListPendingRequest) (*ListPendingMessagesResponse, error)
	RetrieveMessageCtx(ctx context.Context, request *CustomRetrieveRequest) (*CustomRetrieveResponse, error)
	SubmitMessageCtx(ctx context.Context, request *CustomSubmitRequest) (*SubmitResponse, error)
}

Pluginer contains functionnalities to connect with the domibus server.

type ProcessingType

type ProcessingType string
const (
	ProcessingTypePUSH ProcessingType = "PUSH"

	ProcessingTypePULL ProcessingType = "PULL"
)

type Property

type Property struct {
	Value *Max1024nonemptystring `xml:",chardata" json:"-,"`

	Name *Max255nonemptystring `xml:"name,attr,omitempty" json:"name,omitempty"`

	Type *Max255nonemptystring `xml:"type,attr,omitempty" json:"type,omitempty"`
}

type QName

type QName struct {
	NamespaceURI string `xml:"namespaceURI,omitempty" json:"namespaceURI,omitempty"`

	LocalPart string `xml:"localPart,omitempty" json:"localPart,omitempty"`
}

type RePushFailedMessagesRequest

type RePushFailedMessagesRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ rePushFailedMessagesRequest"`

	MessageID []*string `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type Reasontext

type Reasontext string

type RetrieveMessageRequest

type RetrieveMessageRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ retrieveMessageRequest"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`

	MarkAsDownloaded string `xml:"markAsDownloaded,attr,omitempty" json:"markAsDownloaded,omitempty"`
}

type RetrieveMessageResponse

type RetrieveMessageResponse struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ retrieveMessageResponse"`

	Bodyload *LargePayloadType `xml:"bodyload,omitempty" json:"bodyload,omitempty"`

	Payload []*LargePayloadType `xml:"payload,omitempty" json:"payload,omitempty"`
}

type SOAP

type SOAP struct {
	Client *soap.Client
	// contains filtered or unexported fields
}

SOAP represents the configuration for a Domibus SOAP client.

func NewSOAP

func NewSOAP(domibusURL *url.URL, httpClient *http.Client) (*SOAP, error)

NewSOAP creates a new instance of a Domibus SOAP client. It initializes the SOAP client with the provided Domibus URL and HTTP client. The returned SOAP instance is ready to be used for interacting with Domibus services.

func (*SOAP) ListPendingMsgRequest

func (s *SOAP) ListPendingMsgRequest(ctx context.Context, refToMessageID string, party Party) (*ListPendingMessagesResponse, error)

ListPendingMsgRequest construct a list pending message request and gets all pending messages. Filter can be used to list the desiered messages.

func (*SOAP) RetrieveMsgRequest

func (s *SOAP) RetrieveMsgRequest(ctx context.Context, msgID *string) (*CustomRetrieveResponse, error)

RetrieveMsgRequest construct a retrieve message request and retrieves the messages with a specific message ID.

func (*SOAP) StatusMsgRequest

func (s *SOAP) StatusMsgRequest(ctx context.Context, msgID string) (*MessageStatus, error)

StatusMsgRequest constructs a get status request and get the status of a message.

func (*SOAP) SubmitMsgRequest

func (s *SOAP) SubmitMsgRequest(ctx context.Context, msg string, replyToMessageID string, party Party) (*SubmitResponse, error)

SubmitMsgRequest constructs a submit message request with a message and send it. If replyToMessageID is furnished, it will reply to a specfific message.

type Service

type Service struct {
	Value *Max255nonemptystring `xml:",chardata" json:"-,"`

	Type *Max255nonemptystring `xml:"type,attr,omitempty" json:"type,omitempty"`
}

type StatusRequest

type StatusRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ statusRequest"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type StatusRequestWithAccessPointRole

type StatusRequestWithAccessPointRole struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ statusRequestWithAccessPointRole"`

	MessageID *Max255nonemptystring `xml:"messageID,omitempty" json:"messageID,omitempty"`

	AccessPointRole *MshRole `xml:"accessPointRole,omitempty" json:"accessPointRole,omitempty"`
}

type Subcode

type Subcode struct {
	XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope subcode"`

	Value *QName `xml:"Value,omitempty" json:"Value,omitempty"`

	Subcode *Subcode `xml:"Subcode,omitempty" json:"Subcode,omitempty"`
}

type SubmitRequest

type SubmitRequest struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ submitRequest"`

	Bodyload *LargePayloadType `xml:"bodyload,omitempty" json:"bodyload,omitempty"`

	Payload []*LargePayloadType `xml:"payload,omitempty" json:"payload,omitempty"`
}

type SubmitResponse

type SubmitResponse struct {
	XMLName xml.Name `xml:"http://eu.domibus.wsplugin/ submitResponse"`

	MessageID []*string `xml:"messageID,omitempty" json:"messageID,omitempty"`
}

type SupportedEnvType

type SupportedEnvType struct {
	Qname *QName `xml:"qname,attr,omitempty" json:"qname,omitempty"`
}

type To

type To struct {
	PartyId *PartyId `xml:"PartyId,omitempty" json:"PartyId,omitempty"`

	Role *Max255nonemptystring `xml:"Role,omitempty" json:"Role,omitempty"`
}

type Upgrade

type Upgrade UpgradeType

type UpgradeType

type UpgradeType struct {
	XMLName xml.Name `xml:"http://www.w3.org/2003/05/soap-envelope Upgrade"`

	SupportedEnvelope []*SupportedEnvType `xml:"SupportedEnvelope,omitempty" json:"SupportedEnvelope,omitempty"`
}

type UserMessage

type UserMessage struct {
	MessageInfo *MessageInfo `xml:"MessageInfo,omitempty" json:"MessageInfo,omitempty"`

	PartyInfo *PartyInfo `xml:"PartyInfo,omitempty" json:"PartyInfo,omitempty"`

	CollaborationInfo *CollaborationInfo `xml:"CollaborationInfo,omitempty" json:"CollaborationInfo,omitempty"`

	MessageProperties *MessageProperties `xml:"MessageProperties,omitempty" json:"MessageProperties,omitempty"`

	PayloadInfo *PayloadInfo `xml:"PayloadInfo,omitempty" json:"PayloadInfo,omitempty"`

	ProcessingType *ProcessingType `xml:"ProcessingType,omitempty" json:"ProcessingType,omitempty"`

	Mpc AnyURI `xml:"mpc,attr,omitempty" json:"mpc,omitempty"`
}

type WebServicePluginInterface

type WebServicePluginInterface interface {
	SubmitMessage(request *SubmitRequest) (*SubmitResponse, error)

	SubmitMessageContext(ctx context.Context, request *SubmitRequest) (*SubmitResponse, error)

	GetStatus(request *StatusRequest) (*MessageStatus, error)

	GetStatusContext(ctx context.Context, request *StatusRequest) (*MessageStatus, error)

	GetStatusWithAccessPointRole(request *StatusRequestWithAccessPointRole) (*MessageStatus, error)

	GetStatusWithAccessPointRoleContext(ctx context.Context, request *StatusRequestWithAccessPointRole) (*MessageStatus, error)

	ListPendingMessages(request *ListPendingMessagesRequest) (*ListPendingMessagesResponse, error)

	ListPendingMessagesContext(ctx context.Context, request *ListPendingMessagesRequest) (*ListPendingMessagesResponse, error)

	ListPushFailedMessages(request *ListPushFailedMessagesRequest) (*ListPushFailedMessagesResponse, error)

	ListPushFailedMessagesContext(ctx context.Context, request *ListPushFailedMessagesRequest) (*ListPushFailedMessagesResponse, error)

	RePushFailedMessages(request *RePushFailedMessagesRequest) error

	RePushFailedMessagesContext(ctx context.Context, request *RePushFailedMessagesRequest) error

	GetMessageErrors(request *GetErrorsRequest) (*ErrorResultImplArray, error)

	GetMessageErrorsContext(ctx context.Context, request *GetErrorsRequest) (*ErrorResultImplArray, error)

	GetMessageErrorsWithAccessPointRole(request *GetErrorsRequestWithAccessPointRole) (*ErrorResultImplArray, error)

	GetMessageErrorsWithAccessPointRoleContext(ctx context.Context, request *GetErrorsRequestWithAccessPointRole) (*ErrorResultImplArray, error)

	RetrieveMessage(request *RetrieveMessageRequest) (*RetrieveMessageResponse, error)

	RetrieveMessageContext(ctx context.Context, request *RetrieveMessageRequest) (*RetrieveMessageResponse, error)

	MarkMessageAsDownloaded(request *MarkMessageAsDownloadedRequest) (*MarkMessageAsDownloadedResponse, error)

	MarkMessageAsDownloadedContext(ctx context.Context, request *MarkMessageAsDownloadedRequest) (*MarkMessageAsDownloadedResponse, error)
}

func NewWebServicePluginInterface

func NewWebServicePluginInterface(client *soap.Client) WebServicePluginInterface

Jump to

Keyboard shortcuts

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