siri/siri/stop_monitoring_subscription_request.go
package siri
import (
"bytes"
"fmt"
"time"
"bitbucket.org/enroute-mobi/ara/logger"
)
type SIRIStopMonitoringSubscriptionRequest struct {
ConsumerAddress string
MessageIdentifier string
RequestorRef string
RequestTimestamp time.Time
Entries []*SIRIStopMonitoringSubscriptionRequestEntry
}
type SIRIStopMonitoringSubscriptionRequestEntry struct {
SIRIStopMonitoringRequest
SubscriberRef string
SubscriptionIdentifier string
InitialTerminationTime time.Time
}
func (request *SIRIStopMonitoringSubscriptionRequest) BuildXML(envelopeType ...string) (string, error) {
var buffer bytes.Buffer
var envType string
var templateName string
if len(envelopeType) != 0 && envelopeType[0] != "soap" && envelopeType[0] != "" {
envType = "_" + envelopeType[0]
}
templateName = fmt.Sprintf("stop_monitoring_subscription_request%s.template", envType)
if err := templates.ExecuteTemplate(&buffer, templateName, request); err != nil {
logger.Log.Debugf("Error while executing template: %v", err)
return "", err
}
return buffer.String(), nil
}