From fbe6614cce1d2471a890619b71468f1351529f45 Mon Sep 17 00:00:00 2001 From: Denys Vitali Date: Fri, 26 Jun 2020 20:39:27 +0200 Subject: [PATCH] fix: nil pointer dereference fix #132 --- wsdlgo/encoder.go | 34 +- wsdlgo/encoder_test.go | 2 + wsdlgo/testdata/radioreference.golden | 2093 +++++++++++++++++++++++++ wsdlgo/testdata/radioreference.wsdl | 1513 ++++++++++++++++++ wsdlgo/testdata/scannerservice.golden | 465 ++++++ wsdlgo/testdata/scannerservice.wsdl | 335 ++++ 6 files changed, 4426 insertions(+), 16 deletions(-) create mode 100644 wsdlgo/testdata/radioreference.golden create mode 100644 wsdlgo/testdata/radioreference.wsdl create mode 100644 wsdlgo/testdata/scannerservice.golden create mode 100644 wsdlgo/testdata/scannerservice.wsdl diff --git a/wsdlgo/encoder.go b/wsdlgo/encoder.go index 8ee752f..01ef017 100644 --- a/wsdlgo/encoder.go +++ b/wsdlgo/encoder.go @@ -1369,24 +1369,26 @@ func (ge *goEncoder) genGoOpStruct(w io.Writer, d *wsdl.Definitions, bo *wsdl.Bi name := goSymbol(bo.Name) function := ge.funcs[name] - if function.Input == nil { - log.Printf("function input is nil! %v is %v", name, function) - } else { - message := trimns(function.Input.Message) - inputMessage := ge.messages[message] + if function != nil { + if function.Input == nil { + log.Printf("function input is nil! %v is %v", name, function) + } else { + message := trimns(function.Input.Message) + inputMessage := ge.messages[message] - // No-Op on operations which don't take arguments - // (These can be inlined, and don't need to pollute the file) - if len(inputMessage.Parts) > 0 { - ge.genOpStructMessage(w, d, name, inputMessage) + // No-Op on operations which don't take arguments + // (These can be inlined, and don't need to pollute the file) + if len(inputMessage.Parts) > 0 { + ge.genOpStructMessage(w, d, name, inputMessage) + } } - } - if function.Output == nil { - log.Printf("function output is nil! %v is %v", name, function) - } else { - // Output messages are always required - ge.genOpStructMessage(w, d, name, ge.messages[trimns(ge.funcs[bo.Name].Output.Message)]) + if function.Output == nil { + log.Printf("function output is nil! %v is %v", name, function) + } else { + // Output messages are always required + ge.genOpStructMessage(w, d, name, ge.messages[trimns(ge.funcs[bo.Name].Output.Message)]) + } } return nil @@ -1508,7 +1510,7 @@ func (ge *goEncoder) genSimpleContent(w io.Writer, d *wsdl.Definitions, ct *wsdl ext := ct.SimpleContent.Extension if ext.Base != "" { baseComplex, exists := ge.ctypes[trimns(ext.Base)] - if exists { + if exists && strings.Index(baseComplex.TargetNamespace,"http://www.w3.org/") != 0 { err := ge.genStructFields(w, d, baseComplex) if err != nil { return err diff --git a/wsdlgo/encoder_test.go b/wsdlgo/encoder_test.go index c8c2f60..25f0497 100644 --- a/wsdlgo/encoder_test.go +++ b/wsdlgo/encoder_test.go @@ -56,6 +56,8 @@ var EncoderCases = []struct { {F: "localimport-url.wsdl", G: "localimport.golden", E: nil}, {F: "localimport_choice.wsdl", G: "localimport_choice.golden", E: nil}, {F: "arrayexample.wsdl", G: "arrayexample.golden", E: nil}, + {F: "radioreference.wsdl", G: "radioreference.golden", E: nil}, + {F: "scannerservice.wsdl", G: "scannerservice.golden", E: nil}, } func NewTestServer(t *testing.T) *httptest.Server { diff --git a/wsdlgo/testdata/radioreference.golden b/wsdlgo/testdata/radioreference.golden new file mode 100644 index 0000000..6ea93bd --- /dev/null +++ b/wsdlgo/testdata/radioreference.golden @@ -0,0 +1,2093 @@ +// Code generated by wsdl2go. DO NOT EDIT. + +package rrwsdlbinding + +import ( + "github.com/fiorix/wsdl2go/soap" +) + +// Namespace was auto-generated from WSDL. +var Namespace = "http://api.radioreference.com/soap2" + +// NewRRWsdlPortType creates an initializes a RRWsdlPortType. +func NewRRWsdlPortType(cli *soap.Client) RRWsdlPortType { + return &rRWsdlPortType{cli} +} + +// RRWsdlPortType was auto-generated from WSDL +// and defines interface for the remote service. Useful for testing. +type RRWsdlPortType interface { + // Return details on an FCC callsign, including locations and frequencies + FccGetCallsign(FccGetCallsign *FccGetCallsignRequestType) (*FccGetCallsignResponseType, error) + + // Return FCC Callsigns within the proximity of a centerpoint. + // Centerpoint is expressed in decimal Lat and Lon. Range is in + // decimal, and range unit specification is: m=miles, k=kilometers, + // n=nautical miles. Please keep searches to under 3 miles (or + // equivalent), otherwise database SOAP interface timeouts might + // occur. + FccGetProxCallsigns(FccGetProxCallsigns *FccGetProxCallsignsRequestType) (*FccGetProxCallsignsResponseType, error) + + // Return details on an FCC radio service code. If no code is + // specified, all FCC Radio Service Codes are returned + FccGetRadioServiceCode(FccGetRadioServiceCode *FccGetRadioServiceCodeRequestType) (*FccGetRadioServiceCodeResponseType, error) + + // Returns all frequencies with a specific tag for an Agency + GetAgencyFreqsByTag(GetAgencyFreqsByTag *GetAgencyFreqsByTagRequestType) (*GetAgencyFreqsByTagResponseType, error) + + // Returns assigned frequency categories, subcategories, and trunked + // systems for a specified agency ID + GetAgencyInfo(GetAgencyInfo *GetAgencyInfoRequestType) (*GetAgencyInfoResponseType, error) + + // Return details on a list of counties submitted to the service + // as an array of ctids + GetCountiesByList(GetCountiesByList *GetCountiesByListRequestType) (*GetCountiesByListResponseType, error) + + // Returns assigned state/province/region type and agency entities + // assigned to a country + GetCountryInfo(GetCountryInfo *GetCountryInfoRequestType) (*GetCountryInfoResponseType, error) + + // Returns the list of countries + GetCountryList(GetCountryList *GetCountryListRequestType) (*GetCountryListResponseType, error) + + // Returns all frequencies with a specific tag in a County + GetCountyFreqsByTag(GetCountyFreqsByTag *GetCountyFreqsByTagRequestType) (*GetCountyFreqsByTagResponseType, error) + + // Returns assigned frequency categories, subcategories, agencies, + // and trunked systems for a specified county ID + GetCountyInfo(GetCountyInfo *GetCountyInfoRequestType) (*GetCountyInfoResponseType, error) + + // Returns simple details on a Metro Area by mid. If no mid is + // specified, all metro areas are returned. + GetMetroArea(GetMetroArea *GetMetroAreaRequestType) (*GetMetroAreaResponseType, error) + + // Returns all counties for a Metro Area by mid. + GetMetroAreaInfo(GetMetroAreaInfo *GetMetroAreaInfoRequestType) (*GetMetroAreaInfoResponseType, error) + + // Return details on a single mode. If no mode definition is specified + // function returns all conventional mode definitions + GetMode(GetMode *GetModeRequestType) (*GetModeResponseType, error) + + // Returns assigned county IDs, agency IDs, and Statewide Trunked + // Systems references for a State + GetStateInfo(GetStateInfo *GetStateInfoRequestType) (*GetStateInfoResponseType, error) + + // Return details on a list of states submitted to the service + // as an array of stids + GetStatesByList(GetStatesByList *GetStatesByListRequestType) (*GetStatesByListResponseType, error) + + // Returns an array of frequencies for a specified sub-category + // ID + GetSubcatFreqs(GetSubcatFreqs *GetSubcatFreqsRequestType) (*GetSubcatFreqsResponseType, error) + + // Return details on a single tag. If no tag ID is specified returns + // all frequency and talkgroup tag definitions and their values + GetTag(GetTag *GetTagRequestType) (*GetTagResponseType, error) + + // Get a list trunked systems with a specific system ID (Project + // 25 or Motorola) + GetTrsBySysid(GetTrsBySysid *GetTrsBySysidRequestType) (*GetTrsBySysidResponseType, error) + + // Get details on a trunked system + GetTrsDetails(GetTrsDetails *GetTrsDetailsRequestType) (*GetTrsDetailsResponseType, error) + + // Returns a trunked system flavor description based on flavor + // ID. If no flavor ID is specified all TRS flavors will be returned + GetTrsFlavor(GetTrsFlavor *GetTrsFlavorRequestType) (*GetTrsFlavorResponseType, error) + + // Get details on all sites for a trunked system. + GetTrsSites(GetTrsSites *GetTrsSitesRequestType) (*GetTrsSitesResponseType, error) + + // Get all talkgroups categories for a trunked system + GetTrsTalkgroupCats(GetTrsTalkgroupCats *GetTrsTalkgroupCatsRequestType) (*GetTrsTalkgroupCatsResponseType, error) + + // Gets talkgroups for a trunked system by talkgroup category ID. + // If no category ID is specified, all talkgroups for the system + // are returned. Two optional filters are available. One by talkgroup + // tagId is available to return only talkgroups that have a specified + // tag assigned to them, and one by tgDec for return a list of + // talkgroups with a specific decimal ID. You can mix optional + // filters for the desired result. + GetTrsTalkgroups(GetTrsTalkgroups *GetTrsTalkgroupsRequestType) (*GetTrsTalkgroupsResponseType, error) + + // Returns a trunked system type description based on type ID. + // If no type ID is specified all TRS types will be returned + GetTrsType(GetTrsType *GetTrsTypeRequestType) (*GetTrsTypeResponseType, error) + + // Returns a trunked system voice description based on voice ID. + // If no voice ID is specified all TRS voice types will be returned + GetTrsVoice(GetTrsVoice *GetTrsVoiceRequestType) (*GetTrsVoiceResponseType, error) + + // Return details on the authenticated user + GetUserData(GetUserData *GetUserDataRequestType) (*GetUserDataResponseType, error) + + // Return details on the feeds for the authenticated user + GetUserFeedBroadcasts(GetUserFeedBroadcasts *GetUserFeedBroadcastsRequestType) (*GetUserFeedBroadcastsResponseType, error) + + // Return details on a United States ZIP Postal Code + GetZipcodeInfo(GetZipcodeInfo *GetZipcodeInfoRequestType) (*GetZipcodeInfoResponseType, error) + + // Searches for an idenfied frequency (conventional or trunked) + // in a specific county. An option filter by tone, if specified, + // will limit results to conventional frequencies with that tone. + SearchCountyFreq(SearchCountyFreq *SearchCountyFreqRequestType) (*SearchCountyFreqResponseType, error) + + // Searches for an idenfied frequency (conventional or trunked) + // in a specific metro area (collection of counties identified + // by mid). An option filter by tone, if specified, will limit + // results to conventional frequencies with that tone. + SearchMetroFreq(SearchMetroFreq *SearchMetroFreqRequestType) (*SearchMetroFreqResponseType, error) + + // Searches for an idenfied frequency (conventional or trunked) + // in a specific state. An option filter by tone, if specified, + // will limit results to conventional frequencies with that tone. + SearchStateFreq(SearchStateFreq *SearchStateFreqRequestType) (*SearchStateFreqResponseType, error) +} + +// DateTime in WSDL format. +type DateTime string + +// Agencies was auto-generated from WSDL. +type Agencies struct { + Items []*Agency `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Agency was auto-generated from WSDL. +type Agency struct { + Aid *int `xml:"aid,omitempty" json:"aid,omitempty" yaml:"aid,omitempty"` + AName *string `xml:"aName,omitempty" json:"aName,omitempty" yaml:"aName,omitempty"` + AType *int `xml:"aType,omitempty" json:"aType,omitempty" yaml:"aType,omitempty"` +} + +// AgencyInfo was auto-generated from WSDL. +type AgencyInfo struct { + Aid *int `xml:"aid,omitempty" json:"aid,omitempty" yaml:"aid,omitempty"` + AgencyName *string `xml:"agencyName,omitempty" json:"agencyName,omitempty" yaml:"agencyName,omitempty"` + AgencyType *string `xml:"agencyType,omitempty" json:"agencyType,omitempty" yaml:"agencyType,omitempty"` + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Range *float64 `xml:"range,omitempty" json:"range,omitempty" yaml:"range,omitempty"` + Rectangles *Rectangles `xml:"rectangles,omitempty" json:"rectangles,omitempty" yaml:"rectangles,omitempty"` + LastUpdated *DateTime `xml:"lastUpdated,omitempty" json:"lastUpdated,omitempty" yaml:"lastUpdated,omitempty"` + Cats *Cats `xml:"cats,omitempty" json:"cats,omitempty" yaml:"cats,omitempty"` +} + +// Cats was auto-generated from WSDL. +type Cats struct { + Items []*Cat `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Counties was auto-generated from WSDL. +type Counties struct { + Items []*County `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Countries was auto-generated from WSDL. +type Countries struct { + Items []*Country `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Country was auto-generated from WSDL. +type Country struct { + Coid *int `xml:"coid,omitempty" json:"coid,omitempty" yaml:"coid,omitempty"` + CountryName *string `xml:"countryName,omitempty" json:"countryName,omitempty" yaml:"countryName,omitempty"` + CountryCode *string `xml:"countryCode,omitempty" json:"countryCode,omitempty" yaml:"countryCode,omitempty"` +} + +// CountryInfo was auto-generated from WSDL. +type CountryInfo struct { + Coid *int `xml:"coid,omitempty" json:"coid,omitempty" yaml:"coid,omitempty"` + CountryName *string `xml:"countryName,omitempty" json:"countryName,omitempty" yaml:"countryName,omitempty"` + CountryCode *string `xml:"countryCode,omitempty" json:"countryCode,omitempty" yaml:"countryCode,omitempty"` + AgencyList *Agencies `xml:"agencyList,omitempty" json:"agencyList,omitempty" yaml:"agencyList,omitempty"` + StateList *States `xml:"stateList,omitempty" json:"stateList,omitempty" yaml:"stateList,omitempty"` +} + +// County was auto-generated from WSDL. +type County struct { + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` + CountyName *string `xml:"countyName,omitempty" json:"countyName,omitempty" yaml:"countyName,omitempty"` + CountyHeader *string `xml:"countyHeader,omitempty" json:"countyHeader,omitempty" yaml:"countyHeader,omitempty"` +} + +// CountyInfo was auto-generated from WSDL. +type CountyInfo struct { + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` + CountyName *string `xml:"countyName,omitempty" json:"countyName,omitempty" yaml:"countyName,omitempty"` + CountyHeader *string `xml:"countyHeader,omitempty" json:"countyHeader,omitempty" yaml:"countyHeader,omitempty"` + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` + Fips *string `xml:"fips,omitempty" json:"fips,omitempty" yaml:"fips,omitempty"` + LastUpdated *DateTime `xml:"lastUpdated,omitempty" json:"lastUpdated,omitempty" yaml:"lastUpdated,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Range *float64 `xml:"range,omitempty" json:"range,omitempty" yaml:"range,omitempty"` + Rectangles *Rectangles `xml:"rectangles,omitempty" json:"rectangles,omitempty" yaml:"rectangles,omitempty"` + Cats *Cats `xml:"cats,omitempty" json:"cats,omitempty" yaml:"cats,omitempty"` + TrsList *TrsList `xml:"trsList,omitempty" json:"trsList,omitempty" yaml:"trsList,omitempty"` + AgencyList *Agencies `xml:"agencyList,omitempty" json:"agencyList,omitempty" yaml:"agencyList,omitempty"` +} + +// Freqs was auto-generated from WSDL. +type Freqs struct { + Items []*Freq `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Metro was auto-generated from WSDL. +type Metro struct { + Mid *int `xml:"mid,omitempty" json:"mid,omitempty" yaml:"mid,omitempty"` + MetroName *string `xml:"metroName,omitempty" json:"metroName,omitempty" yaml:"metroName,omitempty"` +} + +// Metros was auto-generated from WSDL. +type Metros struct { + Items []*Metro `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Rectangle was auto-generated from WSDL. +type Rectangle struct { + Nw_lat *float64 `xml:"nw_lat,omitempty" json:"nw_lat,omitempty" yaml:"nw_lat,omitempty"` + Nw_lon *float64 `xml:"nw_lon,omitempty" json:"nw_lon,omitempty" yaml:"nw_lon,omitempty"` + Se_lat *float64 `xml:"se_lat,omitempty" json:"se_lat,omitempty" yaml:"se_lat,omitempty"` + Se_lon *float64 `xml:"se_lon,omitempty" json:"se_lon,omitempty" yaml:"se_lon,omitempty"` +} + +// Rectangles was auto-generated from WSDL. +type Rectangles struct { + Items []*Rectangle `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// State was auto-generated from WSDL. +type State struct { + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` + StateName *string `xml:"stateName,omitempty" json:"stateName,omitempty" yaml:"stateName,omitempty"` + StateCode *string `xml:"stateCode,omitempty" json:"stateCode,omitempty" yaml:"stateCode,omitempty"` +} + +// StateInfo was auto-generated from WSDL. +type StateInfo struct { + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` + StateName *string `xml:"stateName,omitempty" json:"stateName,omitempty" yaml:"stateName,omitempty"` + StateEntityType *string `xml:"stateEntityType,omitempty" json:"stateEntityType,omitempty" yaml:"stateEntityType,omitempty"` + TrsList *TrsList `xml:"trsList,omitempty" json:"trsList,omitempty" yaml:"trsList,omitempty"` + AgencyList *Agencies `xml:"agencyList,omitempty" json:"agencyList,omitempty" yaml:"agencyList,omitempty"` + CountyList *Counties `xml:"countyList,omitempty" json:"countyList,omitempty" yaml:"countyList,omitempty"` +} + +// States was auto-generated from WSDL. +type States struct { + Items []*State `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// SubCats was auto-generated from WSDL. +type SubCats struct { + Items []*Subcat `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Talkgroup was auto-generated from WSDL. +type Talkgroup struct { + TgId *int `xml:"tgId,omitempty" json:"tgId,omitempty" yaml:"tgId,omitempty"` + TgDec *int `xml:"tgDec,omitempty" json:"tgDec,omitempty" yaml:"tgDec,omitempty"` + TgSubfleet *string `xml:"tgSubfleet,omitempty" json:"tgSubfleet,omitempty" yaml:"tgSubfleet,omitempty"` + TgLtr *bool `xml:"tgLtr,omitempty" json:"tgLtr,omitempty" yaml:"tgLtr,omitempty"` + TgSlot *string `xml:"tgSlot,omitempty" json:"tgSlot,omitempty" yaml:"tgSlot,omitempty"` + TgDescr *string `xml:"tgDescr,omitempty" json:"tgDescr,omitempty" yaml:"tgDescr,omitempty"` + TgAlpha *string `xml:"tgAlpha,omitempty" json:"tgAlpha,omitempty" yaml:"tgAlpha,omitempty"` + TgMode *string `xml:"tgMode,omitempty" json:"tgMode,omitempty" yaml:"tgMode,omitempty"` + Enc *int `xml:"enc,omitempty" json:"enc,omitempty" yaml:"enc,omitempty"` + Tags *Tags `xml:"tags,omitempty" json:"tags,omitempty" yaml:"tags,omitempty"` + TgCid *int `xml:"tgCid,omitempty" json:"tgCid,omitempty" yaml:"tgCid,omitempty"` + TgSort *int `xml:"tgSort,omitempty" json:"tgSort,omitempty" yaml:"tgSort,omitempty"` + TgDate *DateTime `xml:"tgDate,omitempty" json:"tgDate,omitempty" yaml:"tgDate,omitempty"` +} + +// TalkgroupCat was auto-generated from WSDL. +type TalkgroupCat struct { + TgCid *int `xml:"tgCid,omitempty" json:"tgCid,omitempty" yaml:"tgCid,omitempty"` + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + TgCname *string `xml:"tgCname,omitempty" json:"tgCname,omitempty" yaml:"tgCname,omitempty"` + TgSort *int `xml:"tgSort,omitempty" json:"tgSort,omitempty" yaml:"tgSort,omitempty"` + TgSortBy *int `xml:"tgSortBy,omitempty" json:"tgSortBy,omitempty" yaml:"tgSortBy,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Range *float64 `xml:"range,omitempty" json:"range,omitempty" yaml:"range,omitempty"` + Rectangles *Rectangles `xml:"rectangles,omitempty" json:"rectangles,omitempty" yaml:"rectangles,omitempty"` + LastUpdated *DateTime `xml:"lastUpdated,omitempty" json:"lastUpdated,omitempty" yaml:"lastUpdated,omitempty"` +} + +// TalkgroupCats was auto-generated from WSDL. +type TalkgroupCats struct { + Items []*TalkgroupCat `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Talkgroups was auto-generated from WSDL. +type Talkgroups struct { + Items []*Talkgroup `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Trs was auto-generated from WSDL. +type Trs struct { + SName *string `xml:"sName,omitempty" json:"sName,omitempty" yaml:"sName,omitempty"` + SType *int `xml:"sType,omitempty" json:"sType,omitempty" yaml:"sType,omitempty"` + SFlavor *int `xml:"sFlavor,omitempty" json:"sFlavor,omitempty" yaml:"sFlavor,omitempty"` + SVoice *int `xml:"sVoice,omitempty" json:"sVoice,omitempty" yaml:"sVoice,omitempty"` + SCity *string `xml:"sCity,omitempty" json:"sCity,omitempty" yaml:"sCity,omitempty"` + SCounty *Ctids `xml:"sCounty,omitempty" json:"sCounty,omitempty" yaml:"sCounty,omitempty"` + SState *Stids `xml:"sState,omitempty" json:"sState,omitempty" yaml:"sState,omitempty"` + SCountry *string `xml:"sCountry,omitempty" json:"sCountry,omitempty" yaml:"sCountry,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Range *float64 `xml:"range,omitempty" json:"range,omitempty" yaml:"range,omitempty"` + Rectangles *Rectangles `xml:"rectangles,omitempty" json:"rectangles,omitempty" yaml:"rectangles,omitempty"` + LastUpdated *DateTime `xml:"lastUpdated,omitempty" json:"lastUpdated,omitempty" yaml:"lastUpdated,omitempty"` + Sysid *TrsSysid `xml:"sysid,omitempty" json:"sysid,omitempty" yaml:"sysid,omitempty"` + Bandplan *TrsBandplan `xml:"bandplan,omitempty" json:"bandplan,omitempty" yaml:"bandplan,omitempty"` + Fleetmap *TrsFleetmap `xml:"fleetmap,omitempty" json:"fleetmap,omitempty" yaml:"fleetmap,omitempty"` +} + +// TrsBandplan was auto-generated from WSDL. +type TrsBandplan struct { + Items []*TrsBandplanDef `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsFlavor was auto-generated from WSDL. +type TrsFlavor struct { + Items []*TrsFlavorDef `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsFleetmap was auto-generated from WSDL. +type TrsFleetmap struct { + B0 *string `xml:"b0,omitempty" json:"b0,omitempty" yaml:"b0,omitempty"` + B1 *string `xml:"b1,omitempty" json:"b1,omitempty" yaml:"b1,omitempty"` + B2 *string `xml:"b2,omitempty" json:"b2,omitempty" yaml:"b2,omitempty"` + B3 *string `xml:"b3,omitempty" json:"b3,omitempty" yaml:"b3,omitempty"` + B4 *string `xml:"b4,omitempty" json:"b4,omitempty" yaml:"b4,omitempty"` + B5 *string `xml:"b5,omitempty" json:"b5,omitempty" yaml:"b5,omitempty"` + B6 *string `xml:"b6,omitempty" json:"b6,omitempty" yaml:"b6,omitempty"` + B7 *string `xml:"b7,omitempty" json:"b7,omitempty" yaml:"b7,omitempty"` +} + +// TrsList was auto-generated from WSDL. +type TrsList struct { + Items []*TrsListDef `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsListDef was auto-generated from WSDL. +type TrsListDef struct { + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + SName *string `xml:"sName,omitempty" json:"sName,omitempty" yaml:"sName,omitempty"` + SType *int `xml:"sType,omitempty" json:"sType,omitempty" yaml:"sType,omitempty"` + SFlavor *int `xml:"sFlavor,omitempty" json:"sFlavor,omitempty" yaml:"sFlavor,omitempty"` + SVoice *int `xml:"sVoice,omitempty" json:"sVoice,omitempty" yaml:"sVoice,omitempty"` + SCity *string `xml:"sCity,omitempty" json:"sCity,omitempty" yaml:"sCity,omitempty"` + LastUpdated *DateTime `xml:"lastUpdated,omitempty" json:"lastUpdated,omitempty" yaml:"lastUpdated,omitempty"` +} + +// TrsSite was auto-generated from WSDL. +type TrsSite struct { + SiteId *int `xml:"siteId,omitempty" json:"siteId,omitempty" yaml:"siteId,omitempty"` + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + SiteNumber *int `xml:"siteNumber,omitempty" json:"siteNumber,omitempty" yaml:"siteNumber,omitempty"` + SiteDescr *string `xml:"siteDescr,omitempty" json:"siteDescr,omitempty" yaml:"siteDescr,omitempty"` + ZoneNumber *int `xml:"zoneNumber,omitempty" json:"zoneNumber,omitempty" yaml:"zoneNumber,omitempty"` + ZoneDescr *string `xml:"zoneDescr,omitempty" json:"zoneDescr,omitempty" yaml:"zoneDescr,omitempty"` + Rfss *int `xml:"rfss,omitempty" json:"rfss,omitempty" yaml:"rfss,omitempty"` + Nac *string `xml:"nac,omitempty" json:"nac,omitempty" yaml:"nac,omitempty"` + Ran *int `xml:"ran,omitempty" json:"ran,omitempty" yaml:"ran,omitempty"` + SiteNeighbors *string `xml:"siteNeighbors,omitempty" json:"siteNeighbors,omitempty" yaml:"siteNeighbors,omitempty"` + SiteLocation *string `xml:"siteLocation,omitempty" json:"siteLocation,omitempty" yaml:"siteLocation,omitempty"` + SiteCtid *int `xml:"siteCtid,omitempty" json:"siteCtid,omitempty" yaml:"siteCtid,omitempty"` + SiteCt *string `xml:"siteCt,omitempty" json:"siteCt,omitempty" yaml:"siteCt,omitempty"` + SiteModulation *string `xml:"siteModulation,omitempty" json:"siteModulation,omitempty" yaml:"siteModulation,omitempty"` + SiteNotes *string `xml:"siteNotes,omitempty" json:"siteNotes,omitempty" yaml:"siteNotes,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Range *float64 `xml:"range,omitempty" json:"range,omitempty" yaml:"range,omitempty"` + Rectangles *Rectangles `xml:"rectangles,omitempty" json:"rectangles,omitempty" yaml:"rectangles,omitempty"` + Splinter *int `xml:"splinter,omitempty" json:"splinter,omitempty" yaml:"splinter,omitempty"` + Rebanded *int `xml:"rebanded,omitempty" json:"rebanded,omitempty" yaml:"rebanded,omitempty"` + SiteLicenses *TrsSiteLicenses `xml:"siteLicenses,omitempty" json:"siteLicenses,omitempty" yaml:"siteLicenses,omitempty"` + SiteFreqs *TrsSiteFreqs `xml:"siteFreqs,omitempty" json:"siteFreqs,omitempty" yaml:"siteFreqs,omitempty"` + Bandplan *TrsBandplan `xml:"bandplan,omitempty" json:"bandplan,omitempty" yaml:"bandplan,omitempty"` +} + +// TrsSiteFreq was auto-generated from WSDL. +type TrsSiteFreq struct { + Lcn *int `xml:"lcn,omitempty" json:"lcn,omitempty" yaml:"lcn,omitempty"` + Freq *float64 `xml:"freq,omitempty" json:"freq,omitempty" yaml:"freq,omitempty"` + Use *string `xml:"use,omitempty" json:"use,omitempty" yaml:"use,omitempty"` + ColorCode *string `xml:"colorCode,omitempty" json:"colorCode,omitempty" yaml:"colorCode,omitempty"` + Ch_id *string `xml:"ch_id,omitempty" json:"ch_id,omitempty" yaml:"ch_id,omitempty"` +} + +// TrsSiteFreqs was auto-generated from WSDL. +type TrsSiteFreqs struct { + Items []*TrsSiteFreq `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsSiteLicense was auto-generated from WSDL. +type TrsSiteLicense struct { + License *string `xml:"license,omitempty" json:"license,omitempty" yaml:"license,omitempty"` +} + +// TrsSiteLicenses was auto-generated from WSDL. +type TrsSiteLicenses struct { + Items []*TrsSiteLicense `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsSites was auto-generated from WSDL. +type TrsSites struct { + Items []*TrsSite `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsSysid was auto-generated from WSDL. +type TrsSysid struct { + Items []*TrsSysidDef `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsType was auto-generated from WSDL. +type TrsType struct { + Items []*TrsTypeDef `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsVoice was auto-generated from WSDL. +type TrsVoice struct { + Items []*TrsVoiceDef `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// UserInfo was auto-generated from WSDL. +type UserInfo struct { + Username *string `xml:"username,omitempty" json:"username,omitempty" yaml:"username,omitempty"` + SubExpireDate *string `xml:"subExpireDate,omitempty" json:"subExpireDate,omitempty" yaml:"subExpireDate,omitempty"` +} + +// ZipInfo was auto-generated from WSDL. +type ZipInfo struct { + ZipCode *int `xml:"zipCode,omitempty" json:"zipCode,omitempty" yaml:"zipCode,omitempty"` + Lat *string `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *string `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + City *string `xml:"city,omitempty" json:"city,omitempty" yaml:"city,omitempty"` + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` +} + +// AuthInfo was auto-generated from WSDL. +type AuthInfo struct { + Username *string `xml:"username,omitempty" json:"username,omitempty" yaml:"username,omitempty"` + Password *string `xml:"password,omitempty" json:"password,omitempty" yaml:"password,omitempty"` + AppKey *string `xml:"appKey,omitempty" json:"appKey,omitempty" yaml:"appKey,omitempty"` + Version *string `xml:"version,omitempty" json:"version,omitempty" yaml:"version,omitempty"` + Style *string `xml:"style,omitempty" json:"style,omitempty" yaml:"style,omitempty"` +} + +// Cat was auto-generated from WSDL. +type Cat struct { + Cid *int `xml:"cid,omitempty" json:"cid,omitempty" yaml:"cid,omitempty"` + CName *string `xml:"cName,omitempty" json:"cName,omitempty" yaml:"cName,omitempty"` + Subcats *SubCats `xml:"subcats,omitempty" json:"subcats,omitempty" yaml:"subcats,omitempty"` +} + +// Ctid was auto-generated from WSDL. +type Ctid struct { + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` +} + +// CtidList was auto-generated from WSDL. +type CtidList struct { + Items []*Ctid `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Ctids was auto-generated from WSDL. +type Ctids struct { + Items []*Ctid `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// FccCallsignDetails was auto-generated from WSDL. +type FccCallsignDetails struct { + Licensee *string `xml:"licensee,omitempty" json:"licensee,omitempty" yaml:"licensee,omitempty"` + Callsign *string `xml:"callsign,omitempty" json:"callsign,omitempty" yaml:"callsign,omitempty"` + Status *string `xml:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"` + GrantDate *string `xml:"grantDate,omitempty" json:"grantDate,omitempty" yaml:"grantDate,omitempty"` + RadioService *string `xml:"radioService,omitempty" json:"radioService,omitempty" yaml:"radioService,omitempty"` + Notes *string `xml:"notes,omitempty" json:"notes,omitempty" yaml:"notes,omitempty"` + Locations *FccLocations `xml:"locations,omitempty" json:"locations,omitempty" yaml:"locations,omitempty"` + Frequencies *FccFrequencies `xml:"frequencies,omitempty" json:"frequencies,omitempty" yaml:"frequencies,omitempty"` +} + +// FccFrequencies was auto-generated from WSDL. +type FccFrequencies struct { + Items []*FccFrequency `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// FccFrequency was auto-generated from WSDL. +type FccFrequency struct { + LocationNumber *int `xml:"locationNumber,omitempty" json:"locationNumber,omitempty" yaml:"locationNumber,omitempty"` + Frequency *float64 `xml:"frequency,omitempty" json:"frequency,omitempty" yaml:"frequency,omitempty"` + Emission *string `xml:"emission,omitempty" json:"emission,omitempty" yaml:"emission,omitempty"` + Class *string `xml:"class,omitempty" json:"class,omitempty" yaml:"class,omitempty"` + Power *float64 `xml:"power,omitempty" json:"power,omitempty" yaml:"power,omitempty"` + Mobiles *int `xml:"mobiles,omitempty" json:"mobiles,omitempty" yaml:"mobiles,omitempty"` + Pagers *int `xml:"pagers,omitempty" json:"pagers,omitempty" yaml:"pagers,omitempty"` +} + +// FccGetCallsignRequestType was auto-generated from WSDL. +type FccGetCallsignRequestType struct { + Callsign *string `xml:"callsign,omitempty" json:"callsign,omitempty" yaml:"callsign,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// FccGetCallsignResponseType was auto-generated from WSDL. +type FccGetCallsignResponseType struct { + Return *FccCallsignDetails `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// FccGetProxCallsignsRequestType was auto-generated from WSDL. +type FccGetProxCallsignsRequestType struct { + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Range *float64 `xml:"range,omitempty" json:"range,omitempty" yaml:"range,omitempty"` + Unit *string `xml:"unit,omitempty" json:"unit,omitempty" yaml:"unit,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// FccGetProxCallsignsResponseType was auto-generated from WSDL. +type FccGetProxCallsignsResponseType struct { + Return *ProxCallsignResults `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// FccGetRadioServiceCodeRequestType was auto-generated from WSDL. +type FccGetRadioServiceCodeRequestType struct { + Code *string `xml:"code,omitempty" json:"code,omitempty" yaml:"code,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// FccGetRadioServiceCodeResponseType was auto-generated from WSDL. +type FccGetRadioServiceCodeResponseType struct { + Return *FccRadioServiceCodes `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// FccLocation was auto-generated from WSDL. +type FccLocation struct { + LocationNumber *int `xml:"locationNumber,omitempty" json:"locationNumber,omitempty" yaml:"locationNumber,omitempty"` + TowerId *string `xml:"towerId,omitempty" json:"towerId,omitempty" yaml:"towerId,omitempty"` + Type *string `xml:"type,omitempty" json:"type,omitempty" yaml:"type,omitempty"` + AntennaHeight *float64 `xml:"antennaHeight,omitempty" json:"antennaHeight,omitempty" yaml:"antennaHeight,omitempty"` + StructureHeight *float64 `xml:"structureHeight,omitempty" json:"structureHeight,omitempty" yaml:"structureHeight,omitempty"` + Elevation *float64 `xml:"elevation,omitempty" json:"elevation,omitempty" yaml:"elevation,omitempty"` + Address *string `xml:"address,omitempty" json:"address,omitempty" yaml:"address,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + City *string `xml:"city,omitempty" json:"city,omitempty" yaml:"city,omitempty"` + County *string `xml:"county,omitempty" json:"county,omitempty" yaml:"county,omitempty"` + State *string `xml:"state,omitempty" json:"state,omitempty" yaml:"state,omitempty"` +} + +// FccLocations was auto-generated from WSDL. +type FccLocations struct { + Items []*FccLocation `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// FccRadioServiceCode was auto-generated from WSDL. +type FccRadioServiceCode struct { + Code *string `xml:"code,omitempty" json:"code,omitempty" yaml:"code,omitempty"` + Description *string `xml:"description,omitempty" json:"description,omitempty" yaml:"description,omitempty"` +} + +// FccRadioServiceCodes was auto-generated from WSDL. +type FccRadioServiceCodes struct { + Items []*FccRadioServiceCode `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Freq was auto-generated from WSDL. +type Freq struct { + Fid *int `xml:"fid,omitempty" json:"fid,omitempty" yaml:"fid,omitempty"` + Out *float64 `xml:"out,omitempty" json:"out,omitempty" yaml:"out,omitempty"` + In *float64 `xml:"in,omitempty" json:"in,omitempty" yaml:"in,omitempty"` + Callsign *string `xml:"callsign,omitempty" json:"callsign,omitempty" yaml:"callsign,omitempty"` + Descr *string `xml:"descr,omitempty" json:"descr,omitempty" yaml:"descr,omitempty"` + Alpha *string `xml:"alpha,omitempty" json:"alpha,omitempty" yaml:"alpha,omitempty"` + Tone *string `xml:"tone,omitempty" json:"tone,omitempty" yaml:"tone,omitempty"` + ColorCode *string `xml:"colorCode,omitempty" json:"colorCode,omitempty" yaml:"colorCode,omitempty"` + Tg *string `xml:"tg,omitempty" json:"tg,omitempty" yaml:"tg,omitempty"` + Slot *string `xml:"slot,omitempty" json:"slot,omitempty" yaml:"slot,omitempty"` + Mode *string `xml:"mode,omitempty" json:"mode,omitempty" yaml:"mode,omitempty"` + Enc *int `xml:"enc,omitempty" json:"enc,omitempty" yaml:"enc,omitempty"` + Class *string `xml:"class,omitempty" json:"class,omitempty" yaml:"class,omitempty"` + Tags *Tags `xml:"tags,omitempty" json:"tags,omitempty" yaml:"tags,omitempty"` + Scid *int `xml:"scid,omitempty" json:"scid,omitempty" yaml:"scid,omitempty"` + Sort *int `xml:"sort,omitempty" json:"sort,omitempty" yaml:"sort,omitempty"` + LastUpdated *DateTime `xml:"lastUpdated,omitempty" json:"lastUpdated,omitempty" yaml:"lastUpdated,omitempty"` +} + +// GetAgencyFreqsByTagRequestType was auto-generated from WSDL. +type GetAgencyFreqsByTagRequestType struct { + Aid *int `xml:"aid,omitempty" json:"aid,omitempty" yaml:"aid,omitempty"` + Tag *int `xml:"tag,omitempty" json:"tag,omitempty" yaml:"tag,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetAgencyFreqsByTagResponseType was auto-generated from WSDL. +type GetAgencyFreqsByTagResponseType struct { + Return *Freqs `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetAgencyInfoRequestType was auto-generated from WSDL. +type GetAgencyInfoRequestType struct { + Aid *int `xml:"aid,omitempty" json:"aid,omitempty" yaml:"aid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetAgencyInfoResponseType was auto-generated from WSDL. +type GetAgencyInfoResponseType struct { + Return *AgencyInfo `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetCountiesByListRequestType was auto-generated from WSDL. +type GetCountiesByListRequestType struct { + Request *CtidList `xml:"request,omitempty" json:"request,omitempty" yaml:"request,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetCountiesByListResponseType was auto-generated from WSDL. +type GetCountiesByListResponseType struct { + Return *Counties `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetCountryInfoRequestType was auto-generated from WSDL. +type GetCountryInfoRequestType struct { + Coid *int `xml:"coid,omitempty" json:"coid,omitempty" yaml:"coid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetCountryInfoResponseType was auto-generated from WSDL. +type GetCountryInfoResponseType struct { + Return *CountryInfo `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetCountryListRequestType was auto-generated from WSDL. +type GetCountryListRequestType struct { +} + +// GetCountryListResponseType was auto-generated from WSDL. +type GetCountryListResponseType struct { + Return *Countries `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetCountyFreqsByTagRequestType was auto-generated from WSDL. +type GetCountyFreqsByTagRequestType struct { + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` + Tag *int `xml:"tag,omitempty" json:"tag,omitempty" yaml:"tag,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetCountyFreqsByTagResponseType was auto-generated from WSDL. +type GetCountyFreqsByTagResponseType struct { + Return *Freqs `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetCountyInfoRequestType was auto-generated from WSDL. +type GetCountyInfoRequestType struct { + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetCountyInfoResponseType was auto-generated from WSDL. +type GetCountyInfoResponseType struct { + Return *CountyInfo `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetMetroAreaInfoRequestType was auto-generated from WSDL. +type GetMetroAreaInfoRequestType struct { + Mid *int `xml:"mid,omitempty" json:"mid,omitempty" yaml:"mid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetMetroAreaInfoResponseType was auto-generated from WSDL. +type GetMetroAreaInfoResponseType struct { + Return *Counties `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetMetroAreaRequestType was auto-generated from WSDL. +type GetMetroAreaRequestType struct { + Mid *int `xml:"mid,omitempty" json:"mid,omitempty" yaml:"mid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetMetroAreaResponseType was auto-generated from WSDL. +type GetMetroAreaResponseType struct { + Return *Metros `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetModeRequestType was auto-generated from WSDL. +type GetModeRequestType struct { + Mode *int `xml:"mode,omitempty" json:"mode,omitempty" yaml:"mode,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetModeResponseType was auto-generated from WSDL. +type GetModeResponseType struct { + Return *Modes `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetStateInfoRequestType was auto-generated from WSDL. +type GetStateInfoRequestType struct { + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetStateInfoResponseType was auto-generated from WSDL. +type GetStateInfoResponseType struct { + Return *StateInfo `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetStatesByListRequestType was auto-generated from WSDL. +type GetStatesByListRequestType struct { + Request *StidList `xml:"request,omitempty" json:"request,omitempty" yaml:"request,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetStatesByListResponseType was auto-generated from WSDL. +type GetStatesByListResponseType struct { + Return *States `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetSubcatFreqsRequestType was auto-generated from WSDL. +type GetSubcatFreqsRequestType struct { + Scid *int `xml:"scid,omitempty" json:"scid,omitempty" yaml:"scid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetSubcatFreqsResponseType was auto-generated from WSDL. +type GetSubcatFreqsResponseType struct { + Return *Freqs `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTagRequestType was auto-generated from WSDL. +type GetTagRequestType struct { + Id *int `xml:"id,omitempty" json:"id,omitempty" yaml:"id,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTagResponseType was auto-generated from WSDL. +type GetTagResponseType struct { + Return *Tags `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsBySysidRequestType was auto-generated from WSDL. +type GetTrsBySysidRequestType struct { + Sysid *string `xml:"sysid,omitempty" json:"sysid,omitempty" yaml:"sysid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsBySysidResponseType was auto-generated from WSDL. +type GetTrsBySysidResponseType struct { + Return *TrsList `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsDetailsRequestType was auto-generated from WSDL. +type GetTrsDetailsRequestType struct { + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsDetailsResponseType was auto-generated from WSDL. +type GetTrsDetailsResponseType struct { + Return *Trs `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsFlavorRequestType was auto-generated from WSDL. +type GetTrsFlavorRequestType struct { + Id *int `xml:"id,omitempty" json:"id,omitempty" yaml:"id,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsFlavorResponseType was auto-generated from WSDL. +type GetTrsFlavorResponseType struct { + Return *TrsFlavor `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsSitesRequestType was auto-generated from WSDL. +type GetTrsSitesRequestType struct { + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsSitesResponseType was auto-generated from WSDL. +type GetTrsSitesResponseType struct { + Return *TrsSites `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsTalkgroupCatsRequestType was auto-generated from WSDL. +type GetTrsTalkgroupCatsRequestType struct { + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsTalkgroupCatsResponseType was auto-generated from WSDL. +type GetTrsTalkgroupCatsResponseType struct { + Return *TalkgroupCats `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsTalkgroupsRequestType was auto-generated from WSDL. +type GetTrsTalkgroupsRequestType struct { + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + TgCid *int `xml:"tgCid,omitempty" json:"tgCid,omitempty" yaml:"tgCid,omitempty"` + TgTag *int `xml:"tgTag,omitempty" json:"tgTag,omitempty" yaml:"tgTag,omitempty"` + TgDec *int `xml:"tgDec,omitempty" json:"tgDec,omitempty" yaml:"tgDec,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsTalkgroupsResponseType was auto-generated from WSDL. +type GetTrsTalkgroupsResponseType struct { + Return *Talkgroups `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsTypeRequestType was auto-generated from WSDL. +type GetTrsTypeRequestType struct { + Id *int `xml:"id,omitempty" json:"id,omitempty" yaml:"id,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsTypeResponseType was auto-generated from WSDL. +type GetTrsTypeResponseType struct { + Return *TrsType `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetTrsVoiceRequestType was auto-generated from WSDL. +type GetTrsVoiceRequestType struct { + Id *int `xml:"id,omitempty" json:"id,omitempty" yaml:"id,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetTrsVoiceResponseType was auto-generated from WSDL. +type GetTrsVoiceResponseType struct { + Return *TrsVoice `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetUserDataRequestType was auto-generated from WSDL. +type GetUserDataRequestType struct { + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetUserDataResponseType was auto-generated from WSDL. +type GetUserDataResponseType struct { + Return *UserInfo `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetUserFeedBroadcastsRequestType was auto-generated from WSDL. +type GetUserFeedBroadcastsRequestType struct { + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetUserFeedBroadcastsResponseType was auto-generated from WSDL. +type GetUserFeedBroadcastsResponseType struct { + Return *UserFeedBroadcasts `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// GetZipcodeInfoRequestType was auto-generated from WSDL. +type GetZipcodeInfoRequestType struct { + Zipcode *int `xml:"zipcode,omitempty" json:"zipcode,omitempty" yaml:"zipcode,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// GetZipcodeInfoResponseType was auto-generated from WSDL. +type GetZipcodeInfoResponseType struct { + Return *ZipInfo `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// Mode was auto-generated from WSDL. +type Mode struct { + Mode *int `xml:"mode,omitempty" json:"mode,omitempty" yaml:"mode,omitempty"` + ModeName *string `xml:"modeName,omitempty" json:"modeName,omitempty" yaml:"modeName,omitempty"` +} + +// Modes was auto-generated from WSDL. +type Modes struct { + Items []*Mode `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// ProxCallsignResult was auto-generated from WSDL. +type ProxCallsignResult struct { + Callsign *string `xml:"callsign,omitempty" json:"callsign,omitempty" yaml:"callsign,omitempty"` + Licensee *string `xml:"licensee,omitempty" json:"licensee,omitempty" yaml:"licensee,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Distance *float64 `xml:"distance,omitempty" json:"distance,omitempty" yaml:"distance,omitempty"` +} + +// ProxCallsignResults was auto-generated from WSDL. +type ProxCallsignResults struct { + Items []*ProxCallsignResult `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// SearchCountyFreqRequestType was auto-generated from WSDL. +type SearchCountyFreqRequestType struct { + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` + Freq *float64 `xml:"freq,omitempty" json:"freq,omitempty" yaml:"freq,omitempty"` + Tone *string `xml:"tone,omitempty" json:"tone,omitempty" yaml:"tone,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// SearchCountyFreqResponseType was auto-generated from WSDL. +type SearchCountyFreqResponseType struct { + Return *SearchFreqResults `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// SearchFreqResult was auto-generated from WSDL. +type SearchFreqResult struct { + Out *float64 `xml:"out,omitempty" json:"out,omitempty" yaml:"out,omitempty"` + In *float64 `xml:"in,omitempty" json:"in,omitempty" yaml:"in,omitempty"` + Callsign *string `xml:"callsign,omitempty" json:"callsign,omitempty" yaml:"callsign,omitempty"` + Descr *string `xml:"descr,omitempty" json:"descr,omitempty" yaml:"descr,omitempty"` + Alpha *string `xml:"alpha,omitempty" json:"alpha,omitempty" yaml:"alpha,omitempty"` + Tone *string `xml:"tone,omitempty" json:"tone,omitempty" yaml:"tone,omitempty"` + ColorCode *string `xml:"colorCode,omitempty" json:"colorCode,omitempty" yaml:"colorCode,omitempty"` + Tg *string `xml:"tg,omitempty" json:"tg,omitempty" yaml:"tg,omitempty"` + Slot *string `xml:"slot,omitempty" json:"slot,omitempty" yaml:"slot,omitempty"` + Mode *string `xml:"mode,omitempty" json:"mode,omitempty" yaml:"mode,omitempty"` + Class *string `xml:"class,omitempty" json:"class,omitempty" yaml:"class,omitempty"` + Tags *Tags `xml:"tags,omitempty" json:"tags,omitempty" yaml:"tags,omitempty"` + Scid *int `xml:"scid,omitempty" json:"scid,omitempty" yaml:"scid,omitempty"` + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` + Aid *int `xml:"aid,omitempty" json:"aid,omitempty" yaml:"aid,omitempty"` + Ctid *int `xml:"ctid,omitempty" json:"ctid,omitempty" yaml:"ctid,omitempty"` +} + +// SearchFreqResults was auto-generated from WSDL. +type SearchFreqResults struct { + Items []*SearchFreqResult `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// SearchMetroFreqRequestType was auto-generated from WSDL. +type SearchMetroFreqRequestType struct { + Mid *int `xml:"mid,omitempty" json:"mid,omitempty" yaml:"mid,omitempty"` + Freq *float64 `xml:"freq,omitempty" json:"freq,omitempty" yaml:"freq,omitempty"` + Tone *string `xml:"tone,omitempty" json:"tone,omitempty" yaml:"tone,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// SearchMetroFreqResponseType was auto-generated from WSDL. +type SearchMetroFreqResponseType struct { + Return *SearchFreqResults `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// SearchStateFreqRequestType was auto-generated from WSDL. +type SearchStateFreqRequestType struct { + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` + Freq *float64 `xml:"freq,omitempty" json:"freq,omitempty" yaml:"freq,omitempty"` + Tone *string `xml:"tone,omitempty" json:"tone,omitempty" yaml:"tone,omitempty"` + AuthInfo *AuthInfo `xml:"authInfo,omitempty" json:"authInfo,omitempty" yaml:"authInfo,omitempty"` +} + +// SearchStateFreqResponseType was auto-generated from WSDL. +type SearchStateFreqResponseType struct { + Return *SearchFreqResults `xml:"return,omitempty" json:"return,omitempty" yaml:"return,omitempty"` +} + +// Sid was auto-generated from WSDL. +type Sid struct { + Sid *int `xml:"sid,omitempty" json:"sid,omitempty" yaml:"sid,omitempty"` +} + +// Sids was auto-generated from WSDL. +type Sids struct { + Items []*Sid `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Stid was auto-generated from WSDL. +type Stid struct { + Stid *int `xml:"stid,omitempty" json:"stid,omitempty" yaml:"stid,omitempty"` +} + +// StidList was auto-generated from WSDL. +type StidList struct { + Items []*Stid `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Stids was auto-generated from WSDL. +type Stids struct { + Items []*Stid `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Subcat was auto-generated from WSDL. +type Subcat struct { + Scid *int `xml:"scid,omitempty" json:"scid,omitempty" yaml:"scid,omitempty"` + ScName *string `xml:"scName,omitempty" json:"scName,omitempty" yaml:"scName,omitempty"` + Lat *float64 `xml:"lat,omitempty" json:"lat,omitempty" yaml:"lat,omitempty"` + Lon *float64 `xml:"lon,omitempty" json:"lon,omitempty" yaml:"lon,omitempty"` + Range *float64 `xml:"range,omitempty" json:"range,omitempty" yaml:"range,omitempty"` + Rectangles *Rectangles `xml:"rectangles,omitempty" json:"rectangles,omitempty" yaml:"rectangles,omitempty"` + Sids *Sids `xml:"sids,omitempty" json:"sids,omitempty" yaml:"sids,omitempty"` +} + +// Tag was auto-generated from WSDL. +type Tag struct { + TagId *int `xml:"tagId,omitempty" json:"tagId,omitempty" yaml:"tagId,omitempty"` + TagDescr *string `xml:"tagDescr,omitempty" json:"tagDescr,omitempty" yaml:"tagDescr,omitempty"` +} + +// Tags was auto-generated from WSDL. +type Tags struct { + Items []*Tag `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// TrsBandplanDef was auto-generated from WSDL. +type TrsBandplanDef struct { + Base *string `xml:"base,omitempty" json:"base,omitempty" yaml:"base,omitempty"` + Spacing *string `xml:"spacing,omitempty" json:"spacing,omitempty" yaml:"spacing,omitempty"` + Offset *string `xml:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"` +} + +// TrsFlavorDef was auto-generated from WSDL. +type TrsFlavorDef struct { + SType *int `xml:"sType,omitempty" json:"sType,omitempty" yaml:"sType,omitempty"` + SFlavor *int `xml:"sFlavor,omitempty" json:"sFlavor,omitempty" yaml:"sFlavor,omitempty"` + SFlavorDescr *string `xml:"sFlavorDescr,omitempty" json:"sFlavorDescr,omitempty" yaml:"sFlavorDescr,omitempty"` +} + +// TrsSysidDef was auto-generated from WSDL. +type TrsSysidDef struct { + Sysid *string `xml:"sysid,omitempty" json:"sysid,omitempty" yaml:"sysid,omitempty"` + Ct *string `xml:"ct,omitempty" json:"ct,omitempty" yaml:"ct,omitempty"` + Wacn *string `xml:"wacn,omitempty" json:"wacn,omitempty" yaml:"wacn,omitempty"` +} + +// TrsTypeDef was auto-generated from WSDL. +type TrsTypeDef struct { + SType *int `xml:"sType,omitempty" json:"sType,omitempty" yaml:"sType,omitempty"` + STypeDescr *string `xml:"sTypeDescr,omitempty" json:"sTypeDescr,omitempty" yaml:"sTypeDescr,omitempty"` +} + +// TrsVoiceDef was auto-generated from WSDL. +type TrsVoiceDef struct { + SType *int `xml:"sType,omitempty" json:"sType,omitempty" yaml:"sType,omitempty"` + SVoice *int `xml:"sVoice,omitempty" json:"sVoice,omitempty" yaml:"sVoice,omitempty"` + SVoiceDescr *string `xml:"sVoiceDescr,omitempty" json:"sVoiceDescr,omitempty" yaml:"sVoiceDescr,omitempty"` +} + +// UserFeedBroadcast was auto-generated from WSDL. +type UserFeedBroadcast struct { + FeedId *int `xml:"feedId,omitempty" json:"feedId,omitempty" yaml:"feedId,omitempty"` + Descr *string `xml:"descr,omitempty" json:"descr,omitempty" yaml:"descr,omitempty"` + Hostname *string `xml:"hostname,omitempty" json:"hostname,omitempty" yaml:"hostname,omitempty"` + Port *string `xml:"port,omitempty" json:"port,omitempty" yaml:"port,omitempty"` + Mount *string `xml:"mount,omitempty" json:"mount,omitempty" yaml:"mount,omitempty"` + Password *string `xml:"password,omitempty" json:"password,omitempty" yaml:"password,omitempty"` +} + +// UserFeedBroadcasts was auto-generated from WSDL. +type UserFeedBroadcasts struct { + Items []*UserFeedBroadcast `xml:"item,omitempty" json:"item,omitempty" yaml:"item,omitempty"` +} + +// Operation wrapper for FccGetCallsign. +// OperationFccGetCallsignRequest was auto-generated from WSDL. +type OperationFccGetCallsignRequest struct { + FccGetCallsign *FccGetCallsign `xml:"fccGetCallsign,omitempty" json:"fccGetCallsign,omitempty" yaml:"fccGetCallsign,omitempty"` +} + +// Operation wrapper for FccGetCallsign. +// OperationFccGetCallsignResponse was auto-generated from WSDL. +type OperationFccGetCallsignResponse struct { + FccGetCallsignResponse *FccGetCallsignResponse `xml:"fccGetCallsignResponse,omitempty" json:"fccGetCallsignResponse,omitempty" yaml:"fccGetCallsignResponse,omitempty"` +} + +// Operation wrapper for FccGetProxCallsigns. +// OperationFccGetProxCallsignsRequest was auto-generated from +// WSDL. +type OperationFccGetProxCallsignsRequest struct { + FccGetProxCallsigns *FccGetProxCallsigns `xml:"fccGetProxCallsigns,omitempty" json:"fccGetProxCallsigns,omitempty" yaml:"fccGetProxCallsigns,omitempty"` +} + +// Operation wrapper for FccGetProxCallsigns. +// OperationFccGetProxCallsignsResponse was auto-generated from +// WSDL. +type OperationFccGetProxCallsignsResponse struct { + FccGetProxCallsignsResponse *FccGetProxCallsignsResponse `xml:"fccGetProxCallsignsResponse,omitempty" json:"fccGetProxCallsignsResponse,omitempty" yaml:"fccGetProxCallsignsResponse,omitempty"` +} + +// Operation wrapper for FccGetRadioServiceCode. +// OperationFccGetRadioServiceCodeRequest was auto-generated from +// WSDL. +type OperationFccGetRadioServiceCodeRequest struct { + FccGetRadioServiceCode *FccGetRadioServiceCode `xml:"fccGetRadioServiceCode,omitempty" json:"fccGetRadioServiceCode,omitempty" yaml:"fccGetRadioServiceCode,omitempty"` +} + +// Operation wrapper for FccGetRadioServiceCode. +// OperationFccGetRadioServiceCodeResponse was auto-generated from +// WSDL. +type OperationFccGetRadioServiceCodeResponse struct { + FccGetRadioServiceCodeResponse *FccGetRadioServiceCodeResponse `xml:"fccGetRadioServiceCodeResponse,omitempty" json:"fccGetRadioServiceCodeResponse,omitempty" yaml:"fccGetRadioServiceCodeResponse,omitempty"` +} + +// Operation wrapper for GetAgencyFreqsByTag. +// OperationGetAgencyFreqsByTagRequest was auto-generated from +// WSDL. +type OperationGetAgencyFreqsByTagRequest struct { + GetAgencyFreqsByTag *GetAgencyFreqsByTag `xml:"getAgencyFreqsByTag,omitempty" json:"getAgencyFreqsByTag,omitempty" yaml:"getAgencyFreqsByTag,omitempty"` +} + +// Operation wrapper for GetAgencyFreqsByTag. +// OperationGetAgencyFreqsByTagResponse was auto-generated from +// WSDL. +type OperationGetAgencyFreqsByTagResponse struct { + GetAgencyFreqsByTagResponse *GetAgencyFreqsByTagResponse `xml:"getAgencyFreqsByTagResponse,omitempty" json:"getAgencyFreqsByTagResponse,omitempty" yaml:"getAgencyFreqsByTagResponse,omitempty"` +} + +// Operation wrapper for GetAgencyInfo. +// OperationGetAgencyInfoRequest was auto-generated from WSDL. +type OperationGetAgencyInfoRequest struct { + GetAgencyInfo *GetAgencyInfo `xml:"getAgencyInfo,omitempty" json:"getAgencyInfo,omitempty" yaml:"getAgencyInfo,omitempty"` +} + +// Operation wrapper for GetAgencyInfo. +// OperationGetAgencyInfoResponse was auto-generated from WSDL. +type OperationGetAgencyInfoResponse struct { + GetAgencyInfoResponse *GetAgencyInfoResponse `xml:"getAgencyInfoResponse,omitempty" json:"getAgencyInfoResponse,omitempty" yaml:"getAgencyInfoResponse,omitempty"` +} + +// Operation wrapper for GetCountiesByList. +// OperationGetCountiesByListRequest was auto-generated from WSDL. +type OperationGetCountiesByListRequest struct { + GetCountiesByList *GetCountiesByList `xml:"getCountiesByList,omitempty" json:"getCountiesByList,omitempty" yaml:"getCountiesByList,omitempty"` +} + +// Operation wrapper for GetCountiesByList. +// OperationGetCountiesByListResponse was auto-generated from WSDL. +type OperationGetCountiesByListResponse struct { + GetCountiesByListResponse *GetCountiesByListResponse `xml:"getCountiesByListResponse,omitempty" json:"getCountiesByListResponse,omitempty" yaml:"getCountiesByListResponse,omitempty"` +} + +// Operation wrapper for GetCountryInfo. +// OperationGetCountryInfoRequest was auto-generated from WSDL. +type OperationGetCountryInfoRequest struct { + GetCountryInfo *GetCountryInfo `xml:"getCountryInfo,omitempty" json:"getCountryInfo,omitempty" yaml:"getCountryInfo,omitempty"` +} + +// Operation wrapper for GetCountryInfo. +// OperationGetCountryInfoResponse was auto-generated from WSDL. +type OperationGetCountryInfoResponse struct { + GetCountryInfoResponse *GetCountryInfoResponse `xml:"getCountryInfoResponse,omitempty" json:"getCountryInfoResponse,omitempty" yaml:"getCountryInfoResponse,omitempty"` +} + +// Operation wrapper for GetCountryList. +// OperationGetCountryListRequest was auto-generated from WSDL. +type OperationGetCountryListRequest struct { + GetCountryList *GetCountryList `xml:"getCountryList,omitempty" json:"getCountryList,omitempty" yaml:"getCountryList,omitempty"` +} + +// Operation wrapper for GetCountryList. +// OperationGetCountryListResponse was auto-generated from WSDL. +type OperationGetCountryListResponse struct { + GetCountryListResponse *GetCountryListResponse `xml:"getCountryListResponse,omitempty" json:"getCountryListResponse,omitempty" yaml:"getCountryListResponse,omitempty"` +} + +// Operation wrapper for GetCountyFreqsByTag. +// OperationGetCountyFreqsByTagRequest was auto-generated from +// WSDL. +type OperationGetCountyFreqsByTagRequest struct { + GetCountyFreqsByTag *GetCountyFreqsByTag `xml:"getCountyFreqsByTag,omitempty" json:"getCountyFreqsByTag,omitempty" yaml:"getCountyFreqsByTag,omitempty"` +} + +// Operation wrapper for GetCountyFreqsByTag. +// OperationGetCountyFreqsByTagResponse was auto-generated from +// WSDL. +type OperationGetCountyFreqsByTagResponse struct { + GetCountyFreqsByTagResponse *GetCountyFreqsByTagResponse `xml:"getCountyFreqsByTagResponse,omitempty" json:"getCountyFreqsByTagResponse,omitempty" yaml:"getCountyFreqsByTagResponse,omitempty"` +} + +// Operation wrapper for GetCountyInfo. +// OperationGetCountyInfoRequest was auto-generated from WSDL. +type OperationGetCountyInfoRequest struct { + GetCountyInfo *GetCountyInfo `xml:"getCountyInfo,omitempty" json:"getCountyInfo,omitempty" yaml:"getCountyInfo,omitempty"` +} + +// Operation wrapper for GetCountyInfo. +// OperationGetCountyInfoResponse was auto-generated from WSDL. +type OperationGetCountyInfoResponse struct { + GetCountyInfoResponse *GetCountyInfoResponse `xml:"getCountyInfoResponse,omitempty" json:"getCountyInfoResponse,omitempty" yaml:"getCountyInfoResponse,omitempty"` +} + +// Operation wrapper for GetMetroArea. +// OperationGetMetroAreaRequest was auto-generated from WSDL. +type OperationGetMetroAreaRequest struct { + GetMetroArea *GetMetroArea `xml:"getMetroArea,omitempty" json:"getMetroArea,omitempty" yaml:"getMetroArea,omitempty"` +} + +// Operation wrapper for GetMetroArea. +// OperationGetMetroAreaResponse was auto-generated from WSDL. +type OperationGetMetroAreaResponse struct { + GetMetroAreaResponse *GetMetroAreaResponse `xml:"getMetroAreaResponse,omitempty" json:"getMetroAreaResponse,omitempty" yaml:"getMetroAreaResponse,omitempty"` +} + +// Operation wrapper for GetMetroAreaInfo. +// OperationGetMetroAreaInfoRequest was auto-generated from WSDL. +type OperationGetMetroAreaInfoRequest struct { + GetMetroAreaInfo *GetMetroAreaInfo `xml:"getMetroAreaInfo,omitempty" json:"getMetroAreaInfo,omitempty" yaml:"getMetroAreaInfo,omitempty"` +} + +// Operation wrapper for GetMetroAreaInfo. +// OperationGetMetroAreaInfoResponse was auto-generated from WSDL. +type OperationGetMetroAreaInfoResponse struct { + GetMetroAreaInfoResponse *GetMetroAreaInfoResponse `xml:"getMetroAreaInfoResponse,omitempty" json:"getMetroAreaInfoResponse,omitempty" yaml:"getMetroAreaInfoResponse,omitempty"` +} + +// Operation wrapper for GetMode. +// OperationGetModeRequest was auto-generated from WSDL. +type OperationGetModeRequest struct { + GetMode *GetMode `xml:"getMode,omitempty" json:"getMode,omitempty" yaml:"getMode,omitempty"` +} + +// Operation wrapper for GetMode. +// OperationGetModeResponse was auto-generated from WSDL. +type OperationGetModeResponse struct { + GetModeResponse *GetModeResponse `xml:"getModeResponse,omitempty" json:"getModeResponse,omitempty" yaml:"getModeResponse,omitempty"` +} + +// Operation wrapper for GetStateInfo. +// OperationGetStateInfoRequest was auto-generated from WSDL. +type OperationGetStateInfoRequest struct { + GetStateInfo *GetStateInfo `xml:"getStateInfo,omitempty" json:"getStateInfo,omitempty" yaml:"getStateInfo,omitempty"` +} + +// Operation wrapper for GetStateInfo. +// OperationGetStateInfoResponse was auto-generated from WSDL. +type OperationGetStateInfoResponse struct { + GetStateInfoResponse *GetStateInfoResponse `xml:"getStateInfoResponse,omitempty" json:"getStateInfoResponse,omitempty" yaml:"getStateInfoResponse,omitempty"` +} + +// Operation wrapper for GetStatesByList. +// OperationGetStatesByListRequest was auto-generated from WSDL. +type OperationGetStatesByListRequest struct { + GetStatesByList *GetStatesByList `xml:"getStatesByList,omitempty" json:"getStatesByList,omitempty" yaml:"getStatesByList,omitempty"` +} + +// Operation wrapper for GetStatesByList. +// OperationGetStatesByListResponse was auto-generated from WSDL. +type OperationGetStatesByListResponse struct { + GetStatesByListResponse *GetStatesByListResponse `xml:"getStatesByListResponse,omitempty" json:"getStatesByListResponse,omitempty" yaml:"getStatesByListResponse,omitempty"` +} + +// Operation wrapper for GetSubcatFreqs. +// OperationGetSubcatFreqsRequest was auto-generated from WSDL. +type OperationGetSubcatFreqsRequest struct { + GetSubcatFreqs *GetSubcatFreqs `xml:"getSubcatFreqs,omitempty" json:"getSubcatFreqs,omitempty" yaml:"getSubcatFreqs,omitempty"` +} + +// Operation wrapper for GetSubcatFreqs. +// OperationGetSubcatFreqsResponse was auto-generated from WSDL. +type OperationGetSubcatFreqsResponse struct { + GetSubcatFreqsResponse *GetSubcatFreqsResponse `xml:"getSubcatFreqsResponse,omitempty" json:"getSubcatFreqsResponse,omitempty" yaml:"getSubcatFreqsResponse,omitempty"` +} + +// Operation wrapper for GetTag. +// OperationGetTagRequest was auto-generated from WSDL. +type OperationGetTagRequest struct { + GetTag *GetTag `xml:"getTag,omitempty" json:"getTag,omitempty" yaml:"getTag,omitempty"` +} + +// Operation wrapper for GetTag. +// OperationGetTagResponse was auto-generated from WSDL. +type OperationGetTagResponse struct { + GetTagResponse *GetTagResponse `xml:"getTagResponse,omitempty" json:"getTagResponse,omitempty" yaml:"getTagResponse,omitempty"` +} + +// Operation wrapper for GetTrsBySysid. +// OperationGetTrsBySysidRequest was auto-generated from WSDL. +type OperationGetTrsBySysidRequest struct { + GetTrsBySysid *GetTrsBySysid `xml:"getTrsBySysid,omitempty" json:"getTrsBySysid,omitempty" yaml:"getTrsBySysid,omitempty"` +} + +// Operation wrapper for GetTrsBySysid. +// OperationGetTrsBySysidResponse was auto-generated from WSDL. +type OperationGetTrsBySysidResponse struct { + GetTrsBySysidResponse *GetTrsBySysidResponse `xml:"getTrsBySysidResponse,omitempty" json:"getTrsBySysidResponse,omitempty" yaml:"getTrsBySysidResponse,omitempty"` +} + +// Operation wrapper for GetTrsDetails. +// OperationGetTrsDetailsRequest was auto-generated from WSDL. +type OperationGetTrsDetailsRequest struct { + GetTrsDetails *GetTrsDetails `xml:"getTrsDetails,omitempty" json:"getTrsDetails,omitempty" yaml:"getTrsDetails,omitempty"` +} + +// Operation wrapper for GetTrsDetails. +// OperationGetTrsDetailsResponse was auto-generated from WSDL. +type OperationGetTrsDetailsResponse struct { + GetTrsDetailsResponse *GetTrsDetailsResponse `xml:"getTrsDetailsResponse,omitempty" json:"getTrsDetailsResponse,omitempty" yaml:"getTrsDetailsResponse,omitempty"` +} + +// Operation wrapper for GetTrsFlavor. +// OperationGetTrsFlavorRequest was auto-generated from WSDL. +type OperationGetTrsFlavorRequest struct { + GetTrsFlavor *GetTrsFlavor `xml:"getTrsFlavor,omitempty" json:"getTrsFlavor,omitempty" yaml:"getTrsFlavor,omitempty"` +} + +// Operation wrapper for GetTrsFlavor. +// OperationGetTrsFlavorResponse was auto-generated from WSDL. +type OperationGetTrsFlavorResponse struct { + GetTrsFlavorResponse *GetTrsFlavorResponse `xml:"getTrsFlavorResponse,omitempty" json:"getTrsFlavorResponse,omitempty" yaml:"getTrsFlavorResponse,omitempty"` +} + +// Operation wrapper for GetTrsSites. +// OperationGetTrsSitesRequest was auto-generated from WSDL. +type OperationGetTrsSitesRequest struct { + GetTrsSites *GetTrsSites `xml:"getTrsSites,omitempty" json:"getTrsSites,omitempty" yaml:"getTrsSites,omitempty"` +} + +// Operation wrapper for GetTrsSites. +// OperationGetTrsSitesResponse was auto-generated from WSDL. +type OperationGetTrsSitesResponse struct { + GetTrsSitesResponse *GetTrsSitesResponse `xml:"getTrsSitesResponse,omitempty" json:"getTrsSitesResponse,omitempty" yaml:"getTrsSitesResponse,omitempty"` +} + +// Operation wrapper for GetTrsTalkgroupCats. +// OperationGetTrsTalkgroupCatsRequest was auto-generated from +// WSDL. +type OperationGetTrsTalkgroupCatsRequest struct { + GetTrsTalkgroupCats *GetTrsTalkgroupCats `xml:"getTrsTalkgroupCats,omitempty" json:"getTrsTalkgroupCats,omitempty" yaml:"getTrsTalkgroupCats,omitempty"` +} + +// Operation wrapper for GetTrsTalkgroupCats. +// OperationGetTrsTalkgroupCatsResponse was auto-generated from +// WSDL. +type OperationGetTrsTalkgroupCatsResponse struct { + GetTrsTalkgroupCatsResponse *GetTrsTalkgroupCatsResponse `xml:"getTrsTalkgroupCatsResponse,omitempty" json:"getTrsTalkgroupCatsResponse,omitempty" yaml:"getTrsTalkgroupCatsResponse,omitempty"` +} + +// Operation wrapper for GetTrsTalkgroups. +// OperationGetTrsTalkgroupsRequest was auto-generated from WSDL. +type OperationGetTrsTalkgroupsRequest struct { + GetTrsTalkgroups *GetTrsTalkgroups `xml:"getTrsTalkgroups,omitempty" json:"getTrsTalkgroups,omitempty" yaml:"getTrsTalkgroups,omitempty"` +} + +// Operation wrapper for GetTrsTalkgroups. +// OperationGetTrsTalkgroupsResponse was auto-generated from WSDL. +type OperationGetTrsTalkgroupsResponse struct { + GetTrsTalkgroupsResponse *GetTrsTalkgroupsResponse `xml:"getTrsTalkgroupsResponse,omitempty" json:"getTrsTalkgroupsResponse,omitempty" yaml:"getTrsTalkgroupsResponse,omitempty"` +} + +// Operation wrapper for GetTrsType. +// OperationGetTrsTypeRequest was auto-generated from WSDL. +type OperationGetTrsTypeRequest struct { + GetTrsType *GetTrsType `xml:"getTrsType,omitempty" json:"getTrsType,omitempty" yaml:"getTrsType,omitempty"` +} + +// Operation wrapper for GetTrsType. +// OperationGetTrsTypeResponse was auto-generated from WSDL. +type OperationGetTrsTypeResponse struct { + GetTrsTypeResponse *GetTrsTypeResponse `xml:"getTrsTypeResponse,omitempty" json:"getTrsTypeResponse,omitempty" yaml:"getTrsTypeResponse,omitempty"` +} + +// Operation wrapper for GetTrsVoice. +// OperationGetTrsVoiceRequest was auto-generated from WSDL. +type OperationGetTrsVoiceRequest struct { + GetTrsVoice *GetTrsVoice `xml:"getTrsVoice,omitempty" json:"getTrsVoice,omitempty" yaml:"getTrsVoice,omitempty"` +} + +// Operation wrapper for GetTrsVoice. +// OperationGetTrsVoiceResponse was auto-generated from WSDL. +type OperationGetTrsVoiceResponse struct { + GetTrsVoiceResponse *GetTrsVoiceResponse `xml:"getTrsVoiceResponse,omitempty" json:"getTrsVoiceResponse,omitempty" yaml:"getTrsVoiceResponse,omitempty"` +} + +// Operation wrapper for GetUserData. +// OperationGetUserDataRequest was auto-generated from WSDL. +type OperationGetUserDataRequest struct { + GetUserData *GetUserData `xml:"getUserData,omitempty" json:"getUserData,omitempty" yaml:"getUserData,omitempty"` +} + +// Operation wrapper for GetUserData. +// OperationGetUserDataResponse was auto-generated from WSDL. +type OperationGetUserDataResponse struct { + GetUserDataResponse *GetUserDataResponse `xml:"getUserDataResponse,omitempty" json:"getUserDataResponse,omitempty" yaml:"getUserDataResponse,omitempty"` +} + +// Operation wrapper for GetUserFeedBroadcasts. +// OperationGetUserFeedBroadcastsRequest was auto-generated from +// WSDL. +type OperationGetUserFeedBroadcastsRequest struct { + GetUserFeedBroadcasts *GetUserFeedBroadcasts `xml:"getUserFeedBroadcasts,omitempty" json:"getUserFeedBroadcasts,omitempty" yaml:"getUserFeedBroadcasts,omitempty"` +} + +// Operation wrapper for GetUserFeedBroadcasts. +// OperationGetUserFeedBroadcastsResponse was auto-generated from +// WSDL. +type OperationGetUserFeedBroadcastsResponse struct { + GetUserFeedBroadcastsResponse *GetUserFeedBroadcastsResponse `xml:"getUserFeedBroadcastsResponse,omitempty" json:"getUserFeedBroadcastsResponse,omitempty" yaml:"getUserFeedBroadcastsResponse,omitempty"` +} + +// Operation wrapper for GetZipcodeInfo. +// OperationGetZipcodeInfoRequest was auto-generated from WSDL. +type OperationGetZipcodeInfoRequest struct { + GetZipcodeInfo *GetZipcodeInfo `xml:"getZipcodeInfo,omitempty" json:"getZipcodeInfo,omitempty" yaml:"getZipcodeInfo,omitempty"` +} + +// Operation wrapper for GetZipcodeInfo. +// OperationGetZipcodeInfoResponse was auto-generated from WSDL. +type OperationGetZipcodeInfoResponse struct { + GetZipcodeInfoResponse *GetZipcodeInfoResponse `xml:"getZipcodeInfoResponse,omitempty" json:"getZipcodeInfoResponse,omitempty" yaml:"getZipcodeInfoResponse,omitempty"` +} + +// Operation wrapper for SearchCountyFreq. +// OperationSearchCountyFreqRequest was auto-generated from WSDL. +type OperationSearchCountyFreqRequest struct { + SearchCountyFreq *SearchCountyFreq `xml:"searchCountyFreq,omitempty" json:"searchCountyFreq,omitempty" yaml:"searchCountyFreq,omitempty"` +} + +// Operation wrapper for SearchCountyFreq. +// OperationSearchCountyFreqResponse was auto-generated from WSDL. +type OperationSearchCountyFreqResponse struct { + SearchCountyFreqResponse *SearchCountyFreqResponse `xml:"searchCountyFreqResponse,omitempty" json:"searchCountyFreqResponse,omitempty" yaml:"searchCountyFreqResponse,omitempty"` +} + +// Operation wrapper for SearchMetroFreq. +// OperationSearchMetroFreqRequest was auto-generated from WSDL. +type OperationSearchMetroFreqRequest struct { + SearchMetroFreq *SearchMetroFreq `xml:"searchMetroFreq,omitempty" json:"searchMetroFreq,omitempty" yaml:"searchMetroFreq,omitempty"` +} + +// Operation wrapper for SearchMetroFreq. +// OperationSearchMetroFreqResponse was auto-generated from WSDL. +type OperationSearchMetroFreqResponse struct { + SearchMetroFreqResponse *SearchMetroFreqResponse `xml:"searchMetroFreqResponse,omitempty" json:"searchMetroFreqResponse,omitempty" yaml:"searchMetroFreqResponse,omitempty"` +} + +// Operation wrapper for SearchStateFreq. +// OperationSearchStateFreqRequest was auto-generated from WSDL. +type OperationSearchStateFreqRequest struct { + SearchStateFreq *SearchStateFreq `xml:"searchStateFreq,omitempty" json:"searchStateFreq,omitempty" yaml:"searchStateFreq,omitempty"` +} + +// Operation wrapper for SearchStateFreq. +// OperationSearchStateFreqResponse was auto-generated from WSDL. +type OperationSearchStateFreqResponse struct { + SearchStateFreqResponse *SearchStateFreqResponse `xml:"searchStateFreqResponse,omitempty" json:"searchStateFreqResponse,omitempty" yaml:"searchStateFreqResponse,omitempty"` +} + +// rRWsdlPortType implements the RRWsdlPortType interface. +type rRWsdlPortType struct { + cli *soap.Client +} + +// Return details on an FCC callsign, including locations and frequencies +func (p *rRWsdlPortType) FccGetCallsign(FccGetCallsign *FccGetCallsignRequestType) (*FccGetCallsignResponseType, error) { + α := struct { + M OperationFccGetCallsignRequest `xml:"tns:fccGetCallsign"` + }{ + OperationFccGetCallsignRequest{ + FccGetCallsign, + }, + } + + γ := struct { + M OperationFccGetCallsignResponse `xml:"fccGetCallsignResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#fccGetCallsign", α, &γ); err != nil { + return nil, err + } + return γ.M.FccGetCallsignResponse, nil +} + +// Return FCC Callsigns within the proximity of a centerpoint. +// Centerpoint is expressed in decimal Lat and Lon. Range is in +// decimal, and range unit specification is: m=miles, k=kilometers, +// n=nautical miles. Please keep searches to under 3 miles (or +// equivalent), otherwise database SOAP interface timeouts might +// occur. +func (p *rRWsdlPortType) FccGetProxCallsigns(FccGetProxCallsigns *FccGetProxCallsignsRequestType) (*FccGetProxCallsignsResponseType, error) { + α := struct { + M OperationFccGetProxCallsignsRequest `xml:"tns:fccGetProxCallsigns"` + }{ + OperationFccGetProxCallsignsRequest{ + FccGetProxCallsigns, + }, + } + + γ := struct { + M OperationFccGetProxCallsignsResponse `xml:"fccGetProxCallsignsResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#fccGetProxCallsigns", α, &γ); err != nil { + return nil, err + } + return γ.M.FccGetProxCallsignsResponse, nil +} + +// Return details on an FCC radio service code. If no code is +// specified, all FCC Radio Service Codes are returned +func (p *rRWsdlPortType) FccGetRadioServiceCode(FccGetRadioServiceCode *FccGetRadioServiceCodeRequestType) (*FccGetRadioServiceCodeResponseType, error) { + α := struct { + M OperationFccGetRadioServiceCodeRequest `xml:"tns:fccGetRadioServiceCode"` + }{ + OperationFccGetRadioServiceCodeRequest{ + FccGetRadioServiceCode, + }, + } + + γ := struct { + M OperationFccGetRadioServiceCodeResponse `xml:"fccGetRadioServiceCodeResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#fccGetRadioServiceCode", α, &γ); err != nil { + return nil, err + } + return γ.M.FccGetRadioServiceCodeResponse, nil +} + +// Returns all frequencies with a specific tag for an Agency +func (p *rRWsdlPortType) GetAgencyFreqsByTag(GetAgencyFreqsByTag *GetAgencyFreqsByTagRequestType) (*GetAgencyFreqsByTagResponseType, error) { + α := struct { + M OperationGetAgencyFreqsByTagRequest `xml:"tns:getAgencyFreqsByTag"` + }{ + OperationGetAgencyFreqsByTagRequest{ + GetAgencyFreqsByTag, + }, + } + + γ := struct { + M OperationGetAgencyFreqsByTagResponse `xml:"getAgencyFreqsByTagResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getAgencyFreqsByTag", α, &γ); err != nil { + return nil, err + } + return γ.M.GetAgencyFreqsByTagResponse, nil +} + +// Returns assigned frequency categories, subcategories, and trunked +// systems for a specified agency ID +func (p *rRWsdlPortType) GetAgencyInfo(GetAgencyInfo *GetAgencyInfoRequestType) (*GetAgencyInfoResponseType, error) { + α := struct { + M OperationGetAgencyInfoRequest `xml:"tns:getAgencyInfo"` + }{ + OperationGetAgencyInfoRequest{ + GetAgencyInfo, + }, + } + + γ := struct { + M OperationGetAgencyInfoResponse `xml:"getAgencyInfoResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getAgencyInfo", α, &γ); err != nil { + return nil, err + } + return γ.M.GetAgencyInfoResponse, nil +} + +// Return details on a list of counties submitted to the service +// as an array of ctids +func (p *rRWsdlPortType) GetCountiesByList(GetCountiesByList *GetCountiesByListRequestType) (*GetCountiesByListResponseType, error) { + α := struct { + M OperationGetCountiesByListRequest `xml:"tns:getCountiesByList"` + }{ + OperationGetCountiesByListRequest{ + GetCountiesByList, + }, + } + + γ := struct { + M OperationGetCountiesByListResponse `xml:"getCountiesByListResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getCountiesByList", α, &γ); err != nil { + return nil, err + } + return γ.M.GetCountiesByListResponse, nil +} + +// Returns assigned state/province/region type and agency entities +// assigned to a country +func (p *rRWsdlPortType) GetCountryInfo(GetCountryInfo *GetCountryInfoRequestType) (*GetCountryInfoResponseType, error) { + α := struct { + M OperationGetCountryInfoRequest `xml:"tns:getCountryInfo"` + }{ + OperationGetCountryInfoRequest{ + GetCountryInfo, + }, + } + + γ := struct { + M OperationGetCountryInfoResponse `xml:"getCountryInfoResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getCountryInfo", α, &γ); err != nil { + return nil, err + } + return γ.M.GetCountryInfoResponse, nil +} + +// Returns the list of countries +func (p *rRWsdlPortType) GetCountryList(GetCountryList *GetCountryListRequestType) (*GetCountryListResponseType, error) { + α := struct { + M OperationGetCountryListRequest `xml:"tns:getCountryList"` + }{ + OperationGetCountryListRequest{ + GetCountryList, + }, + } + + γ := struct { + M OperationGetCountryListResponse `xml:"getCountryListResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getCountryList", α, &γ); err != nil { + return nil, err + } + return γ.M.GetCountryListResponse, nil +} + +// Returns all frequencies with a specific tag in a County +func (p *rRWsdlPortType) GetCountyFreqsByTag(GetCountyFreqsByTag *GetCountyFreqsByTagRequestType) (*GetCountyFreqsByTagResponseType, error) { + α := struct { + M OperationGetCountyFreqsByTagRequest `xml:"tns:getCountyFreqsByTag"` + }{ + OperationGetCountyFreqsByTagRequest{ + GetCountyFreqsByTag, + }, + } + + γ := struct { + M OperationGetCountyFreqsByTagResponse `xml:"getCountyFreqsByTagResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getCountyFreqsByTag", α, &γ); err != nil { + return nil, err + } + return γ.M.GetCountyFreqsByTagResponse, nil +} + +// Returns assigned frequency categories, subcategories, agencies, +// and trunked systems for a specified county ID +func (p *rRWsdlPortType) GetCountyInfo(GetCountyInfo *GetCountyInfoRequestType) (*GetCountyInfoResponseType, error) { + α := struct { + M OperationGetCountyInfoRequest `xml:"tns:getCountyInfo"` + }{ + OperationGetCountyInfoRequest{ + GetCountyInfo, + }, + } + + γ := struct { + M OperationGetCountyInfoResponse `xml:"getCountyInfoResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getCountyInfo", α, &γ); err != nil { + return nil, err + } + return γ.M.GetCountyInfoResponse, nil +} + +// Returns simple details on a Metro Area by mid. If no mid is +// specified, all metro areas are returned. +func (p *rRWsdlPortType) GetMetroArea(GetMetroArea *GetMetroAreaRequestType) (*GetMetroAreaResponseType, error) { + α := struct { + M OperationGetMetroAreaRequest `xml:"tns:getMetroArea"` + }{ + OperationGetMetroAreaRequest{ + GetMetroArea, + }, + } + + γ := struct { + M OperationGetMetroAreaResponse `xml:"getMetroAreaResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getMetroArea", α, &γ); err != nil { + return nil, err + } + return γ.M.GetMetroAreaResponse, nil +} + +// Returns all counties for a Metro Area by mid. +func (p *rRWsdlPortType) GetMetroAreaInfo(GetMetroAreaInfo *GetMetroAreaInfoRequestType) (*GetMetroAreaInfoResponseType, error) { + α := struct { + M OperationGetMetroAreaInfoRequest `xml:"tns:getMetroAreaInfo"` + }{ + OperationGetMetroAreaInfoRequest{ + GetMetroAreaInfo, + }, + } + + γ := struct { + M OperationGetMetroAreaInfoResponse `xml:"getMetroAreaInfoResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getMetroAreaInfo", α, &γ); err != nil { + return nil, err + } + return γ.M.GetMetroAreaInfoResponse, nil +} + +// Return details on a single mode. If no mode definition is specified +// function returns all conventional mode definitions +func (p *rRWsdlPortType) GetMode(GetMode *GetModeRequestType) (*GetModeResponseType, error) { + α := struct { + M OperationGetModeRequest `xml:"tns:getMode"` + }{ + OperationGetModeRequest{ + GetMode, + }, + } + + γ := struct { + M OperationGetModeResponse `xml:"getModeResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getMode", α, &γ); err != nil { + return nil, err + } + return γ.M.GetModeResponse, nil +} + +// Returns assigned county IDs, agency IDs, and Statewide Trunked +// Systems references for a State +func (p *rRWsdlPortType) GetStateInfo(GetStateInfo *GetStateInfoRequestType) (*GetStateInfoResponseType, error) { + α := struct { + M OperationGetStateInfoRequest `xml:"tns:getStateInfo"` + }{ + OperationGetStateInfoRequest{ + GetStateInfo, + }, + } + + γ := struct { + M OperationGetStateInfoResponse `xml:"getStateInfoResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getStateInfo", α, &γ); err != nil { + return nil, err + } + return γ.M.GetStateInfoResponse, nil +} + +// Return details on a list of states submitted to the service +// as an array of stids +func (p *rRWsdlPortType) GetStatesByList(GetStatesByList *GetStatesByListRequestType) (*GetStatesByListResponseType, error) { + α := struct { + M OperationGetStatesByListRequest `xml:"tns:getStatesByList"` + }{ + OperationGetStatesByListRequest{ + GetStatesByList, + }, + } + + γ := struct { + M OperationGetStatesByListResponse `xml:"getStatesByListResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getStatesByList", α, &γ); err != nil { + return nil, err + } + return γ.M.GetStatesByListResponse, nil +} + +// Returns an array of frequencies for a specified sub-category +// ID +func (p *rRWsdlPortType) GetSubcatFreqs(GetSubcatFreqs *GetSubcatFreqsRequestType) (*GetSubcatFreqsResponseType, error) { + α := struct { + M OperationGetSubcatFreqsRequest `xml:"tns:getSubcatFreqs"` + }{ + OperationGetSubcatFreqsRequest{ + GetSubcatFreqs, + }, + } + + γ := struct { + M OperationGetSubcatFreqsResponse `xml:"getSubcatFreqsResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getSubcatFreqs", α, &γ); err != nil { + return nil, err + } + return γ.M.GetSubcatFreqsResponse, nil +} + +// Return details on a single tag. If no tag ID is specified returns +// all frequency and talkgroup tag definitions and their values +func (p *rRWsdlPortType) GetTag(GetTag *GetTagRequestType) (*GetTagResponseType, error) { + α := struct { + M OperationGetTagRequest `xml:"tns:getTag"` + }{ + OperationGetTagRequest{ + GetTag, + }, + } + + γ := struct { + M OperationGetTagResponse `xml:"getTagResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTag", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTagResponse, nil +} + +// Get a list trunked systems with a specific system ID (Project +// 25 or Motorola) +func (p *rRWsdlPortType) GetTrsBySysid(GetTrsBySysid *GetTrsBySysidRequestType) (*GetTrsBySysidResponseType, error) { + α := struct { + M OperationGetTrsBySysidRequest `xml:"tns:getTrsBySysid"` + }{ + OperationGetTrsBySysidRequest{ + GetTrsBySysid, + }, + } + + γ := struct { + M OperationGetTrsBySysidResponse `xml:"getTrsBySysidResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsBySysid", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsBySysidResponse, nil +} + +// Get details on a trunked system +func (p *rRWsdlPortType) GetTrsDetails(GetTrsDetails *GetTrsDetailsRequestType) (*GetTrsDetailsResponseType, error) { + α := struct { + M OperationGetTrsDetailsRequest `xml:"tns:getTrsDetails"` + }{ + OperationGetTrsDetailsRequest{ + GetTrsDetails, + }, + } + + γ := struct { + M OperationGetTrsDetailsResponse `xml:"getTrsDetailsResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsDetails", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsDetailsResponse, nil +} + +// Returns a trunked system flavor description based on flavor +// ID. If no flavor ID is specified all TRS flavors will be returned +func (p *rRWsdlPortType) GetTrsFlavor(GetTrsFlavor *GetTrsFlavorRequestType) (*GetTrsFlavorResponseType, error) { + α := struct { + M OperationGetTrsFlavorRequest `xml:"tns:getTrsFlavor"` + }{ + OperationGetTrsFlavorRequest{ + GetTrsFlavor, + }, + } + + γ := struct { + M OperationGetTrsFlavorResponse `xml:"getTrsFlavorResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsFlavor", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsFlavorResponse, nil +} + +// Get details on all sites for a trunked system. +func (p *rRWsdlPortType) GetTrsSites(GetTrsSites *GetTrsSitesRequestType) (*GetTrsSitesResponseType, error) { + α := struct { + M OperationGetTrsSitesRequest `xml:"tns:getTrsSites"` + }{ + OperationGetTrsSitesRequest{ + GetTrsSites, + }, + } + + γ := struct { + M OperationGetTrsSitesResponse `xml:"getTrsSitesResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsSites", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsSitesResponse, nil +} + +// Get all talkgroups categories for a trunked system +func (p *rRWsdlPortType) GetTrsTalkgroupCats(GetTrsTalkgroupCats *GetTrsTalkgroupCatsRequestType) (*GetTrsTalkgroupCatsResponseType, error) { + α := struct { + M OperationGetTrsTalkgroupCatsRequest `xml:"tns:getTrsTalkgroupCats"` + }{ + OperationGetTrsTalkgroupCatsRequest{ + GetTrsTalkgroupCats, + }, + } + + γ := struct { + M OperationGetTrsTalkgroupCatsResponse `xml:"getTrsTalkgroupCatsResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsTalkgroupCats", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsTalkgroupCatsResponse, nil +} + +// Gets talkgroups for a trunked system by talkgroup category ID. +// If no category ID is specified, all talkgroups for the system +// are returned. Two optional filters are available. One by talkgroup +// tagId is available to return only talkgroups that have a specified +// tag assigned to them, and one by tgDec for return a list of +// talkgroups with a specific decimal ID. You can mix optional +// filters for the desired result. +func (p *rRWsdlPortType) GetTrsTalkgroups(GetTrsTalkgroups *GetTrsTalkgroupsRequestType) (*GetTrsTalkgroupsResponseType, error) { + α := struct { + M OperationGetTrsTalkgroupsRequest `xml:"tns:getTrsTalkgroups"` + }{ + OperationGetTrsTalkgroupsRequest{ + GetTrsTalkgroups, + }, + } + + γ := struct { + M OperationGetTrsTalkgroupsResponse `xml:"getTrsTalkgroupsResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsTalkgroups", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsTalkgroupsResponse, nil +} + +// Returns a trunked system type description based on type ID. +// If no type ID is specified all TRS types will be returned +func (p *rRWsdlPortType) GetTrsType(GetTrsType *GetTrsTypeRequestType) (*GetTrsTypeResponseType, error) { + α := struct { + M OperationGetTrsTypeRequest `xml:"tns:getTrsType"` + }{ + OperationGetTrsTypeRequest{ + GetTrsType, + }, + } + + γ := struct { + M OperationGetTrsTypeResponse `xml:"getTrsTypeResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsType", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsTypeResponse, nil +} + +// Returns a trunked system voice description based on voice ID. +// If no voice ID is specified all TRS voice types will be returned +func (p *rRWsdlPortType) GetTrsVoice(GetTrsVoice *GetTrsVoiceRequestType) (*GetTrsVoiceResponseType, error) { + α := struct { + M OperationGetTrsVoiceRequest `xml:"tns:getTrsVoice"` + }{ + OperationGetTrsVoiceRequest{ + GetTrsVoice, + }, + } + + γ := struct { + M OperationGetTrsVoiceResponse `xml:"getTrsVoiceResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getTrsVoice", α, &γ); err != nil { + return nil, err + } + return γ.M.GetTrsVoiceResponse, nil +} + +// Return details on the authenticated user +func (p *rRWsdlPortType) GetUserData(GetUserData *GetUserDataRequestType) (*GetUserDataResponseType, error) { + α := struct { + M OperationGetUserDataRequest `xml:"tns:getUserData"` + }{ + OperationGetUserDataRequest{ + GetUserData, + }, + } + + γ := struct { + M OperationGetUserDataResponse `xml:"getUserDataResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getUserData", α, &γ); err != nil { + return nil, err + } + return γ.M.GetUserDataResponse, nil +} + +// Return details on the feeds for the authenticated user +func (p *rRWsdlPortType) GetUserFeedBroadcasts(GetUserFeedBroadcasts *GetUserFeedBroadcastsRequestType) (*GetUserFeedBroadcastsResponseType, error) { + α := struct { + M OperationGetUserFeedBroadcastsRequest `xml:"tns:getUserFeedBroadcasts"` + }{ + OperationGetUserFeedBroadcastsRequest{ + GetUserFeedBroadcasts, + }, + } + + γ := struct { + M OperationGetUserFeedBroadcastsResponse `xml:"getUserFeedBroadcastsResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getUserFeedBroadcasts", α, &γ); err != nil { + return nil, err + } + return γ.M.GetUserFeedBroadcastsResponse, nil +} + +// Return details on a United States ZIP Postal Code +func (p *rRWsdlPortType) GetZipcodeInfo(GetZipcodeInfo *GetZipcodeInfoRequestType) (*GetZipcodeInfoResponseType, error) { + α := struct { + M OperationGetZipcodeInfoRequest `xml:"tns:getZipcodeInfo"` + }{ + OperationGetZipcodeInfoRequest{ + GetZipcodeInfo, + }, + } + + γ := struct { + M OperationGetZipcodeInfoResponse `xml:"getZipcodeInfoResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#getZipcodeInfo", α, &γ); err != nil { + return nil, err + } + return γ.M.GetZipcodeInfoResponse, nil +} + +// Searches for an idenfied frequency (conventional or trunked) +// in a specific county. An option filter by tone, if specified, +// will limit results to conventional frequencies with that tone. +func (p *rRWsdlPortType) SearchCountyFreq(SearchCountyFreq *SearchCountyFreqRequestType) (*SearchCountyFreqResponseType, error) { + α := struct { + M OperationSearchCountyFreqRequest `xml:"tns:searchCountyFreq"` + }{ + OperationSearchCountyFreqRequest{ + SearchCountyFreq, + }, + } + + γ := struct { + M OperationSearchCountyFreqResponse `xml:"searchCountyFreqResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#searchCountyFreq", α, &γ); err != nil { + return nil, err + } + return γ.M.SearchCountyFreqResponse, nil +} + +// Searches for an idenfied frequency (conventional or trunked) +// in a specific metro area (collection of counties identified +// by mid). An option filter by tone, if specified, will limit +// results to conventional frequencies with that tone. +func (p *rRWsdlPortType) SearchMetroFreq(SearchMetroFreq *SearchMetroFreqRequestType) (*SearchMetroFreqResponseType, error) { + α := struct { + M OperationSearchMetroFreqRequest `xml:"tns:searchMetroFreq"` + }{ + OperationSearchMetroFreqRequest{ + SearchMetroFreq, + }, + } + + γ := struct { + M OperationSearchMetroFreqResponse `xml:"searchMetroFreqResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#searchMetroFreq", α, &γ); err != nil { + return nil, err + } + return γ.M.SearchMetroFreqResponse, nil +} + +// Searches for an idenfied frequency (conventional or trunked) +// in a specific state. An option filter by tone, if specified, +// will limit results to conventional frequencies with that tone. +func (p *rRWsdlPortType) SearchStateFreq(SearchStateFreq *SearchStateFreqRequestType) (*SearchStateFreqResponseType, error) { + α := struct { + M OperationSearchStateFreqRequest `xml:"tns:searchStateFreq"` + }{ + OperationSearchStateFreqRequest{ + SearchStateFreq, + }, + } + + γ := struct { + M OperationSearchStateFreqResponse `xml:"searchStateFreqResponse"` + }{} + if err := p.cli.RoundTripWithAction("http://api.radioreference.com/soap2#searchStateFreq", α, &γ); err != nil { + return nil, err + } + return γ.M.SearchStateFreqResponse, nil +} diff --git a/wsdlgo/testdata/radioreference.wsdl b/wsdlgo/testdata/radioreference.wsdl new file mode 100644 index 0000000..02fcc34 --- /dev/null +++ b/wsdlgo/testdata/radioreference.wsdl @@ -0,0 +1,1513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets talkgroups for a trunked system by talkgroup category ID. If no category ID is specified, all talkgroups for the system are returned. Two optional filters are available. One by talkgroup tagId is available to return only talkgroups that have a specified tag assigned to them, and one by tgDec for return a list of talkgroups with a specific decimal ID. You can mix optional filters for the desired result. + + + + + Get all talkgroups categories for a trunked system + + + + + Get details on a trunked system + + + + + Get a list trunked systems with a specific system ID (Project 25 or Motorola) + + + + + Get details on all sites for a trunked system. + + + + + Return details on a list of states submitted to the service as an array of stids + + + + + Return details on a list of counties submitted to the service as an array of ctids + + + + + Return details on a single tag. If no tag ID is specified returns all frequency and talkgroup tag definitions and their values + + + + + Return details on a single mode. If no mode definition is specified function returns all conventional mode definitions + + + + + Returns a trunked system type description based on type ID. If no type ID is specified all TRS types will be returned + + + + + Returns a trunked system flavor description based on flavor ID. If no flavor ID is specified all TRS flavors will be returned + + + + + Returns a trunked system voice description based on voice ID. If no voice ID is specified all TRS voice types will be returned + + + + + Returns the list of countries + + + + + Returns assigned state/province/region type and agency entities assigned to a country + + + + + Returns assigned county IDs, agency IDs, and Statewide Trunked Systems references for a State + + + + + Returns assigned frequency categories, subcategories, agencies, and trunked systems for a specified county ID + + + + + Returns assigned frequency categories, subcategories, and trunked systems for a specified agency ID + + + + + Returns an array of frequencies for a specified sub-category ID + + + + + Searches for an idenfied frequency (conventional or trunked) in a specific county. An option filter by tone, if specified, will limit results to conventional frequencies with that tone. + + + + + Searches for an idenfied frequency (conventional or trunked) in a specific state. An option filter by tone, if specified, will limit results to conventional frequencies with that tone. + + + + + Searches for an idenfied frequency (conventional or trunked) in a specific metro area (collection of counties identified by mid). An option filter by tone, if specified, will limit results to conventional frequencies with that tone. + + + + + Returns all frequencies with a specific tag in a County + + + + + Returns all frequencies with a specific tag for an Agency + + + + + Returns simple details on a Metro Area by mid. If no mid is specified, all metro areas are returned. + + + + + Returns all counties for a Metro Area by mid. + + + + + Return details on a United States ZIP Postal Code + + + + + Return details on an FCC callsign, including locations and frequencies + + + + + Return details on an FCC radio service code. If no code is specified, all FCC Radio Service Codes are returned + + + + + Return FCC Callsigns within the proximity of a centerpoint. Centerpoint is expressed in decimal Lat and Lon. Range is in decimal, and range unit specification is: m=miles, k=kilometers, n=nautical miles. Please keep searches to under 3 miles (or equivalent), otherwise database SOAP interface timeouts might occur. + + + + + Return details on the authenticated user + + + + + Return details on the feeds for the authenticated user + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wsdlgo/testdata/scannerservice.golden b/wsdlgo/testdata/scannerservice.golden new file mode 100644 index 0000000..259adb3 --- /dev/null +++ b/wsdlgo/testdata/scannerservice.golden @@ -0,0 +1,465 @@ +// Code generated by wsdl2go. DO NOT EDIT. + +package scannerservicebinding + +import ( + "github.com/fiorix/wsdl2go/soap" +) + +// Namespace was auto-generated from WSDL. +var Namespace = "http://schemas.microsoft.com/windows/2006/08/wdp/scan" + +// NewScannerServiceType creates an initializes a ScannerServiceType. +func NewScannerServiceType(cli *soap.Client) ScannerServiceType { + return &scannerServiceType{cli} +} + +// ScannerServiceType was auto-generated from WSDL +// and defines interface for the remote service. Useful for testing. +type ScannerServiceType interface { + // CancelJob was auto-generated from WSDL. + CancelJob(CancelJobRequest *CancelJobRequest) (*CancelJobResponse, error) + + // CreateScanJob was auto-generated from WSDL. + CreateScanJob(CreateScanJobRequest *CreateScanJobRequest) (*CreateScanJobResponse, error) + + // GetActiveJobs was auto-generated from WSDL. + GetActiveJobs(GetActiveJobsRequest *GetActiveJobsRequest) (*GetActiveJobsResponse, error) + + // GetJobElements was auto-generated from WSDL. + GetJobElements(GetJobElementsRequest *GetJobElementsRequest) (*GetJobElementsResponse, error) + + // GetJobHistory was auto-generated from WSDL. + GetJobHistory(GetJobHistoryRequest *GetJobHistoryRequest) (*GetJobHistoryResponse, error) + + // GetScannerElements was auto-generated from WSDL. + GetScannerElements(GetScannerElementsRequest *GetScannerElementsRequest) (*GetScannerElementsResponse, error) + + // JobEndStateEvent was auto-generated from WSDL. + JobEndStateEvent() (*JobEndStateEvent, error) + + // JobStatusEvent was auto-generated from WSDL. + JobStatusEvent() (*JobStatusEvent, error) + + // RetrieveImage was auto-generated from WSDL. + RetrieveImage(RetrieveImageRequest *RetrieveImageRequest) (*RetrieveImageResponse, error) + + // ScanAvailableEvent was auto-generated from WSDL. + ScanAvailableEvent() (*ScanAvailableEvent, error) + + // ScannerElementsChangeEvent was auto-generated from WSDL. + ScannerElementsChangeEvent() (*ScannerElementsChangeEvent, error) + + // ScannerStatusConditionClearedEvent was auto-generated from WSDL. + ScannerStatusConditionClearedEvent() (*ScannerStatusConditionClearedEvent, error) + + // ScannerStatusConditionEvent was auto-generated from WSDL. + ScannerStatusConditionEvent() (*ScannerStatusConditionEvent, error) + + // ScannerStatusSummaryEvent was auto-generated from WSDL. + ScannerStatusSummaryEvent() (*ScannerStatusSummaryEvent, error) + + // ValidateScanTicket was auto-generated from WSDL. + ValidateScanTicket(ValidateScanTicketRequest *ValidateScanTicketRequest) (*ValidateScanTicketResponse, error) +} + +// Operation wrapper for CancelJob. +// OperationCancelJobRequestMsg was auto-generated from WSDL. +type OperationCancelJobRequestMsg struct { + Body *CancelJobRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for CancelJob. +// OperationCancelJobResponseMsg was auto-generated from WSDL. +type OperationCancelJobResponseMsg struct { + Body *CancelJobResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for CreateScanJob. +// OperationCreateScanJobRequestMsg was auto-generated from WSDL. +type OperationCreateScanJobRequestMsg struct { + Body *CreateScanJobRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for CreateScanJob. +// OperationCreateScanJobResponseMsg was auto-generated from WSDL. +type OperationCreateScanJobResponseMsg struct { + Body *CreateScanJobResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetActiveJobs. +// OperationGetActiveJobsRequestMsg was auto-generated from WSDL. +type OperationGetActiveJobsRequestMsg struct { + Body *GetActiveJobsRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetActiveJobs. +// OperationGetActiveJobsResponseMsg was auto-generated from WSDL. +type OperationGetActiveJobsResponseMsg struct { + Body *GetActiveJobsResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetJobElements. +// OperationGetJobElementsRequestMsg was auto-generated from WSDL. +type OperationGetJobElementsRequestMsg struct { + Body *GetJobElementsRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetJobElements. +// OperationGetJobElementsResponseMsg was auto-generated from WSDL. +type OperationGetJobElementsResponseMsg struct { + Body *GetJobElementsResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetJobHistory. +// OperationGetJobHistoryRequestMsg was auto-generated from WSDL. +type OperationGetJobHistoryRequestMsg struct { + Body *GetJobHistoryRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetJobHistory. +// OperationGetJobHistoryResponseMsg was auto-generated from WSDL. +type OperationGetJobHistoryResponseMsg struct { + Body *GetJobHistoryResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetScannerElements. +// OperationGetScannerElementsRequestMsg was auto-generated from +// WSDL. +type OperationGetScannerElementsRequestMsg struct { + Body *GetScannerElementsRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for GetScannerElements. +// OperationGetScannerElementsResponseMsg was auto-generated from +// WSDL. +type OperationGetScannerElementsResponseMsg struct { + Body *GetScannerElementsResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for JobEndStateEvent. +// OperationJobEndStateEventMsg was auto-generated from WSDL. +type OperationJobEndStateEventMsg struct { + Body *JobEndStateEvent `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for JobStatusEvent. +// OperationJobStatusEventMsg was auto-generated from WSDL. +type OperationJobStatusEventMsg struct { + Body *JobStatusEvent `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for RetrieveImage. +// OperationRetrieveImageRequestMsg was auto-generated from WSDL. +type OperationRetrieveImageRequestMsg struct { + Body *RetrieveImageRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for RetrieveImage. +// OperationRetrieveImageResponseMsg was auto-generated from WSDL. +type OperationRetrieveImageResponseMsg struct { + Body *RetrieveImageResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for ScanAvailableEvent. +// OperationScanAvailableEventMsg was auto-generated from WSDL. +type OperationScanAvailableEventMsg struct { + Body *ScanAvailableEvent `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for ScannerElementsChangeEvent. +// OperationScannerElementsChangeEventMsg was auto-generated from +// WSDL. +type OperationScannerElementsChangeEventMsg struct { + Body *ScannerElementsChangeEvent `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for ScannerStatusConditionClearedEvent. +// OperationScannerStatusConditionClearedEventMsg was auto-generated +// from WSDL. +type OperationScannerStatusConditionClearedEventMsg struct { + Body *ScannerStatusConditionClearedEvent `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for ScannerStatusConditionEvent. +// OperationScannerStatusConditionEventMsg was auto-generated from +// WSDL. +type OperationScannerStatusConditionEventMsg struct { + Body *ScannerStatusConditionEvent `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for ScannerStatusSummaryEvent. +// OperationScannerStatusSummaryEventMsg was auto-generated from +// WSDL. +type OperationScannerStatusSummaryEventMsg struct { + Body *ScannerStatusSummaryEvent `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for ValidateScanTicket. +// OperationValidateScanTicketRequestMsg was auto-generated from +// WSDL. +type OperationValidateScanTicketRequestMsg struct { + Body *ValidateScanTicketRequest `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// Operation wrapper for ValidateScanTicket. +// OperationValidateScanTicketResponseMsg was auto-generated from +// WSDL. +type OperationValidateScanTicketResponseMsg struct { + Body *ValidateScanTicketResponse `xml:"body,omitempty" json:"body,omitempty" yaml:"body,omitempty"` +} + +// scannerServiceType implements the ScannerServiceType interface. +type scannerServiceType struct { + cli *soap.Client +} + +// CancelJob was auto-generated from WSDL. +func (p *scannerServiceType) CancelJob(CancelJobRequest *CancelJobRequest) (*CancelJobResponse, error) { + α := struct { + OperationCancelJobRequestMsg `xml:"wscn:CancelJob"` + }{ + OperationCancelJobRequestMsg{ + CancelJobRequest, + }, + } + + γ := struct { + OperationCancelJobResponseMsg `xml:"CancelJobResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/CancelJob", α, &γ); err != nil { + return nil, err + } + return γ.CancelJobResponse, nil +} + +// CreateScanJob was auto-generated from WSDL. +func (p *scannerServiceType) CreateScanJob(CreateScanJobRequest *CreateScanJobRequest) (*CreateScanJobResponse, error) { + α := struct { + OperationCreateScanJobRequestMsg `xml:"wscn:CreateScanJob"` + }{ + OperationCreateScanJobRequestMsg{ + CreateScanJobRequest, + }, + } + + γ := struct { + OperationCreateScanJobResponseMsg `xml:"CreateScanJobResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/CreateScanJob", α, &γ); err != nil { + return nil, err + } + return γ.CreateScanJobResponse, nil +} + +// GetActiveJobs was auto-generated from WSDL. +func (p *scannerServiceType) GetActiveJobs(GetActiveJobsRequest *GetActiveJobsRequest) (*GetActiveJobsResponse, error) { + α := struct { + OperationGetActiveJobsRequestMsg `xml:"wscn:GetActiveJobs"` + }{ + OperationGetActiveJobsRequestMsg{ + GetActiveJobsRequest, + }, + } + + γ := struct { + OperationGetActiveJobsResponseMsg `xml:"GetActiveJobsResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/GetActiveJobs", α, &γ); err != nil { + return nil, err + } + return γ.GetActiveJobsResponse, nil +} + +// GetJobElements was auto-generated from WSDL. +func (p *scannerServiceType) GetJobElements(GetJobElementsRequest *GetJobElementsRequest) (*GetJobElementsResponse, error) { + α := struct { + OperationGetJobElementsRequestMsg `xml:"wscn:GetJobElements"` + }{ + OperationGetJobElementsRequestMsg{ + GetJobElementsRequest, + }, + } + + γ := struct { + OperationGetJobElementsResponseMsg `xml:"GetJobElementsResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/GetJobElements", α, &γ); err != nil { + return nil, err + } + return γ.GetJobElementsResponse, nil +} + +// GetJobHistory was auto-generated from WSDL. +func (p *scannerServiceType) GetJobHistory(GetJobHistoryRequest *GetJobHistoryRequest) (*GetJobHistoryResponse, error) { + α := struct { + OperationGetJobHistoryRequestMsg `xml:"wscn:GetJobHistory"` + }{ + OperationGetJobHistoryRequestMsg{ + GetJobHistoryRequest, + }, + } + + γ := struct { + OperationGetJobHistoryResponseMsg `xml:"GetJobHistoryResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/GetJobHistory", α, &γ); err != nil { + return nil, err + } + return γ.GetJobHistoryResponse, nil +} + +// GetScannerElements was auto-generated from WSDL. +func (p *scannerServiceType) GetScannerElements(GetScannerElementsRequest *GetScannerElementsRequest) (*GetScannerElementsResponse, error) { + α := struct { + OperationGetScannerElementsRequestMsg `xml:"wscn:GetScannerElements"` + }{ + OperationGetScannerElementsRequestMsg{ + GetScannerElementsRequest, + }, + } + + γ := struct { + OperationGetScannerElementsResponseMsg `xml:"GetScannerElementsResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/GetScannerElements", α, &γ); err != nil { + return nil, err + } + return γ.GetScannerElementsResponse, nil +} + +// JobEndStateEvent was auto-generated from WSDL. +func (p *scannerServiceType) JobEndStateEvent() (*JobEndStateEvent, error) { + α := struct { + }{} + + γ := struct { + OperationJobEndStateEventMsg `xml:""` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/JobEndStateEvent", α, &γ); err != nil { + return nil, err + } + return γ.JobEndStateEvent, nil +} + +// JobStatusEvent was auto-generated from WSDL. +func (p *scannerServiceType) JobStatusEvent() (*JobStatusEvent, error) { + α := struct { + }{} + + γ := struct { + OperationJobStatusEventMsg `xml:""` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/JobStatusEvent", α, &γ); err != nil { + return nil, err + } + return γ.JobStatusEvent, nil +} + +// RetrieveImage was auto-generated from WSDL. +func (p *scannerServiceType) RetrieveImage(RetrieveImageRequest *RetrieveImageRequest) (*RetrieveImageResponse, error) { + α := struct { + OperationRetrieveImageRequestMsg `xml:"wscn:RetrieveImage"` + }{ + OperationRetrieveImageRequestMsg{ + RetrieveImageRequest, + }, + } + + γ := struct { + OperationRetrieveImageResponseMsg `xml:"RetrieveImageResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/RetrieveImage", α, &γ); err != nil { + return nil, err + } + return γ.RetrieveImageResponse, nil +} + +// ScanAvailableEvent was auto-generated from WSDL. +func (p *scannerServiceType) ScanAvailableEvent() (*ScanAvailableEvent, error) { + α := struct { + }{} + + γ := struct { + OperationScanAvailableEventMsg `xml:""` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/ScanAvailableEvent", α, &γ); err != nil { + return nil, err + } + return γ.ScanAvailableEvent, nil +} + +// ScannerElementsChangeEvent was auto-generated from WSDL. +func (p *scannerServiceType) ScannerElementsChangeEvent() (*ScannerElementsChangeEvent, error) { + α := struct { + }{} + + γ := struct { + OperationScannerElementsChangeEventMsg `xml:""` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/ScannerElementsChangeEvent", α, &γ); err != nil { + return nil, err + } + return γ.ScannerElementsChangeEvent, nil +} + +// ScannerStatusConditionClearedEvent was auto-generated from WSDL. +func (p *scannerServiceType) ScannerStatusConditionClearedEvent() (*ScannerStatusConditionClearedEvent, error) { + α := struct { + }{} + + γ := struct { + OperationScannerStatusConditionClearedEventMsg `xml:""` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/ScannerStatusConditionClearedEvent", α, &γ); err != nil { + return nil, err + } + return γ.ScannerStatusConditionClearedEvent, nil +} + +// ScannerStatusConditionEvent was auto-generated from WSDL. +func (p *scannerServiceType) ScannerStatusConditionEvent() (*ScannerStatusConditionEvent, error) { + α := struct { + }{} + + γ := struct { + OperationScannerStatusConditionEventMsg `xml:""` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/ScannerStatusConditionEvent", α, &γ); err != nil { + return nil, err + } + return γ.ScannerStatusConditionEvent, nil +} + +// ScannerStatusSummaryEvent was auto-generated from WSDL. +func (p *scannerServiceType) ScannerStatusSummaryEvent() (*ScannerStatusSummaryEvent, error) { + α := struct { + }{} + + γ := struct { + OperationScannerStatusSummaryEventMsg `xml:""` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/ScannerStatusSummaryEvent", α, &γ); err != nil { + return nil, err + } + return γ.ScannerStatusSummaryEvent, nil +} + +// ValidateScanTicket was auto-generated from WSDL. +func (p *scannerServiceType) ValidateScanTicket(ValidateScanTicketRequest *ValidateScanTicketRequest) (*ValidateScanTicketResponse, error) { + α := struct { + OperationValidateScanTicketRequestMsg `xml:"wscn:ValidateScanTicket"` + }{ + OperationValidateScanTicketRequestMsg{ + ValidateScanTicketRequest, + }, + } + + γ := struct { + OperationValidateScanTicketResponseMsg `xml:"ValidateScanTicketResponse"` + }{} + if err := p.cli.RoundTripSoap12("http://schemas.microsoft.com/windows/2006/08/wdp/scan/ValidateScanTicket", α, &γ); err != nil { + return nil, err + } + return γ.ValidateScanTicketResponse, nil +} diff --git a/wsdlgo/testdata/scannerservice.wsdl b/wsdlgo/testdata/scannerservice.wsdl new file mode 100644 index 0000000..b5726d9 --- /dev/null +++ b/wsdlgo/testdata/scannerservice.wsdl @@ -0,0 +1,335 @@ + + + + + WSD Scanner Service Web Service Description (WSDL) file + Copyright 2005-2006 Microsoft Corporation. All rights reserved + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +