Usage:
OBJECT x = CREATE "dynamic", "soap"
If an application wishes to use the SOAP server object then it should load it once and keep it loaded. Loading it each time it is used is very inefficient.
The writeToString method as implemented in KCML 6.20 has a memory leak. See the notes on the method on how to avoid it.
SOAP server object
Allows a KCML program to act as a SOAP server. Allows the marked DEFSUBs to be called RPC style via a SOAP client.| Method | Returns | Purpose |
|---|---|---|
| CreateDefinition(lpcszFilename$) | int | Create WSDL file based on program. |
| GetHTTPHeader$(sName$) | string | Get HTTP Header |
| GetInterface(sName$) | Interface | Returns the interface that exactly matches the given name |
| GetLastError() | int | Return the last error. |
| GetLastErrorString$() | string | Return the last error string. |
| GetMethodRequest$() | string | Get the current SOAP request when inside a method hook routine. |
| GetMethodResponse$() | string | Get the response from a SOAP method when inside a post-method hook routine. |
| GetRequestHeader$() | string | Get the current SOAP request header. |
| GetUsername$() | string | Return the current user from HTTP header. |
| Listen(iPort) | int | Start a local SOAP server for debugging purposes. |
| OpenDefinition(lpcszFilename$, bCreate) | int | Use given WSDL file. |
| ProcessRequests() | int | Enter loop processing incoming SOAP requests. |
| ProcessRequestsDebug(iPort) | int | Start a local SOAP server for debugging purposes. |
| SetHTTPHeader(sName$, sValue$) | void | Set HTTP Header |
| SetMethodCallBack(MethodHookFn, pSym) | void | Set a callback DEFSUB to be executed before a SOAP method. |
| SetResponseHeader(sHeader$) | void | Set the SOAP response header. |
| Property | Type | Returns | Purpose |
|---|---|---|---|
| Timeout | RW | int | Set/get timeout on requests and connections. This is given in milliseconds. |
SOAP interface object
Each DEFSUB can be a member of several interfaces. Each interface can have a different namespace and endpoint.| Property | Type | Returns | Purpose |
|---|---|---|---|
| Endpoint$ | RW | string | Set/Get endpoint for interface. |
| Name$ | R | string | Get name for interface. |
| Namespace$ | RW | string | Set/Get namespace for interface. |