%@ LANGUAGE=VBScript ENABLESESSIONSTATE=True %> <% Option Explicit Rem ----------------------------------------------------------------------------------------- Rem - ************************************** IMPORTANT ************************************** Rem - Rem - If you are having problems getting this or other Web Services to work, the most likely Rem - cause is security settings. This Web Service runs in the security context of IIS - in Rem - other words, it does not have many rights. Make sure file permissions on this ASP file, Rem - XDirectory.dll and MSXML2.dll are set to Everyone. Rem - Rem - ************************************** IMPORTANT ************************************** Rem ----------------------------------------------------------------------------------------- Dim strLogFile 'Log file for errors or debug information. Can be a template like "%Y-%m-%d.log" where %Y is 4 digit year, %m is 2 digit month and %d is 2 digit day. This will produce a log file like "2003-12-29.log". Dim boolDebug 'Used to turn debuging on or off. This is a boolean value. Dim strConfigFile 'Path to a directory configuration file. Dim strDirectoryName 'Directory name Dim boolDirectoryBrowseEnabled 'Enable the ablity to browse this Directory. Dim boolDirectorySearchEnabled 'Enabled the ability to search this Directory. You'll need to customize the search feature to meet your CMS needs. Dim strAuthorizationCode 'An authorization code used to restrict access to this Web Service. You get this code from your account on the xstandard.com Web site. Rem ----------------------------------------------------------------------------------------- Rem - ************************* OPTIONAL - CHANGE THESE SETTINGS **************************** Rem ----------------------------------------------------------------------------------------- strLogFile = Server.MapPath("\files") & "\" & Session("OfficePath") & "\" & Session("USER_ID") & "\x%Y-%m-%d.log" ' Or hardcode the path like "C:\XStandard.log" strDirectoryName = "Directory Service" boolDirectoryBrowseEnabled = True boolDirectorySearchEnabled = False strConfigFile = Server.MapPath("directory.config") boolDebug = False strAuthorizationCode = "" Rem ----------------------------------------------------------------------------------------- Rem - ************************* OPTIONAL - CHANGE THESE SETTINGS **************************** Rem ----------------------------------------------------------------------------------------- Rem ----------------------------------------------------------------------------------------- Rem - Purpose: Directory Web Service Rem - Rem - Input: SOAP Rem - Output: SOAP Rem - Rem - Note: This script requires the following dll's to be registered on the server: Rem - - XDirectory.dll - use for processing the SOAP message Rem - - MSXML4.dll - XML parser Rem - Rem - Rem - Copyright (c) 2004 Belus Technology Inc. All rights reserved. Rem ----------------------------------------------------------------------------------------- Rem ----------------------------------------------------------------------------------------- Rem - Declare Rem ----------------------------------------------------------------------------------------- Dim objSOAPServer Rem ----------------------------------------------------------------------------------------- Rem - Initialize Rem ----------------------------------------------------------------------------------------- Set objSOAPServer = Server.CreateObject("XDirectory.SOAPServer") objSOAPServer.LogFile = strLogFile objSOAPServer.Debug = boolDebug objSOAPServer.ConfigFile = strConfigFile objSOAPServer.DirectoryName = strDirectoryName objSOAPServer.DirectoryBrowseEnabled = boolDirectoryBrowseEnabled objSOAPServer.DirectorySearchEnabled = boolDirectorySearchEnabled Rem ----------------------------------------------------------------------------------------- Rem - Process SOAP message Rem ----------------------------------------------------------------------------------------- If Request.ServerVariables("REQUEST_METHOD").Item = "POST" Then 'Check authorization code If Len(strAuthorizationCode) > 0 Then If Len(Request.ServerVariables("HTTP_X_LICENSE_ID").Item) = 0 Then objSOAPServer.RaiseError "No authorization code set. Please contact your System Administrator." Else If Request.ServerVariables("HTTP_X_LICENSE_ID").Item <> strAuthorizationCode Then objSOAPServer.RaiseError "Invalid authorization code. Please contact your System Administrator." End If End If End If 'Process Request objSOAPServer.ProcessRequest Request If Len(CStr(Session("WEBGODLogin"))) = 0 Then If objSOAPServer.GetProperty("lang") = "it" Then objSOAPServer.RaiseError "Non possiedi le autorizzazioni necessarie per utilizzare il servizio." Else objSOAPServer.RaiseError "Please login to use this service." End If End If 'Depending on the request, pass data to the SOAP server If objSOAPServer.Action = "doDirectoryDescribe" Then If boolDirectorySearchEnabled Then Rem ----------------------------------------------------------------------------------------- Rem - ADD CUSTOM CODE HERE Rem - Rem - Use method like: Rem - objSOAPServer.AddSearchFilter sID As String, sLabel As String Rem ----------------------------------------------------------------------------------------- objSOAPServer.AddSearchFilter "", "(no filter)" objSOAPServer.AddSearchFilter "abc", "ABC" objSOAPServer.AddSearchFilter "def", "DEF" objSOAPServer.AddSearchFilter "ghi", "GHI" End If ElseIf objSOAPServer.Action = "doDirectoryBrowse" Then Rem ----------------------------------------------------------------------------------------- Rem - Pass values from HTTP headers to the script engine Rem ----------------------------------------------------------------------------------------- objSOAPServer.SharedLock objSOAPServer.SharedAdd "DocumentID", Request.ServerVariables("HTTP_X_DOCUMENT_ID").Item objSOAPServer.SharedAdd "UserID", Request.ServerVariables("HTTP_X_USER_ID").Item objSOAPServer.SharedAdd "SessionID", Request.ServerVariables("HTTP_X_SESSION_ID").Item objSOAPServer.SharedAdd "TransactionID", Request.ServerVariables("HTTP_X_TRANSACTION_ID").Item objSOAPServer.SharedAdd "ClientID", Request.ServerVariables("HTTP_X_CLIENT_ID").Item objSOAPServer.SharedAdd "InstanceID", Request.ServerVariables("HTTP_X_INSTANCE_ID").Item objSOAPServer.SharedAdd "TagID", Request.ServerVariables("HTTP_X_TAG_ID").Item objSOAPServer.SharedAdd "ZoneID", Request.ServerVariables("HTTP_X_ZONE_ID").Item objSOAPServer.SharedAdd "ProjectID", Request.ServerVariables("HTTP_X_PROJECT_ID").Item objSOAPServer.SharedAdd "AreaID", Request.ServerVariables("HTTP_X_AREA_ID").Item objSOAPServer.SharedAdd "GroupID", Request.ServerVariables("HTTP_X_GROUP_ID").Item objSOAPServer.SharedAdd "ParentID", Request.ServerVariables("HTTP_X_PARENT_ID").Item objSOAPServer.SharedAdd "ContainerID", Request.ServerVariables("HTTP_X_CONTAINER_ID").Item objSOAPServer.SharedAdd "ObjectID", Request.ServerVariables("HTTP_X_OBJECT_ID").Item objSOAPServer.SharedAdd "DBWEB_PATH", Application("DBWEB_PATH") objSOAPServer.SharedAdd "LANG", Session("Language") objSOAPServer.SharedAdd "XS_DOC", Session("XS_DOC") objSOAPServer.SharedAdd "XS_CAT", Session("XS_CAT") objSOAPServer.SharedAdd "XS_COM", Session("XS_COM") objSOAPServer.SharedAdd "XS_UFF", Session("XS_UFF") objSOAPServer.SharedAdd "XS_SIM", Session("XS_SIM") objSOAPServer.SharedUnlock ElseIf objSOAPServer.Action = "doDirectorySearch" Then Dim strSearchFor 'This will contain the search for expression Dim strFilterBy 'This will contain the filter by expression strSearchFor = objSOAPServer.GetProperty("searchFor") strFilterBy = objSOAPServer.GetProperty("filterBy") Rem ----------------------------------------------------------------------------------------- Rem - ADD CUSTOM CODE HERE Rem - Use method like: Rem - objSOAPServer.AddObject sName As String, sData As String Rem - objSOAPServer.AddObject sName As String, sData As String, sIcon As String Rem ----------------------------------------------------------------------------------------- objSOAPServer.AddObject "Test 1", "
Hello World!
" objSOAPServer.AddObject "Test 2", "Hello World!
" objSOAPServer.AddObject "Test 3", "Hello World!
" objSOAPServer.AddObject "Test 4", "Hello World!
" objSOAPServer.AddObject "Test 5", "Hello World!
" objSOAPServer.AddObject "Test 6", "Hello World!
" objSOAPServer.AddObject "Test 7", "Hello World!
" objSOAPServer.AddObject "Test 8", "Hello World!
" objSOAPServer.AddObject "Test 9", "Hello World!
" objSOAPServer.AddObject "Test 10", "Hello World!
" objSOAPServer.AddObject "Test 11", "Hello World!
" objSOAPServer.AddObject "Test 12", "Hello World!
" objSOAPServer.AddObject "Test 13", "Hello World!
" objSOAPServer.AddObject "Test 14", "Hello World!
" objSOAPServer.AddObject "Test 15", "Hello World!
" objSOAPServer.AddObject "Test 16", "Hello World!
" objSOAPServer.AddObject "Test 17", "Hello World!
" objSOAPServer.AddObject "Test 18", "Hello World!
" End If 'Process Response objSOAPServer.ProcessResponse Response Else Response.ContentType = "text/plain" Response.AddHeader "content-disposition", "inline; filename=xstandard.txt" If objSOAPServer.Test() Then Response.Write "Status: Ready" Else Response.Write "Status: Error - " & objSOAPServer.ErrorMessage End If End If Rem ----------------------------------------------------------------------------------------- Rem - Clean up Rem ----------------------------------------------------------------------------------------- Set objSOAPServer = Nothing %>