WriteToWeb - method of the PmaData object
Description:
Sending the values of variables (see the "
Data" tab) of this object to Web server in the
XML format.
Syntax:
Boolean WriteToWeb(String URL, String sParam)
Parameters:
URL | (String)
The URL address of the data Web server where the XML data have to be sent. The PROMOTIC application as the Web server offers the data usually on the path (see the "PmaData > Web server" tab):
http://ComputerName:Port/ComponentId/data.xml
Caution! Beginning of the address ("http:") must be entered! If you want to enter the address of the local computer, then it is possible to enter the localhost word as the ComputerName. The Port needn't be entered if the Web server is on the standard port 80.
The communication also works on secured Web server at address https://... |
sParam | (String) Additional parameters of the transfer. This is the text in the form, for example: "fmt:purevalue;user:NAME1;psw:PASSWORD1;".
fmt (mandatory) - Named format of the sent XML data.
purevalue - Shortened text format containing only the values separated by semicolon. This format can be used for sending values of all variables.
xmlpurevq - A shortened text format containing the values and qualities separated by semicolon. This format is suitable for sending values and qualities of all variables.
full - Extended text XML format containing values and variable names. This format can be used for sending values of selected variables.
psw - Password of the user for the authentication. This parameter is ignored if the user parameter is missing.
vars - List of variables names that are to be transmitted. This parameter can be entered only if the fmt parameter has the value "full". |
---|
Return value:
true - The method successfully
queued the request for sending data to the server. After data transfer the
onEndOfTransfer event is triggered.
false - The method
hasn't queued the request for sending data. Probably the previous request about sending/receiving of this object hasn't been finished yet. The
onEndOfTransfer event is not triggered.
Note:
This method
is not functional for
PmFree.
By the fact that
WriteToWeb method is called over the object, this object is regarded as the
Web client that writes to the component of the Web server, in this case to another but the same configured
PmaData object in another application on the same or another computer.
The method only activates the data transfer but there is no assurance that data are already transferred after ending this method. The data transfer termination is announced by the the
onEndOfTransfer event. During the data transfer (i.e. in the time after calling
WriteToWeb method and before the
onEndOfTransfer event is triggered) the
WriteToWeb nor the
ReadFromWeb method cannot be called over the object again - then the method returns the
false value. By means of the
WebClientIsReady property it can be found out if the object is ready for the next transfer.
Up to the version
Pm8.2.7, the method had two more parameters and the 2nd
sParam parameter had different meaning (2nd parameter was
fmt, 3rd parameter was
user and 4th parameter was
psw). For example
oData.WriteToWeb "http://ComputerName/ComponentId/data.xml", "purevalue", "User", "Password"
This way of calling is considered obsolete (even if is functional).
Example1:
Sending the values of all variables
JavaScriptVBScriptSelect and copy to clipboard
if (oData.WebClientIsReady)
{
oData.WriteToWeb("http://localhost/temperatures/data.xml", "fmt:purevalue;user:oper;psw:abcd;");
}
else
{
Pm.Debug("Web client is not ready (is still active)");
}
If oData.WebClientIsReady Then
oData.WriteToWeb "http://localhost/temperatures/data.xml", "fmt:purevalue;user:oper;psw:abcd;"
Else
Pm.Debug "Web client is not ready (is still active)"
End If
Example2:
Sending the values and qualities of all variables
JavaScriptVBScriptSelect and copy to clipboard
if (oData.WebClientIsReady)
{
oData.WriteToWeb("http://localhost/temperatures/data.xml", "fmt:xmlpurevq;user:oper;psw:abcd;");
}
else
{
Pm.Debug("Web client is not ready (is still active)");
}
If oData.WebClientIsReady Then
oData.WriteToWeb "http://localhost/temperatures/data.xml", "fmt:xmlpurevq;user:oper;psw:abcd;"
Else
Pm.Debug "Web client is not ready (is still active)"
End If
Example3:
Sending the values of selected variables temp1,v3,press
JavaScriptVBScriptSelect and copy to clipboard
if (oData.WebClientIsReady)
{
oData.WriteToWeb("http://localhost/boiler/data.xml", "fmt:full;vars:temp1,v3,press;user:oper;psw:abcd;");
}
else
{
Pm.Debug("Web client is not ready (is still active)");
}
If oData.WebClientIsReady Then
oData.WriteToWeb "http://localhost/boiler/data.xml", "fmt:full;vars:temp1,v3,press;user:oper;psw:abcd;"
Else
Pm.Debug "Web client is not ready (is still active)"
End If
History:
Pm9.00.18: New format of xmlpurevq for sending values and qualities of variables
Pm8.02.14:
Fixed bug: On writing text value the 0 character was added to the end of the text.
Pm8.02.08: Now it is possible to enter which variables are to be transmitted.