mirror of
https://wiilab.wiimart.org/wiimart/WiiSOAP
synced 2025-09-06 05:21:04 +02:00
55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/xml"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"net/http"
|
|
)
|
|
|
|
// The Check struct(ure) will attempt to retrieve all the namespace data.
|
|
// Assuming that namespaces that don't exist are given a "nil", the first result that isn't a "nil" will be used as the template response.
|
|
|
|
type Check struct {
|
|
// ECommerce Namespaces
|
|
CDS string `ecs:"CheckDeviceStatus"`
|
|
LET string `ecs:"ListETickets"`
|
|
NETS string `ecs:"NotifyETicketsSynced"`
|
|
PT string `ecs:"PurchaseTitle"`
|
|
|
|
// Identity Authentication Namespaces
|
|
CR string `ecs:"CheckRegistration"`
|
|
GRI string `ecs:"GetRegistrationInfo"`
|
|
REG string `ecs:"Register"`
|
|
UNR string `ecs:"Unregister"`
|
|
}
|
|
|
|
func main() {
|
|
file, err := ioutil.ReadFile("SOAP-WSC/ECS/checkDeviceStatus.xml")
|
|
// ChRes is a variable that's in the form of JSON. This organises all the data into sub-variables like ChRes.CDS.
|
|
// This is probably my favourite thing in GoLang to be honest.
|
|
if err != nil {
|
|
panic(err)
|
|
return
|
|
}
|
|
ChRes := Check{
|
|
CDS: "",
|
|
LET: "",
|
|
NETS: "",
|
|
PT: "",
|
|
CR: "",
|
|
GRI: "",
|
|
REG: "",
|
|
UNR: "",
|
|
}
|
|
err = xml.Unmarshal(file, &ChRes)
|
|
if err != nil {
|
|
fmt.Printf("error: %v", err)
|
|
return
|
|
}
|
|
fmt.Println(ChRes)
|
|
|
|
// http.ListenAndServe starts a HTTP server, which is important to take note of as we will be using this to deliver the SOAP.
|
|
http.ListenAndServe(":80", nil)
|
|
}
|