Mercurial > gemma
view pkg/soap/erdms2/service.go @ 5615:f6179b31e0a9 erdms2
Use a type alias on date type to not loose XML serialisation.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 10 Nov 2022 19:19:21 +0100 |
parents | 135145f7ca0f |
children | 57c655b93ba8 |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2018 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package erdms2 import ( "context" "encoding/xml" "gemma.intevation.de/gemma/pkg/soap" ) type AnyType struct { InnerXML string `xml:",innerxml"` } type AnyURI string type NCName string // adn (dgs goods) internal adn code (unnr + seqnr: to // make each adn good unique) // type AdnCodeType string // adn class and classifications codes // type AdnClassType string type AdnClassIfType string type AdnImoClassType string // adn (dgs) labels applicable for a dgs good // type AdnLabelType string // adn aquatic toxicity, tanker transports (indication // for dgs, usuallly liquids) // type AquaticToxicityType string // Older CBS (number) code (3 digits) use by // statistics organisations (backw comp) but replaced by newer iso 3166 // (2 letters). // type CbscountryCodeType string // adn chemical stability (indication), tanker // transports // type ChemicalStabilityType string // adn CMR properties (tanker transports) // type CmrPropertyType string // iso 6346 container type (code) type ContIdType string // containertype textual description // type ContNameType string // indication (flag) wheater shiptype code is a single // ship or a transport combination // type CombinationFlagType bool // Country iso 3166 code (2 alpha) type CountryCodeType string // Country iso 3166 code (3 alpha) type CountryCode3Type string // Countryname type (name of the country) // type CountryNameType string // Country iso 3166 numcode (3 digits) // type CountryIsoNumType string // techn directive craft type code (eu hull db) // type CraftTypeType string // inland cones 0,1,2,3,V (as used for DGS goods and // cones calculations) // type ConesType string const ( ConesType0 ConesType = "0" ConesType1 ConesType = "1" ConesType2 ConesType = "2" ConesType3 ConesType = "3" ConesTypeV ConesType = "V" ) // dimension type (length, width, draught etc) in [cm] // (no decimals) // type DimType int64 // older 2 digit dvk shiptype code (replaced by unrec) // type DvkTypeType string // record erased (not actual anymore) flag type // type ErasedType bool // eri location code type as used for eri_locations // type ErilocCodeType string // eri location name type as used in eri_locations // type ErilocNameType string // flags 0,B,V (dang goods indication seagoing // vessels) // type FlagsType string const ( FlagsType0 FlagsType = "0" FlagsTypeB FlagsType = "B" FlagsTypeV FlagsType = "V" ) // adn floater or sinker (indication), tanker // transports // type FloatersinkerType string // fairway code (text) type FwCodeType string // ADN dangerous goodnames, description // type AdnCodeNameType string // non-dangerous goodnames, description // type HsCodeNameType string // ADN dangerous good synonym name,description // type GoodSynType string // HS code as used by customs type HsCodeType string // hectometre code (hectomere in [hm] (no decimals) on // the fairway) // type KmCodeType string // lastupdate, last modification date time of this // record // type LastupdateType = soap.XSDDateTime // one of the supported languages (basic and // additional set), based on ISO 639-1 // type LangType string const ( LangTypeEmptyString LangType = "%%" LangTypeLc LangType = "lc" LangTypeNl LangType = "nl" LangTypeDe LangType = "de" LangTypeFr LangType = "fr" LangTypeEn LangType = "en" LangTypeBg LangType = "bg" LangTypeCs LangType = "cs" LangTypeDa LangType = "da" LangTypeEl LangType = "el" LangTypeEs LangType = "es" LangTypeEt LangType = "et" LangTypeFi LangType = "fi" LangTypeHu LangType = "hu" LangTypeIt LangType = "it" LangTypeLt LangType = "lt" LangTypeLv LangType = "lv" LangTypePl LangType = "pl" LangTypePt LangType = "pt" LangTypeRo LangType = "ro" LangTypeSk LangType = "sk" LangTypeSl LangType = "sl" LangTypeSv LangType = "sv" LangTypeHr LangType = "hr" LangTypeRu LangType = "ru" LangTypeSr LangType = "sr" ) // lat long (WGS decimal [.] coordinates) coordinate // type // type LatlonType float64 // un locode (2 country + 3 location code) // type LoCodeType string // Number of possible (departure) exist (routes) for a // location // type LocExitsType int32 type LocExitsCodeType string type LocSbbLoCodeType string type LocSbbCodeType string // location type, terminal type (a number indicating // type of location,terminal) // type LocTypeType int32 // lloyds flag code for a certain country (seagoing) // type LloydsflagType string // NST code (corresponing nst2007 EU statistics codes // for goods). // type NstCodeType string // NtS (Notices to Skippers) code/Value datatype // type NtsCodeType string // NtS name/description (belonging to a ntsCode) // datatype // type NtsNameType string // NtS subtype (sub data type, there are several nts // tables) // type NtstypeType string // ADN dangerous good packing group I, II, III // type PackGrpType string // UN rec 21 inner package code type PackIdType string // Un rec 21 inner package name/description // type PackNameType string type IvsType string // VTS/IVS code = Provider ID active in certain area // and acting as a reporting point = receiving system (when departing // from that location) // type ProviderIdType string type IvsNameType string type IvsTermType string type IvsReportType bool // quay type (terminals), indicating quay nrs/id's // type QuayType string // record counter (nr of records available or in a // set) // type RecCountType int64 // reftype Type (reftool data reftype, such as: // risidx, eri_location, eri_hscode, nts_data) // type ReftypeType string const ( ReftypeTypeRis_idx ReftypeType = "ris_idx" ReftypeTypeEri_location ReftypeType = "eri_location" ReftypeTypeEri_hscode ReftypeType = "eri_hscode" ReftypeTypeEri_adncode ReftypeType = "eri_adncode" ReftypeTypeEri_conttype ReftypeType = "eri_conttype" ReftypeTypeEri_packtype ReftypeType = "eri_packtype" ReftypeTypeEri_shiptype ReftypeType = "eri_shiptype" ReftypeTypeEri_country ReftypeType = "eri_country" ReftypeTypeEri_error_code_erirsp ReftypeType = "eri_error_code_erirsp" ReftypeTypeNts_barrage ReftypeType = "nts_barrage" ReftypeTypeNts_communication ReftypeType = "nts_communication" ReftypeTypeNts_country ReftypeType = "nts_country" ReftypeTypeNts_dimension_code ReftypeType = "nts_dimension_code" ReftypeTypeNts_direction ReftypeType = "nts_direction" ReftypeTypeNts_direction_max ReftypeType = "nts_direction_max" ReftypeTypeNts_direction_min ReftypeType = "nts_direction_min" ReftypeTypeNts_gui_labels ReftypeType = "nts_gui_labels" ReftypeTypeNts_ice_accessibility ReftypeType = "nts_ice_accessibility" ReftypeTypeNts_ice_condition ReftypeType = "nts_ice_condition" ReftypeTypeNts_ice_classification ReftypeType = "nts_ice_classification" ReftypeTypeNts_ice_situation ReftypeType = "nts_ice_situation" ReftypeTypeNts_indication ReftypeType = "nts_indication" ReftypeTypeNts_interval ReftypeType = "nts_interval" ReftypeTypeNts_language ReftypeType = "nts_language" ReftypeTypeNts_limitation ReftypeType = "nts_limitation" ReftypeTypeNts_measure ReftypeType = "nts_measure" ReftypeTypeNts_position ReftypeType = "nts_position" ReftypeTypeNts_reason ReftypeType = "nts_reason" ReftypeTypeNts_reference ReftypeType = "nts_reference" ReftypeTypeNts_regime ReftypeType = "nts_regime" ReftypeTypeNts_reporting ReftypeType = "nts_reporting" ReftypeTypeNts_subject ReftypeType = "nts_subject" ReftypeTypeNts_tag ReftypeType = "nts_tag" ReftypeTypeNts_target_group ReftypeType = "nts_target_group" ReftypeTypeNts_type ReftypeType = "nts_type" ReftypeTypeNts_weather_category ReftypeType = "nts_weather_category" ReftypeTypeNts_weather_class ReftypeType = "nts_weather_class" ReftypeTypeNts_weather_direction ReftypeType = "nts_weather_direction" ReftypeTypeNts_weather_item ReftypeType = "nts_weather_item" ) // RefData record version numbering (automaically, // starts with 1 and increments on updates, requesting version 0=dont // care) // type RefrecVersionType int64 // remarks string (remarks about the maintance of a // record or any other remarks) // type RemarksType string // return status info string type ReturnStatusType string // ris idx applicability from / to km (in hectometres // (no decimals)) // type RisapplikmType int64 // ris index (ISRS) code type (full ris index code) // type RisCodeType string // ris idx communication information TXTDSC // type RiscomminfoType string // ris idx category of time schedule (cattab) // type RiscatoftimeschedType string // ris idx for ship type type RisforshiptypeType string // ris idx national Gauge Code type (can be utilised // to store any national coding/id/link for gauges) // type RisgaugeidType string // ris idx geod reference type RisgeodrefType string // ris idx link to external XML file // type RislinkextxmlType string // locationames as used in the ris index // type RislocNameType string // ris idx object code type (single code for a // junction, termcode etc padded), subpart of the ris idx. // type RisobjCodeType string // ris idx object function code type (junction, berths // etc) // type RisobjfuncType string // ris idx position on the fairway code // type RispostionCodeType string // ris idx related ENC's type as used in ris idx (list // of ENC id's) // type RisrelencType string // route names, descriptions as used in the ris index // type RisrouteNameType string // ris idx section node id type RissectnodeType string // ris idx reference level code (indicating the ref // level) // type RisreflevelcodeType string // ris idx reference level value [cm] // type RisreflevelvalueType int64 // ris idx use of ship useshp type RisuseofshipType string // ris idx zero point [cm] type RiszeropointType int64 // UNrec 28 shiptype (4 digits) type ShipTypeType string // shiptype name (textual) description // type ShiptypeNameType string // source string, to specify the source of this // record/data or the update. // type SourceType string // ADN signal code (to group dgs for cones/flags // calculations) // type SignalCodeType string // terminal code type (remark: termcode is the only // part of eri locs with variable length, historical reasons). // type TermCodeType string // unlocode countrycode part (first 2 of unlocode) as // used in ris idx // type UnlocCCType string // unlocode location code part (last 3 of unlocode) as // used in ris idx // type UnlocLCType string // UN nr (4 digits) adn nr for identifying ADN // dangerous goods (according CCNR) // type UnnrType string // Username which makes the call // type UserNameType string // cargo weight type, integer nr (units [tons], [kg]) // depending on element) // type WeightType int64 // adn warning (dgs) card id type WarnIdType string // adn warning card type WarnCardType string // // Page code, last record id in given page // type PageCodeType string type PageSizeType uint32 type EcErrorCodeType string type EcErrorGroupType uint32 type EcNameType string type NtsIceConditionCodeThicknessType string type AggrStatusType string type TechNameType uint32 type MatchByCode struct { XMLName xml.Name `xml:"http://rwsreftool/ matchByCode"` *MatchByCodeType } type MatchByCodeResponse struct { XMLName xml.Name `xml:"http://rwsreftool/ matchByCodeResponse"` *MatchByCodeResponseType } type MatchByName struct { XMLName xml.Name `xml:"http://rwsreftool/ matchByName"` *MatchByNameType } type MatchByNameResponse struct { XMLName xml.Name `xml:"http://rwsreftool/ matchByNameResponse"` *MatchByNameResponseType } type GetDataXML struct { XMLName xml.Name `xml:"http://rwsreftool/ getDataXML"` *GetDataXMLType } type GetDataXMLResponse struct { XMLName xml.Name `xml:"http://rwsreftool/ getDataXMLResponse"` *GetDataXMLResponseType } type GetMutatedTables struct { XMLName xml.Name `xml:"http://rwsreftool/ getMutatedTables"` *GetMutatedTablesType } type GetMutatedTablesResponse struct { XMLName xml.Name `xml:"http://rwsreftool/ getMutatedTablesResponse"` *GetMutatedTablesResponseType } type GetMutations struct { XMLName xml.Name `xml:"http://rwsreftool/ getMutations"` *GetMutationsType } type GetMutationsResponse struct { XMLName xml.Name `xml:"http://rwsreftool/ getMutationsResponse"` *GetMutationsResponseType } type GetRisDataXML struct { XMLName xml.Name `xml:"http://rwsreftool/ getRisDataXML"` *GetRisDataXMLType } type GetRisDataXMLResponse struct { XMLName xml.Name `xml:"http://rwsreftool/ getRisDataXMLResponse"` *GetRisDataXMLResponseType } type MutateDataXML struct { XMLName xml.Name `xml:"http://rwsreftool/ mutateDataXML"` *MutateDataXMLType } type MutateDataXMLResponse struct { XMLName xml.Name `xml:"http://rwsreftool/ mutateDataXMLResponse"` *MutateDataXMLResponseType } type Exception ExceptionType type MatchByCodeType struct { Reftype *ReftypeType `xml:"reftype,omitempty" json:"reftype,omitempty"` Code string `xml:"code,omitempty" json:"code,omitempty"` Page *PageRequestType `xml:"page,omitempty" json:"page,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` } type MatchByCodeResponseType struct { PageDetails *PageDetailsType `xml:"pageDetails,omitempty" json:"pageDetails,omitempty"` RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty" json:"refdataReturn,omitempty"` } type MatchByNameType struct { Reftype *ReftypeType `xml:"reftype,omitempty" json:"reftype,omitempty"` Lang *LangType `xml:"lang,omitempty" json:"lang,omitempty"` Name string `xml:"name,omitempty" json:"name,omitempty"` Page *PageRequestType `xml:"page,omitempty" json:"page,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` } type MatchByNameResponseType struct { PageDetails *PageDetailsType `xml:"pageDetails,omitempty" json:"pageDetails,omitempty"` RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty" json:"refdataReturn,omitempty"` } type GetMutatedTablesType struct { // fromDate and toDate in datetime format in UTC time // FromDate soap.XSDDateTime `xml:"fromDate,omitempty" json:"fromDate,omitempty"` ToDate soap.XSDDateTime `xml:"toDate,omitempty" json:"toDate,omitempty"` } type GetMutatedTablesResponseType struct { // Indicate how many mutated tables are // available/were found. // RecCount *RecCountType `xml:"recCount,omitempty" json:"recCount,omitempty"` // Generic status info field, to return (any) status // info // ReturnStatus *ReturnStatusType `xml:"returnStatus,omitempty" json:"returnStatus,omitempty"` MutatedTables []*MutatedTableReturnType `xml:"mutatedTables,omitempty" json:"mutatedTables,omitempty"` } type GetMutationsType struct { Reftype *ReftypeType `xml:"reftype,omitempty" json:"reftype,omitempty"` // from, to in datetime format in UTC time // FromDate soap.XSDDateTime `xml:"fromDate,omitempty" json:"fromDate,omitempty"` ToDate soap.XSDDateTime `xml:"toDate,omitempty" json:"toDate,omitempty"` Page *PageRequestType `xml:"page,omitempty" json:"page,omitempty"` } type GetMutationsResponseType struct { PageDetails *PageDetailsType `xml:"pageDetails,omitempty" json:"pageDetails,omitempty"` RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty" json:"refdataReturn,omitempty"` } type GetDataXMLType struct { Reftype *ReftypeType `xml:"reftype,omitempty" json:"reftype,omitempty"` Page *PageRequestType `xml:"page,omitempty" json:"page,omitempty"` Subcode *RisCodeType `xml:"subcode,omitempty" json:"subcode,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` } type GetDataXMLResponseType struct { PageDetails *PageDetailsType `xml:"pageDetails,omitempty" json:"pageDetails,omitempty"` RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty" json:"refdataReturn,omitempty"` } type GetRisDataXMLType struct { Funcode string `xml:"funcode,omitempty" json:"funcode,omitempty"` CountryCode *CountryCodeType `xml:"countryCode,omitempty" json:"countryCode,omitempty"` Page *PageRequestType `xml:"page,omitempty" json:"page,omitempty"` Subcode *RisCodeType `xml:"subcode,omitempty" json:"subcode,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` } type GetRisDataXMLResponseType struct { PageDetails *PageDetailsType `xml:"pageDetails,omitempty" json:"pageDetails,omitempty"` RisdataReturn []*Ris_idxType `xml:"risdataReturn,omitempty" json:"risdataReturn,omitempty"` } type MutateDataXMLType struct { Username *UserNameType `xml:"username,omitempty" json:"username,omitempty"` RefData *RefdataReturnType `xml:"refData,omitempty" json:"refData,omitempty"` } type MutateDataXMLResponseType struct { *StatReturnType } type ExceptionType struct { XMLName xml.Name `xml:"http://rwsreftool/ exception"` // exception code Exception int32 `xml:"exception,omitempty" json:"exception,omitempty"` // exception message in English Message string `xml:"message,omitempty" json:"message,omitempty"` } type RefdataReturnType struct { Reftype struct { Value *ReftypeType `xml:",chardata" json:"-,"` } `xml:"reftype,omitempty" json:"reftype,omitempty"` Ris_idx *Ris_idxType `xml:"ris_idx,omitempty" json:"ris_idx,omitempty"` Eri_location *Eri_locationType `xml:"eri_location,omitempty" json:"eri_location,omitempty"` Eri_hscode *Eri_hscodeType `xml:"eri_hscode,omitempty" json:"eri_hscode,omitempty"` Eri_adncode *Eri_adncodeType `xml:"eri_adncode,omitempty" json:"eri_adncode,omitempty"` Eri_conttype *Eri_conttypeType `xml:"eri_conttype,omitempty" json:"eri_conttype,omitempty"` Eri_packtype *Eri_packtypeType `xml:"eri_packtype,omitempty" json:"eri_packtype,omitempty"` Eri_shiptype *Eri_shiptypeType `xml:"eri_shiptype,omitempty" json:"eri_shiptype,omitempty"` Eri_country *Eri_countryType `xml:"eri_country,omitempty" json:"eri_country,omitempty"` Eri_errorCodeRsp *Eri_errorCodeRspType `xml:"eri_errorCodeRsp,omitempty" json:"eri_errorCodeRsp,omitempty"` // NtS element is only available in the return // refdata structure. // It is not available in the Req Mutation datastructure because we // can not mutate nts data (not allowed)! // Nts_data *Nts_dataType `xml:"nts_data,omitempty" json:"nts_data,omitempty"` } type MutatedTableReturnType struct { XMLName xml.Name `xml:"http://rwsreftool/ mutatedTables"` // This table (refType) has mutations (>0) // RefType *ReftypeType `xml:"refType,omitempty" json:"refType,omitempty"` // Indicates how many (>0) mutations (records) are // available for THIS table. // RecCount *RecCountType `xml:"recCount,omitempty" json:"recCount,omitempty"` } type StatReturnType struct { // 0=ok, 1=warning, 2=error Err int32 `xml:"err,omitempty" json:"err,omitempty"` Message struct { } `xml:"message,omitempty" json:"message,omitempty"` } type Ris_idxType struct { RisidxCode *RisCodeType `xml:"risidxCode,omitempty" json:"risidxCode,omitempty"` CodeOld *RisCodeType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` UnlocCC *UnlocCCType `xml:"unlocCC,omitempty" json:"unlocCC,omitempty"` UnlocLC *UnlocLCType `xml:"unlocLC,omitempty" json:"unlocLC,omitempty"` WwsectCode *FwCodeType `xml:"wwsectCode,omitempty" json:"wwsectCode,omitempty"` Objcode *RisobjCodeType `xml:"objcode,omitempty" json:"objcode,omitempty"` Hectomt *KmCodeType `xml:"hectomt,omitempty" json:"hectomt,omitempty"` Objfunc *RisobjfuncType `xml:"objfunc,omitempty" json:"objfunc,omitempty"` Objname struct { // Without diacritics (to be used in EDIfact // msgs) // Loc *RislocNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` // in UTF8 LocNational *RislocNameType `xml:"locNational,omitempty" json:"locNational,omitempty"` } `xml:"objname,omitempty" json:"objname,omitempty"` Locname struct { Loc *RislocNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` LocNational *RislocNameType `xml:"locNational,omitempty" json:"locNational,omitempty"` } `xml:"locname,omitempty" json:"locname,omitempty"` Wwname struct { Loc *RislocNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` LocNational *RislocNameType `xml:"locNational,omitempty" json:"locNational,omitempty"` } `xml:"wwname,omitempty" json:"wwname,omitempty"` Routename struct { Loc *RisrouteNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` LocNational *RisrouteNameType `xml:"locNational,omitempty" json:"locNational,omitempty"` } `xml:"routename,omitempty" json:"routename,omitempty"` PositionCode *RispostionCodeType `xml:"positionCode,omitempty" json:"positionCode,omitempty"` Relrisindex *RisCodeType `xml:"relrisindex,omitempty" json:"relrisindex,omitempty"` Sectionnode *RissectnodeType `xml:"sectionnode,omitempty" json:"sectionnode,omitempty"` Lat *LatlonType `xml:"lat,omitempty" json:"lat,omitempty"` Lon *LatlonType `xml:"lon,omitempty" json:"lon,omitempty"` Relenc *RisrelencType `xml:"relenc,omitempty" json:"relenc,omitempty"` Comminfo *RiscomminfoType `xml:"comminfo,omitempty" json:"comminfo,omitempty"` Gaugeid *RisgaugeidType `xml:"gaugeid,omitempty" json:"gaugeid,omitempty"` Vesselconvlength *DimType `xml:"vesselconvlength,omitempty" json:"vesselconvlength,omitempty"` Vesselconvbreadth *DimType `xml:"vesselconvbreadth,omitempty" json:"vesselconvbreadth,omitempty"` Vesselconvdraught *DimType `xml:"vesselconvdraught,omitempty" json:"vesselconvdraught,omitempty"` Vesselconvairdraught *DimType `xml:"vesselconvairdraught,omitempty" json:"vesselconvairdraught,omitempty"` Availablelength *DimType `xml:"availablelength,omitempty" json:"availablelength,omitempty"` Clearancewidth *DimType `xml:"clearancewidth,omitempty" json:"clearancewidth,omitempty"` Availabledepthcode *RisreflevelcodeType `xml:"availabledepthcode,omitempty" json:"availabledepthcode,omitempty"` Availabledepth *DimType `xml:"availabledepth,omitempty" json:"availabledepth,omitempty"` Clearanceheightcode *RisreflevelcodeType `xml:"clearanceheightcode,omitempty" json:"clearanceheightcode,omitempty"` Clearanceheight *DimType `xml:"clearanceheight,omitempty" json:"clearanceheight,omitempty"` ReferencegaugeISRS *RisCodeType `xml:"referencegaugeISRS,omitempty" json:"referencegaugeISRS,omitempty"` Applicabilityfromkm *RisapplikmType `xml:"applicabilityfromkm,omitempty" json:"applicabilityfromkm,omitempty"` Applicabilitytokm *RisapplikmType `xml:"applicabilitytokm,omitempty" json:"applicabilitytokm,omitempty"` Reflevel1code *RisreflevelcodeType `xml:"reflevel1code,omitempty" json:"reflevel1code,omitempty"` Reflevel1value *RisreflevelvalueType `xml:"reflevel1value,omitempty" json:"reflevel1value,omitempty"` Reflevel2code *RisreflevelcodeType `xml:"reflevel2code,omitempty" json:"reflevel2code,omitempty"` Reflevel2value *RisreflevelvalueType `xml:"reflevel2value,omitempty" json:"reflevel2value,omitempty"` Reflevel3code *RisreflevelcodeType `xml:"reflevel3code,omitempty" json:"reflevel3code,omitempty"` Reflevel3value *RisreflevelvalueType `xml:"reflevel3value,omitempty" json:"reflevel3value,omitempty"` Zeropoint *RiszeropointType `xml:"zeropoint,omitempty" json:"zeropoint,omitempty"` Geodref *RisgeodrefType `xml:"geodref,omitempty" json:"geodref,omitempty"` Catoftimesched *RiscatoftimeschedType `xml:"catoftimesched,omitempty" json:"catoftimesched,omitempty"` Forshiptype *RisforshiptypeType `xml:"forshiptype,omitempty" json:"forshiptype,omitempty"` Foruseofship *RisuseofshipType `xml:"foruseofship,omitempty" json:"foruseofship,omitempty"` LnktoextXMfiletimesched *RislinkextxmlType `xml:"lnktoextXMfiletimesched,omitempty" json:"lnktoextXMfiletimesched,omitempty"` LnktoextXMfilepastime *RislinkextxmlType `xml:"lnktoextXMfilepastime,omitempty" json:"lnktoextXMfilepastime,omitempty"` Vesselconvlength2 *DimType `xml:"vesselconvlength2,omitempty" json:"vesselconvlength2,omitempty"` Vesselconvbreadth2 *DimType `xml:"vesselconvbreadth2,omitempty" json:"vesselconvbreadth2,omitempty"` Vesselconvdraught2 *DimType `xml:"vesselconvdraught2,omitempty" json:"vesselconvdraught2,omitempty"` Vesselconvairdraught2 *DimType `xml:"vesselconvairdraught2,omitempty" json:"vesselconvairdraught2,omitempty"` Availablelength2 *DimType `xml:"availablelength2,omitempty" json:"availablelength2,omitempty"` Clearancewidth2 *DimType `xml:"clearancewidth2,omitempty" json:"clearancewidth2,omitempty"` Availabledepth2code *RisreflevelcodeType `xml:"availabledepth2code,omitempty" json:"availabledepth2code,omitempty"` Availabledepth2 *DimType `xml:"availabledepth2,omitempty" json:"availabledepth2,omitempty"` Clearanceheight2code *RisreflevelcodeType `xml:"clearanceheight2code,omitempty" json:"clearanceheight2code,omitempty"` Clearanceheight2 *DimType `xml:"clearanceheight2,omitempty" json:"clearanceheight2,omitempty"` Referencegauge2ISRS *RisCodeType `xml:"referencegauge2ISRS,omitempty" json:"referencegauge2ISRS,omitempty"` Vesselconvlength3 *DimType `xml:"vesselconvlength3,omitempty" json:"vesselconvlength3,omitempty"` Vesselconvbreadth3 *DimType `xml:"vesselconvbreadth3,omitempty" json:"vesselconvbreadth3,omitempty"` Vesselconvdraught3 *DimType `xml:"vesselconvdraught3,omitempty" json:"vesselconvdraught3,omitempty"` Vesselconvairdraught3 *DimType `xml:"vesselconvairdraught3,omitempty" json:"vesselconvairdraught3,omitempty"` Availablelength3 *DimType `xml:"availablelength3,omitempty" json:"availablelength3,omitempty"` Clearancewidth3 *DimType `xml:"clearancewidth3,omitempty" json:"clearancewidth3,omitempty"` Availabledepth3code *RisreflevelcodeType `xml:"availabledepth3code,omitempty" json:"availabledepth3code,omitempty"` Availabledepth3 *DimType `xml:"availabledepth3,omitempty" json:"availabledepth3,omitempty"` Clearanceheight3code *RisreflevelcodeType `xml:"clearanceheight3code,omitempty" json:"clearanceheight3code,omitempty"` Clearanceheight3 *DimType `xml:"clearanceheight3,omitempty" json:"clearanceheight3,omitempty"` Referencegauge3ISRS *RisCodeType `xml:"referencegauge3ISRS,omitempty" json:"referencegauge3ISRS,omitempty"` Catoftimesched2 *RiscatoftimeschedType `xml:"catoftimesched2,omitempty" json:"catoftimesched2,omitempty"` Forshiptype2 *RisforshiptypeType `xml:"forshiptype2,omitempty" json:"forshiptype2,omitempty"` Foruseofship2 *RisuseofshipType `xml:"foruseofship2,omitempty" json:"foruseofship2,omitempty"` LnktoextXMfiletimesched2 *RislinkextxmlType `xml:"lnktoextXMfiletimesched2,omitempty" json:"lnktoextXMfiletimesched2,omitempty"` LnktoextXMfilepastime2 *RislinkextxmlType `xml:"lnktoextXMfilepastime2,omitempty" json:"lnktoextXMfilepastime2,omitempty"` Catoftimesched3 *RiscatoftimeschedType `xml:"catoftimesched3,omitempty" json:"catoftimesched3,omitempty"` Forshiptype3 *RisforshiptypeType `xml:"forshiptype3,omitempty" json:"forshiptype3,omitempty"` Foruseofship3 *RisuseofshipType `xml:"foruseofship3,omitempty" json:"foruseofship3,omitempty"` LnktoextXMfiletimesched3 *RislinkextxmlType `xml:"lnktoextXMfiletimesched3,omitempty" json:"lnktoextXMfiletimesched3,omitempty"` LnktoextXMfilepastime3 *RislinkextxmlType `xml:"lnktoextXMfilepastime3,omitempty" json:"lnktoextXMfilepastime3,omitempty"` Startdate *LastupdateType `xml:"startdate,omitempty" json:"startdate,omitempty"` Enddate *LastupdateType `xml:"enddate,omitempty" json:"enddate,omitempty"` Infodate *LastupdateType `xml:"infodate,omitempty" json:"infodate,omitempty"` // specific (RIS) source of this information // RisidxSource *RemarksType `xml:"risidxSource,omitempty" json:"risidxSource,omitempty"` // specific Ris idx remarks, reasons for change // (descriptions as received with the ris idx) // RisidxRemarks *RemarksType `xml:"risidxRemarks,omitempty" json:"risidxRemarks,omitempty"` // source of mutation Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` // remarks regarding the maintance of the ris idx // Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_locationType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_location"` ErilocCode *ErilocCodeType `xml:"erilocCode,omitempty" json:"erilocCode,omitempty"` CodeOld *ErilocCodeType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` RisCode *RisCodeType `xml:"risCode,omitempty" json:"risCode,omitempty"` LoCode *LoCodeType `xml:"loCode,omitempty" json:"loCode,omitempty"` FwCode *FwCodeType `xml:"fwCode,omitempty" json:"fwCode,omitempty"` KmCode *KmCodeType `xml:"kmCode,omitempty" json:"kmCode,omitempty"` Name struct { Loc *ErilocNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` NL *ErilocNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *ErilocNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *ErilocNameType `xml:"FR,omitempty" json:"FR,omitempty"` EN *ErilocNameType `xml:"EN,omitempty" json:"EN,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` LocType *LocTypeType `xml:"locType,omitempty" json:"locType,omitempty"` Lat *LatlonType `xml:"lat,omitempty" json:"lat,omitempty"` Lon *LatlonType `xml:"lon,omitempty" json:"lon,omitempty"` TermCode *TermCodeType `xml:"termCode,omitempty" json:"termCode,omitempty"` Termname struct { Loc *ErilocNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` NL *ErilocNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *ErilocNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *ErilocNameType `xml:"FR,omitempty" json:"FR,omitempty"` EN *ErilocNameType `xml:"EN,omitempty" json:"EN,omitempty"` } `xml:"termname,omitempty" json:"termname,omitempty"` TermType *LocTypeType `xml:"termType,omitempty" json:"termType,omitempty"` QuayFrom *QuayType `xml:"quayFrom,omitempty" json:"quayFrom,omitempty"` QuayTo *QuayType `xml:"quayTo,omitempty" json:"quayTo,omitempty"` Ivs *IvsType `xml:"ivs,omitempty" json:"ivs,omitempty"` // VTS/IVS (code) acting as the default reporting // (receiving) point (when departing from this location) // IvsVTSCode *ProviderIdType `xml:"ivsVTSCode,omitempty" json:"ivsVTSCode,omitempty"` IvsName *IvsNameType `xml:"ivsName,omitempty" json:"ivsName,omitempty"` IvsTerm *IvsTermType `xml:"ivsTerm,omitempty" json:"ivsTerm,omitempty"` IvsReport *IvsReportType `xml:"ivsReport,omitempty" json:"ivsReport,omitempty"` // Nr of possible exits (routes) when departing from // this location >1 means a reporting or routepoint has to be // specified. // Exits *LocExitsType `xml:"exits,omitempty" json:"exits,omitempty"` Exit0 *LocExitsCodeType `xml:"exit0,omitempty" json:"exit0,omitempty"` Exit1 *LocExitsCodeType `xml:"exit1,omitempty" json:"exit1,omitempty"` Exit2 *LocExitsCodeType `xml:"exit2,omitempty" json:"exit2,omitempty"` Exit3 *LocExitsCodeType `xml:"exit3,omitempty" json:"exit3,omitempty"` Exit4 *LocExitsCodeType `xml:"exit4,omitempty" json:"exit4,omitempty"` Exit5 *LocExitsCodeType `xml:"exit5,omitempty" json:"exit5,omitempty"` Exit6 *LocExitsCodeType `xml:"exit6,omitempty" json:"exit6,omitempty"` Exit7 *LocExitsCodeType `xml:"exit7,omitempty" json:"exit7,omitempty"` Exit8 *LocExitsCodeType `xml:"exit8,omitempty" json:"exit8,omitempty"` Exit9 *LocExitsCodeType `xml:"exit9,omitempty" json:"exit9,omitempty"` SbbLoCode *LocSbbLoCodeType `xml:"sbbLoCode,omitempty" json:"sbbLoCode,omitempty"` SbbCode *LocSbbCodeType `xml:"sbbCode,omitempty" json:"sbbCode,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_hscodeType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_hscode"` // Harmonised System type HsCode *HsCodeType `xml:"hsCode,omitempty" json:"hsCode,omitempty"` CodeOld *HsCodeType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` Name struct { Loc *HsCodeNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` EN *HsCodeNameType `xml:"EN,omitempty" json:"EN,omitempty"` NL *HsCodeNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *HsCodeNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *HsCodeNameType `xml:"FR,omitempty" json:"FR,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` NstCode *NstCodeType `xml:"nstCode,omitempty" json:"nstCode,omitempty"` // English (NST2007) description. NstName *HsCodeNameType `xml:"nstName,omitempty" json:"nstName,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_adncodeType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_adncode"` // Be sure to edit, change the basic Simpletypes, // dont edit any of the (sub)elements from here!!! // AdnCode *AdnCodeType `xml:"adnCode,omitempty" json:"adnCode,omitempty"` CodeOld *AdnCodeType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` Unnr *UnnrType `xml:"unnr,omitempty" json:"unnr,omitempty"` AdnClass *AdnClassType `xml:"adnClass,omitempty" json:"adnClass,omitempty"` AdnClassif *AdnClassIfType `xml:"adnClassif,omitempty" json:"adnClassif,omitempty"` ImoClass *AdnImoClassType `xml:"imoClass,omitempty" json:"imoClass,omitempty"` PackGrp *PackGrpType `xml:"packGrp,omitempty" json:"packGrp,omitempty"` Name struct { Loc *AdnCodeNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` EN *AdnCodeNameType `xml:"EN,omitempty" json:"EN,omitempty"` NL *AdnCodeNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *AdnCodeNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *AdnCodeNameType `xml:"FR,omitempty" json:"FR,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` Syn struct { Loc *GoodSynType `xml:"Loc,omitempty" json:"Loc,omitempty"` NL *GoodSynType `xml:"NL,omitempty" json:"NL,omitempty"` DE *GoodSynType `xml:"DE,omitempty" json:"DE,omitempty"` FR *GoodSynType `xml:"FR,omitempty" json:"FR,omitempty"` EN *GoodSynType `xml:"EN,omitempty" json:"EN,omitempty"` } `xml:"syn,omitempty" json:"syn,omitempty"` HsCode *HsCodeType `xml:"hsCode,omitempty" json:"hsCode,omitempty"` NstCode *NstCodeType `xml:"nstCode,omitempty" json:"nstCode,omitempty"` // 0, 1, 2, 3, V ConesBulk *ConesType `xml:"conesBulk,omitempty" json:"conesBulk,omitempty"` ConesTank *ConesType `xml:"conesTank,omitempty" json:"conesTank,omitempty"` ConesCont *ConesType `xml:"conesCont,omitempty" json:"conesCont,omitempty"` // 0, B, V FlagsBulk *FlagsType `xml:"flagsBulk,omitempty" json:"flagsBulk,omitempty"` FlagsTank *FlagsType `xml:"flagsTank,omitempty" json:"flagsTank,omitempty"` WarnCard *WarnCardType `xml:"warnCard,omitempty" json:"warnCard,omitempty"` WarnId *WarnIdType `xml:"warnId,omitempty" json:"warnId,omitempty"` Label1 *AdnLabelType `xml:"label1,omitempty" json:"label1,omitempty"` Label2 *AdnLabelType `xml:"label2,omitempty" json:"label2,omitempty"` Label3 *AdnLabelType `xml:"label3,omitempty" json:"label3,omitempty"` Label4 *AdnLabelType `xml:"label4,omitempty" json:"label4,omitempty"` AquaticToxicity *AquaticToxicityType `xml:"aquaticToxicity,omitempty" json:"aquaticToxicity,omitempty"` ChemicalStability *ChemicalStabilityType `xml:"chemicalStability,omitempty" json:"chemicalStability,omitempty"` CmrProperties *CmrPropertyType `xml:"cmrProperties,omitempty" json:"cmrProperties,omitempty"` Floater *FloatersinkerType `xml:"floater,omitempty" json:"floater,omitempty"` MaxWeightCodeInlandBulkCont *SignalCodeType `xml:"maxWeightCodeInlandBulkCont,omitempty" json:"maxWeightCodeInlandBulkCont,omitempty"` // max weight in kg MaxWeightInlandBulkCont *WeightType `xml:"maxWeightInlandBulkCont,omitempty" json:"maxWeightInlandBulkCont,omitempty"` SignalCodeInlandCont *SignalCodeType `xml:"signalCodeInlandCont,omitempty" json:"signalCodeInlandCont,omitempty"` // min weight in kg MinWeightInlandCont *WeightType `xml:"minWeightInlandCont,omitempty" json:"minWeightInlandCont,omitempty"` SignalCodeInlandExcemp *SignalCodeType `xml:"signalCodeInlandExcemp,omitempty" json:"signalCodeInlandExcemp,omitempty"` // min weight in kg MinWeightInlandExcemp *WeightType `xml:"minWeightInlandExcemp,omitempty" json:"minWeightInlandExcemp,omitempty"` SignalCodeSeaBulk *SignalCodeType `xml:"signalCodeSeaBulk,omitempty" json:"signalCodeSeaBulk,omitempty"` // min weight in kg MinWeightSeaBulk *WeightType `xml:"minWeightSeaBulk,omitempty" json:"minWeightSeaBulk,omitempty"` AggrStatus *AggrStatusType `xml:"aggrStatus,omitempty" json:"aggrStatus,omitempty"` TechName *TechNameType `xml:"techName,omitempty" json:"techName,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_conttypeType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_conttype"` ContId *ContIdType `xml:"contId,omitempty" json:"contId,omitempty"` CodeOld *ContIdType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` // dimensions in cm Length *DimType `xml:"length,omitempty" json:"length,omitempty"` Width *DimType `xml:"width,omitempty" json:"width,omitempty"` Height *DimType `xml:"height,omitempty" json:"height,omitempty"` // empty weight in kg Weight *WeightType `xml:"weight,omitempty" json:"weight,omitempty"` Name struct { Loc *ContNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` NL *ContNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *ContNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *ContNameType `xml:"FR,omitempty" json:"FR,omitempty"` EN *ContNameType `xml:"EN,omitempty" json:"EN,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_packtypeType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_packtype"` PackId *PackIdType `xml:"packId,omitempty" json:"packId,omitempty"` CodeOld *PackIdType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` Name struct { Loc *PackNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` EN *PackNameType `xml:"EN,omitempty" json:"EN,omitempty"` NL *PackNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *PackNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *PackNameType `xml:"FR,omitempty" json:"FR,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_shiptypeType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_shiptype"` ShipType *ShipTypeType `xml:"shipType,omitempty" json:"shipType,omitempty"` CodeOld *ShipTypeType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` DvkType *DvkTypeType `xml:"dvkType,omitempty" json:"dvkType,omitempty"` CraftType *CraftTypeType `xml:"craftType,omitempty" json:"craftType,omitempty"` // True = transport cominination type, false=single // ship // Combination *CombinationFlagType `xml:"combination,omitempty" json:"combination,omitempty"` Name struct { Loc *ShiptypeNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` EN *ShiptypeNameType `xml:"EN,omitempty" json:"EN,omitempty"` NL *ShiptypeNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *ShiptypeNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *ShiptypeNameType `xml:"FR,omitempty" json:"FR,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_countryType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_country"` // UN country ISO code 2 chars. // CountryCode *CountryCodeType `xml:"countryCode,omitempty" json:"countryCode,omitempty"` CodeOld *CountryCodeType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` CbsCode *CbscountryCodeType `xml:"cbsCode,omitempty" json:"cbsCode,omitempty"` CountryIsoCode3 *CountryCode3Type `xml:"countryIsoCode3,omitempty" json:"countryIsoCode3,omitempty"` CountryIsoNum *CountryIsoNumType `xml:"countryIsoNum,omitempty" json:"countryIsoNum,omitempty"` LloydsFlag *LloydsflagType `xml:"lloydsFlag,omitempty" json:"lloydsFlag,omitempty"` Name struct { Loc *CountryNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` EN *CountryNameType `xml:"EN,omitempty" json:"EN,omitempty"` NL *CountryNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *CountryNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *CountryNameType `xml:"FR,omitempty" json:"FR,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type Eri_errorCodeRspType struct { XMLName xml.Name `xml:"http://rwsreftool/ eri_errorCodeRsp"` ErrorCode *EcErrorCodeType `xml:"errorCode,omitempty" json:"errorCode,omitempty"` ErrorCodeOld *EcErrorCodeType `xml:"errorCodeOld,omitempty" json:"errorCodeOld,omitempty"` ErrorGroup *EcErrorGroupType `xml:"errorGroup,omitempty" json:"errorGroup,omitempty"` Name struct { Loc *EcNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` EN *EcNameType `xml:"EN,omitempty" json:"EN,omitempty"` NL *EcNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *EcNameType `xml:"DE,omitempty" json:"DE,omitempty"` FR *EcNameType `xml:"FR,omitempty" json:"FR,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type NtsIceConditionCodeType struct { *Nts_dataType Thickness *NtsIceConditionCodeThicknessType `xml:"thickness,omitempty" json:"thickness,omitempty"` } type Nts_dataType struct { XMLName xml.Name `xml:"http://rwsreftool/ nts_data"` // Just a string (no enum) to return nts data type // of the nts_data returned! // reftype already contains datatype. // Ntstype *NtstypeType `xml:"ntstype,omitempty" json:"ntstype,omitempty"` Ntscode *NtsCodeType `xml:"ntscode,omitempty" json:"ntscode,omitempty"` CodeOld *NtsCodeType `xml:"codeOld,omitempty" json:"codeOld,omitempty"` Name struct { Loc *NtsNameType `xml:"Loc,omitempty" json:"Loc,omitempty"` NL *NtsNameType `xml:"NL,omitempty" json:"NL,omitempty"` DE *NtsNameType `xml:"DE,omitempty" json:"DE,omitempty"` EN *NtsNameType `xml:"EN,omitempty" json:"EN,omitempty"` FR *NtsNameType `xml:"FR,omitempty" json:"FR,omitempty"` BG *NtsNameType `xml:"BG,omitempty" json:"BG,omitempty"` CS *NtsNameType `xml:"CS,omitempty" json:"CS,omitempty"` DA *NtsNameType `xml:"DA,omitempty" json:"DA,omitempty"` EL *NtsNameType `xml:"EL,omitempty" json:"EL,omitempty"` ES *NtsNameType `xml:"ES,omitempty" json:"ES,omitempty"` ET *NtsNameType `xml:"ET,omitempty" json:"ET,omitempty"` FI *NtsNameType `xml:"FI,omitempty" json:"FI,omitempty"` HU *NtsNameType `xml:"HU,omitempty" json:"HU,omitempty"` IT *NtsNameType `xml:"IT,omitempty" json:"IT,omitempty"` LT *NtsNameType `xml:"LT,omitempty" json:"LT,omitempty"` LV *NtsNameType `xml:"LV,omitempty" json:"LV,omitempty"` MT *NtsNameType `xml:"MT,omitempty" json:"MT,omitempty"` PL *NtsNameType `xml:"PL,omitempty" json:"PL,omitempty"` PT *NtsNameType `xml:"PT,omitempty" json:"PT,omitempty"` RO *NtsNameType `xml:"RO,omitempty" json:"RO,omitempty"` SK *NtsNameType `xml:"SK,omitempty" json:"SK,omitempty"` SL *NtsNameType `xml:"SL,omitempty" json:"SL,omitempty"` SV *NtsNameType `xml:"SV,omitempty" json:"SV,omitempty"` HR *NtsNameType `xml:"HR,omitempty" json:"HR,omitempty"` RU *NtsNameType `xml:"RU,omitempty" json:"RU,omitempty"` SR *NtsNameType `xml:"SR,omitempty" json:"SR,omitempty"` } `xml:"name,omitempty" json:"name,omitempty"` Source *SourceType `xml:"source,omitempty" json:"source,omitempty"` Remarks *RemarksType `xml:"remarks,omitempty" json:"remarks,omitempty"` Version *RefrecVersionType `xml:"version,omitempty" json:"version,omitempty"` Erased *ErasedType `xml:"erased,omitempty" json:"erased,omitempty"` Lastupdate *LastupdateType `xml:"lastupdate,omitempty" json:"lastupdate,omitempty"` } type PageRequestType struct { XMLName xml.Name `xml:"http://rwsreftool/ page"` PageCode *PageCodeType `xml:"pageCode,omitempty" json:"pageCode,omitempty"` PageSize *PageSizeType `xml:"pageSize,omitempty" json:"pageSize,omitempty"` } type PageDetailsType struct { //XMLName xml.Name `xml:"http://rwsreftool/ pageDetails"` XMLName xml.Name `xml:"pageDetails"` PageCode *PageCodeType `xml:"pageCode,omitempty" json:"pageCode,omitempty"` PageSize *PageSizeType `xml:"pageSize,omitempty" json:"pageSize,omitempty"` TotalElements *PageSizeType `xml:"totalElements,omitempty" json:"totalElements,omitempty"` TotalPages *PageSizeType `xml:"totalPages,omitempty" json:"totalPages,omitempty"` } type RefWeb interface { // Error can be either of the following types: // // - Exception MutateDataXML(request *MutateDataXML) (*MutateDataXMLResponse, error) MutateDataXMLContext(ctx context.Context, request *MutateDataXML) (*MutateDataXMLResponse, error) // Error can be either of the following types: // // - Exception MatchByCode(request *MatchByCode) (*MatchByCodeResponse, error) MatchByCodeContext(ctx context.Context, request *MatchByCode) (*MatchByCodeResponse, error) // Error can be either of the following types: // // - Exception GetMutations(request *GetMutations) (*GetMutationsResponse, error) GetMutationsContext(ctx context.Context, request *GetMutations) (*GetMutationsResponse, error) // Error can be either of the following types: // // - Exception GetRisDataXML(request *GetRisDataXML) (*GetRisDataXMLResponse, error) GetRisDataXMLContext(ctx context.Context, request *GetRisDataXML) (*GetRisDataXMLResponse, error) // Error can be either of the following types: // // - Exception MatchByName(request *MatchByName) (*MatchByNameResponse, error) MatchByNameContext(ctx context.Context, request *MatchByName) (*MatchByNameResponse, error) // Error can be either of the following types: // // - Exception GetMutatedTables(request *GetMutatedTables) (*GetMutatedTablesResponse, error) GetMutatedTablesContext(ctx context.Context, request *GetMutatedTables) (*GetMutatedTablesResponse, error) // Error can be either of the following types: // // - Exception GetDataXML(request *GetDataXML) (*GetDataXMLResponse, error) GetDataXMLContext(ctx context.Context, request *GetDataXML) (*GetDataXMLResponse, error) } type refWeb struct { client *soap.SOAPClient } func NewRefService(url string, tls bool, auth soap.Auth) RefWeb { return NewRefWeb(soap.NewSOAPClient(url, tls, auth)) } func NewRefWeb(client *soap.SOAPClient) RefWeb { return &refWeb{ client: client, } } func (service *refWeb) MutateDataXMLContext(ctx context.Context, request *MutateDataXML) (*MutateDataXMLResponse, error) { response := new(MutateDataXMLResponse) err := service.client.CallContext(ctx, "''", request, response) if err != nil { return nil, err } return response, nil } func (service *refWeb) MutateDataXML(request *MutateDataXML) (*MutateDataXMLResponse, error) { return service.MutateDataXMLContext( context.Background(), request, ) } func (service *refWeb) MatchByCodeContext(ctx context.Context, request *MatchByCode) (*MatchByCodeResponse, error) { response := new(MatchByCodeResponse) err := service.client.CallContext(ctx, "''", request, response) if err != nil { return nil, err } return response, nil } func (service *refWeb) MatchByCode(request *MatchByCode) (*MatchByCodeResponse, error) { return service.MatchByCodeContext( context.Background(), request, ) } func (service *refWeb) GetMutationsContext(ctx context.Context, request *GetMutations) (*GetMutationsResponse, error) { response := new(GetMutationsResponse) err := service.client.CallContext(ctx, "''", request, response) if err != nil { return nil, err } return response, nil } func (service *refWeb) GetMutations(request *GetMutations) (*GetMutationsResponse, error) { return service.GetMutationsContext( context.Background(), request, ) } func (service *refWeb) GetRisDataXMLContext(ctx context.Context, request *GetRisDataXML) (*GetRisDataXMLResponse, error) { response := new(GetRisDataXMLResponse) err := service.client.CallContext(ctx, "''", request, response) if err != nil { return nil, err } return response, nil } func (service *refWeb) GetRisDataXML(request *GetRisDataXML) (*GetRisDataXMLResponse, error) { return service.GetRisDataXMLContext( context.Background(), request, ) } func (service *refWeb) MatchByNameContext(ctx context.Context, request *MatchByName) (*MatchByNameResponse, error) { response := new(MatchByNameResponse) err := service.client.CallContext(ctx, "''", request, response) if err != nil { return nil, err } return response, nil } func (service *refWeb) MatchByName(request *MatchByName) (*MatchByNameResponse, error) { return service.MatchByNameContext( context.Background(), request, ) } func (service *refWeb) GetMutatedTablesContext(ctx context.Context, request *GetMutatedTables) (*GetMutatedTablesResponse, error) { response := new(GetMutatedTablesResponse) err := service.client.CallContext(ctx, "''", request, response) if err != nil { return nil, err } return response, nil } func (service *refWeb) GetMutatedTables(request *GetMutatedTables) (*GetMutatedTablesResponse, error) { return service.GetMutatedTablesContext( context.Background(), request, ) } func (service *refWeb) GetDataXMLContext(ctx context.Context, request *GetDataXML) (*GetDataXMLResponse, error) { response := new(GetDataXMLResponse) err := service.client.CallContext(ctx, "''", request, response) if err != nil { return nil, err } return response, nil } func (service *refWeb) GetDataXML(request *GetDataXML) (*GetDataXMLResponse, error) { return service.GetDataXMLContext( context.Background(), request, ) }