<%@ Language=VBScript %> <% Option Explicit %> MetSOAP ASP demo <% Dim wsdlurl,url,wsmlurl, nationalLanguage url = "http://www.agmodel.net/MetBroker/MetSOAP/" wsdlurl=url & "MetSOAPVBScript.wsdl" wsmlurl=url & "MetSOAPClient.wsml" nationalLanguage = "en" ' nationalLanguage = "ja" Dim soapClient3 Set soapClient3 = CreateObject("MSSOAP.SoapClient30") soapClient3.ClientProperty("ServerHTTPRequest") = True rem uses local copy of MetSOAP.wsdl with Array references changed to AnyType (see SOAP Toolkit documentation for Array Data Type Support) soapClient3.MSSoapInit wsdlurl, "MetSOAP", "MetSoapRemoteInterfacePort", wsmlurl If err <> 0 Then MsgBox "initialization failed " & err.description End If Dim elementIndex Dim missingvalue missingvalue = -100000000 Dim request Set request = CreateObject("MetSOAP.StationMetRequest") request.sourceID = "amedas" request.stationID = "40341" ' request.stationID = "41091" Dim starttime Dim endtime starttime = #8/1/2002# endtime = #8/31/2002# ' starttime = InputBox("Input start time","Date","7/1/2002") ' endtime = InputBox("Input end time","Date","7/31/2002") Response.Write "
" & vbCrLf

	Dim interval
	Set interval = CreateObject("MetSOAP.TimeInterval")
	interval.starting = starttime -1/24
	interval.ending   = endtime
	Set request.interval = interval

	Dim requestedElements(3)
	requestedElements(0) = 0
	requestedElements(1) = 1
	requestedElements(2) = 2
	requestedElements(3) = 8
	request.requestedElements = requestedElements

	request.resolution = 2
	request.language = "en"
	request.missingValueIndicator = missingvalue
	request.summarisingAllowed = True

	Dim result
	Set result = soapClient3.getStationData(request)

	Dim thisElementsData
	Dim thisElement
	Dim singleStore
	Dim storeContents

	Dim elementDataStoresIndex
	Dim storeContentsIndex
	Dim station
	Dim operational

	Set station = result.station
	Response.Write "Data for " & station.stationName & vbCrLf

	Set operational = station.operational
	Dim operatingString
	operatingString = "Operational from " & operational.starting & " to "
	If operational.endless = True Then
		operatingString = operatingString & " the present"
	Else
		operatingString = operatingString & operational.ending
	End If

	Response.Write operatingString & vbCrLf
Response.Write "Interval " & starttime & " - " & endtime & vbCrLf
Response.Write "
" Response.Write "" & vbCrLf Dim elementArray elementArray = result.ElementData Response.Write "" & vbCrLf Response.Write "" & vbCrLf ' thisElementsData = elementArray(0).Data ' Set singleStore = thisElementsData(0) For storeContentsIndex =1 To UBound(singleStore.Contents) Response.Write "" & vbCrLf Next Response.Write "
Time" For elementIndex = 0 To UBound(elementArray) Set thisElement = elementArray(elementIndex) thisElementsData = thisElement.Data Response.Write "" & thisElement.ElementName Next Response.Write "
Date" For elementIndex = 0 To UBound(elementArray) Set thisElement = elementArray(elementIndex) thisElementsData = thisElement.Data For elementDataStoresIndex = 0 To UBound(thisElementsData) Set singleStore = thisElementsData(elementDataStoresIndex) Response.Write "" & singleStore.storeName Next Next Response.Write "
" & starttime + storeContentsIndex -1 For elementIndex = 0 To UBound(elementArray) Set thisElement = elementArray(elementIndex) thisElementsData = thisElement.Data Dim dataItem For elementDataStoresIndex = 0 To UBound(thisElementsData) Set singleStore = thisElementsData(elementDataStoresIndex) storeContents = singleStore.Contents dataItem = storeContents(storeContentsIndex) Response.Write "" If dataItem<>missingvalue Then Response.Write Round(dataItem,2) Next Next Response.Write "
" & vbCrLf %>