									      >
									      >
                   V. A.  C R O S S  R E F E R E N C E R  7.3			                                             V. A.  C R O S S  R E F E R E N 
                     [5/5/2016 VA Standards & Conventions]		      |	                                                 [2008 VA Standards & Convent
              UCI: FOIA201802 CPU: ICARUS    Mar 13, 2018@10:55:07	      |	                                             UCI: PLA CPU: ROU    Apr 10, 201

The selected file Data Dictionaries are being processed.		      |	The BUILD file Data Dictionaries are being processed.

18.02 WEB SERVICE......								18.02 WEB SERVICE......
18.022 WSDL..									18.022 WSDL..
18.12 WEB SERVER...........							18.12 WEB SERVER...........
18.121 AUTHORIZED WEB SERVICES.....						18.121 AUTHORIZED WEB SERVICES.....
18.13 WEB SERVER LOOKUP KEY...							18.13 WEB SERVER LOOKUP KEY...
The option and function files are being processed.				The option and function files are being processed.

Processing Input Templates						      <
									      <
Processing Input Templates						      <
									      <
Processing Input Templates						      <
									      <
Processing List Templates						      <
									      <
Processing List Templates						      <
									      <
Processing List Templates						      <
									      <
Processing List Templates						      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <
Processing Protocols							      <
									      <

Routines are being processed.							Routines are being processed.
Routines: 17  Faux Routines: 9						      |	Routines: 17  Faux Routines: 6

XOBWD     XOBWENV   XOBWLIB   XOBWLIB1  XOBWP004  XOBWPA04  XOBWPB04  XOBWPST |	XOBWD     XOBWENV   XOBWLIB   XOBWLIB1  XOBWP004  XOBWPA04  XOBWPB04  XOBWPST
XOBWPWD   XOBWSSL   XOBWU     XOBWU1    XOBWUA    XOBWUA1   XOBWUS    XOBWUS1 |	XOBWUA1   XOBWUS    XOBWUS1   XOBWUS2   
XOBWUS2   								      <

          Data Dictionaries							          Data Dictionaries
|dd18.02       |dd18.022      |dd18.12       |dd18.121      |dd18.13          |	|dd18.02       |dd18.022      |dd18.12       |dd18.121      |dd18.13       |o
|inpt          |list          |opt           |ptcl          		      <

--- CROSS REFERENCING ---							--- CROSS REFERENCING ---
										
										
									      >	Compiled list of Errors and Warnings                                         

Compiled list of Errors and Warnings              Mar 13, 2018@10:55:07 page  |	XOBWD    * *  175 Lines,  6899 Bytes, Checksum: B38463620
									      >	   %objlasterrorS - Lower/Mixed case Variable name used.

XOBWP004        * *  128 Lines,  4580 Bytes, Checksum: B25852913	      |	XOBWLIB1 * *  170 Lines,  6102 Bytes, Checksum: B32808293
									      >	   %objlasterrorS - Lower/Mixed case Variable name used.
									      >
									      >	XOBWP004 * *  128 Lines,  4586 Bytes, Checksum: B25895972
         I ($ROLES["%All")!($ROLES["%Manager") D SSLCONF Q			         I ($ROLES["%All")!($ROLES["%Manager") D SSLCONF Q
   CHECK+2      F - Undefined Special Variable.					   CHECK+2      F - Undefined Special Variable.
   CHECK+2      F - Undefined Special Variable.					   CHECK+2      F - Undefined Special Variable.
         .N $NAMESPACE ;Push current namespace onto the stack			         .N $NAMESPACE ;Push current namespace onto the stack
   EXISTS+5     F - Undefined Special Variable.					   EXISTS+5     F - Undefined Special Variable.
   EXISTS+5     W - Invalid local variable name.				   EXISTS+5     W - Invalid local variable name.
   EXISTS+5     F - Undefined Special Variable.					   EXISTS+5     F - Undefined Special Variable.
         .S $NAMESPACE="%SYS" ;Change namespace, revert back upon "Q"		         .S $NAMESPACE="%SYS" ;Change namespace, revert back upon "Q"
   EXISTS+6     F - Undefined Special Variable.					   EXISTS+6     F - Undefined Special Variable.
   EXISTS+6     F - Unrecognized argument in SET command.			   EXISTS+6     F - Unrecognized argument in SET command.
									      >	         .S XOBEXSTS=##class(Security.SSLConfigs).Get(XOBNAME,.XOBPROP)
									      >	   EXISTS+8     F - Cache Object doesn't exist.
         .N $NAMESPACE ;Push current namespace onto the stack			         .N $NAMESPACE ;Push current namespace onto the stack
   CRSSL+6      F - Undefined Special Variable.					   CRSSL+6      F - Undefined Special Variable.
   CRSSL+6      W - Invalid local variable name.				   CRSSL+6      W - Invalid local variable name.
   CRSSL+6      F - Undefined Special Variable.					   CRSSL+6      F - Undefined Special Variable.
         .S $NAMESPACE="%SYS" ;Change namespace, revert back upon "Q"		         .S $NAMESPACE="%SYS" ;Change namespace, revert back upon "Q"
   CRSSL+7      F - Undefined Special Variable.					   CRSSL+7      F - Undefined Special Variable.
   CRSSL+7      F - Unrecognized argument in SET command.			   CRSSL+7      F - Unrecognized argument in SET command.
									      >	         .S XOBCONFG=##class(Security.SSLConfigs).%New()
									      >	   CRSSL+11     F - Cache Object doesn't exist.
									      >	         .S XOBSTAT2=##class(Security.SSLConfigs).Get(XOBNAME,.XOBPROP)
									      >	   CRSSL+14     F - Cache Object doesn't exist.
         .N $NAMESPACE ;Push current namespace onto the stack			         .N $NAMESPACE ;Push current namespace onto the stack
   DELETE+5     F - Undefined Special Variable.					   DELETE+5     F - Undefined Special Variable.
   DELETE+5     W - Invalid local variable name.				   DELETE+5     W - Invalid local variable name.
   DELETE+5     F - Undefined Special Variable.					   DELETE+5     F - Undefined Special Variable.
         .S $NAMESPACE="%SYS" ;Change namespace, revert back upon "Q"		         .S $NAMESPACE="%SYS" ;Change namespace, revert back upon "Q"
   DELETE+6     F - Undefined Special Variable.					   DELETE+6     F - Undefined Special Variable.
   DELETE+6     F - Unrecognized argument in SET command.			   DELETE+6     F - Unrecognized argument in SET command.
									      >	         .S XOBSTAT=##class(Security.SSLConfigs).Delete(XOBNAME)
									      >	   DELETE+8     F - Cache Object doesn't exist.
									      >
									      >	XOBWSSL  * *  75 Lines,  3600 Bytes, Checksum: B17552025
									      >	         . SET CFG=##class(%Net.SSL.Configuration).%OpenId(RS.Data("ID"))
									      >	   GETCFG+7     F - Cache Object doesn't exist.

XOBWU        * *  129 Lines,  2993 Bytes, Checksum: B8679055			XOBWU    * *  129 Lines,  2993 Bytes, Checksum: B8679055
   WST+2        F - Reference to routine '^XOBTWU'. That isn't in this UCI.	   WST+2        F - Reference to routine '^XOBTWU'. That isn't in this UCI.

|ptcl        * *  420 Lines,  11930 Bytes, Checksum: 			      |	--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---
										XOBWD   6899     printed  Apr 10, 2018@18:46:17                              
   4425+5       F - Reference to routine '^XOBTPST'. That isn't in this UCI.  <
									      <
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---		      <
									      <
XOBWD   6899     printed  Mar 13, 2018@10:55:07                        Page 2 <

XOBWD     ;ALB/MJK - HWSC :: Private Deployment APIs ; 09/13/10 4:00pm		XOBWD     ;ALB/MJK - HWSC :: Private Deployment APIs ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
GENPORT(XOBY) ; -- generate http port class from WSDL during install		GENPORT(XOBY) ; -- generate http port class from WSDL during install
 +1        NEW XOBSTAT,XOBWSDL							 +1        NEW XOBSTAT,XOBWSDL
 +2        SET XOBWSDL=$GET(XOBY("WSDL FILE"))					 +2        SET XOBWSDL=$GET(XOBY("WSDL FILE"))
 +3       ;									 +3       ;
 +4        IF ##class(%File).Exists(XOBWSDL)					 +4        IF ##class(%File).Exists(XOBWSDL)
               Begin DoDot:1							               Begin DoDot:1
 +5                SET XOBSTAT=$$ADDPROXY(.XOBY)				 +5                SET XOBSTAT=$$ADDPROXY(.XOBY)
               End DoDot:1							               End DoDot:1
 +6       IF '$TEST								 +6       IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +7                SET XOBSTAT="0^File does not exist ["_XOBWSDL_"]"		 +7                SET XOBSTAT="0^File does not exist ["_XOBWSDL_"]"
               End DoDot:1							               End DoDot:1
 +8        QUIT XOBSTAT								 +8        QUIT XOBSTAT
 +9       ;									 +9       ;
ADDPROXY(XOBY) ; -- create client proxy class					ADDPROXY(XOBY) ; -- create client proxy class
 +1        NEW XOBREADR,XOBSTAT,XOBINFO,XOBCLASS,XOBCXT,I,X,XOBLERR,XOBWSDL,X	 +1        NEW XOBREADR,XOBSTAT,XOBINFO,XOBCLASS,XOBCXT,I,X,XOBLERR,XOBWSDL,X
 +2       ;									 +2       ;
 +3        SET XOBWSDL=$GET(XOBY("WSDL FILE"))					 +3        SET XOBWSDL=$GET(XOBY("WSDL FILE"))
 +4        SET XOBPKG=$GET(XOBY("CACHE PACKAGE NAME"))				 +4        SET XOBPKG=$GET(XOBY("CACHE PACKAGE NAME"))
 +5        SET XOBWSN=$GET(XOBY("WEB SERVICE NAME"))				 +5        SET XOBWSN=$GET(XOBY("WEB SERVICE NAME"))
 +6        SET XOBWAV=$GET(XOBY("AVAILABILITY RESOURCE"))			 +6        SET XOBWAV=$GET(XOBY("AVAILABILITY RESOURCE"))
 +7       ;									 +7       ;
 +8        SET XOBINFO=##class(xobw.WsdlHandler).getInfoFromFile(XOBWSDL)	 +8        SET XOBINFO=##class(xobw.WsdlHandler).getInfoFromFile(XOBWSDL)
 +9        IF XOBINFO=""							 +9        IF XOBINFO=""
               QUIT "0^Unable to parse WSDL file ["_XOBWSDL_"]"			               QUIT "0^Unable to parse WSDL file ["_XOBWSDL_"]"
 +10       IF $GET(XOBPKG)=""							 +10       IF $GET(XOBPKG)=""
               NEW XOBPKG							               NEW XOBPKG

*** ERROR ***									*** ERROR ***
               SET XOBPKG=$LISTGET(XOBINFO,1)					               SET XOBPKG=$LISTGET(XOBINFO,1)
 +11 										 +11 
*** ERROR ***									*** ERROR ***
           SET XOBCLASS=XOBPKG_"."_$LISTGET(XOBINFO,2)				           SET XOBCLASS=XOBPKG_"."_$LISTGET(XOBINFO,2)
 +12 										 +12 
*** ERROR ***									*** ERROR ***
           SET XOBCXT=$LISTGET(XOBINFO,3)					           SET XOBCXT=$LISTGET(XOBINFO,3)
 +13      ;									 +13      ;
 +14       SET XOBREADR=##class(%SOAP.WSDL.Reader).%New()			 +14       SET XOBREADR=##class(%SOAP.WSDL.Reader).%New()
 +15       SET XOBREADR.OutputTypeAttribute=1					 +15       SET XOBREADR.OutputTypeAttribute=1
 +16       SET XOBSTAT=XOBREADR.Process(XOBWSDL,XOBPKG)				 +16       SET XOBSTAT=XOBREADR.Process(XOBWSDL,XOBPKG)
 +17       IF XOBSTAT								 +17       IF XOBSTAT
               Begin DoDot:1							               Begin DoDot:1
 +18               DO REGSOAP^XOBWLIB(XOBWSN,XOBCXT,XOBCLASS,XOBWSDL,XOBWAV)	 +18               DO REGSOAP^XOBWLIB(XOBWSN,XOBCXT,XOBCLASS,XOBWSDL,XOBWAV)
               End DoDot:1							               End DoDot:1
 +19      IF '$TEST								 +19      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +20 										 +20 
*** ERROR ***									*** ERROR ***
                   DO $system.Status.DecomposeStatus(%objlasterror,.XOBLERR)	                   DO $system.Status.DecomposeStatus(%objlasterror,.XOBLERR)
 +21               SET X=""							 +21               SET X=""
                   FOR I=1:1:XOBLERR						                   FOR I=1:1:XOBLERR
                       SET X=X_XOBLERR(I)					                       SET X=X_XOBLERR(I)
 +22               SET XOBSTAT="0^"_X						 +22               SET XOBSTAT="0^"_X
               End DoDot:1							               End DoDot:1
 +23      ;									 +23      ;
 +24       QUIT XOBSTAT								 +24       QUIT XOBSTAT
 +25      ;									 +25      ;
REGISTER(XOBWSN,XOBTYPE,XOBCXT,XOBCLASS,XOBWSDL,XOBCAURL) ; -- register SOAP 	REGISTER(XOBWSN,XOBTYPE,XOBCXT,XOBCLASS,XOBWSDL,XOBCAURL) ; -- register SOAP 
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   web service name					 +2       ;    XOBWSN    -   web service name
 +3       ;    XOBTYPE   -   type of web service [ 1 - SOAP | 2 - REST ]	 +3       ;    XOBTYPE   -   type of web service [ 1 - SOAP | 2 - REST ]
 +4       ;    XOBCXT    -   web service context root				 +4       ;    XOBCXT    -   web service context root
 +5       ;    XOBCLASS  -   full class name, including package			 +5       ;    XOBCLASS  -   full class name, including package
 +6       ;    XOBWSDL   -   file path containing WSDL document			 +6       ;    XOBWSDL   -   file path containing WSDL document
 +7       ;    XOBCAURL  -   'check availability' url portion to follow conte	 +7       ;    XOBCAURL  -   'check availability' url portion to follow conte
 +8       ;									 +8       ;
 +9        NEW XOBCDEF,XOBOK,XOBCHK					      |	 +9 
										XOBWD   6899     printed  Apr 10, 2018@18:46:17                              
									      >
									      >	           NEW XOBCDEF,XOBOK,XOBCHK
 +10       SET XOBCHK=$$CHKTYPE(XOBWSN,XOBTYPE)					 +10       SET XOBCHK=$$CHKTYPE(XOBWSN,XOBTYPE)
           IF '+XOBCHK								           IF '+XOBCHK
               Begin DoDot:1							               Begin DoDot:1
 +11               DO BMES^XPDUTL(" o  Type mismatch: attempted "_$SELECT(XOB	 +11               DO BMES^XPDUTL(" o  Type mismatch: attempted "_$SELECT(XOB
               End DoDot:1							               End DoDot:1
               QUIT 								               QUIT 
 +12       IF XOBTYPE=1								 +12       IF XOBTYPE=1
               Begin DoDot:1							               Begin DoDot:1
 +13               SET XOBCDEF=##class(%Dictionary.ClassDefinition).%OpenId(X	 +13               SET XOBCDEF=##class(%Dictionary.ClassDefinition).%OpenId(X
 +14      ; -- perform check to see if port class creation matches what was e	 +14      ; -- perform check to see if port class creation matches what was e
 +15               IF XOBCDEF=""						 +15               IF XOBCDEF=""
                       DO BMES^XPDUTL(" o  Creating the class definition for 	                       DO BMES^XPDUTL(" o  Creating the class definition for 
               End DoDot:1							               End DoDot:1
               if XOBCDEF=""						      |	               IF XOBCDEF=""
                   QUIT 							                   QUIT 
 +16      ;									 +16      ;
 +17      ; -- add entry into table						 +17      ; -- add entry into table
 +18       SET XOBOK=$$FILE(XOBWSN,XOBTYPE,XOBCXT,.XOBCLASS,.XOBWSDL,.XOBCAUR	 +18       SET XOBOK=$$FILE(XOBWSN,XOBTYPE,XOBCXT,.XOBCLASS,.XOBWSDL,.XOBCAUR
 +19       DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' addition/update "_$SEL	 +19       DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' addition/update "_$SEL
 +20       DO MES^XPDUTL(" ")							 +20       DO MES^XPDUTL(" ")
 +21       QUIT 								 +21       QUIT 
 +22      ;									 +22      ;
UNREG(XOBWSN) ; -- unregister and delete web service				UNREG(XOBWSN) ; -- unregister and delete web service
 +1        NEW DIK,XOBSRVDA,XOBMULDA,XOBDA,XOBSRVNM,DA				 +1        NEW DIK,XOBSRVDA,XOBMULDA,XOBDA,XOBSRVNM,DA
 +2        SET XOBDA=$ORDER(^XOB(18.02,"B",XOBWSN,0))				 +2        SET XOBDA=$ORDER(^XOB(18.02,"B",XOBWSN,0))
           IF '+XOBDA								           IF '+XOBDA
               Begin DoDot:1							               Begin DoDot:1
 +3                DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' not found for 	 +3                DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' not found for 
               End DoDot:1							               End DoDot:1
               QUIT 								               QUIT 
 +4       ; delete from web servers' authorized multiple			 +4       ; delete from web servers' authorized multiple
 +5        SET XOBSRVDA=0							 +5        SET XOBSRVDA=0
           SET XOBMULDA=0							           SET XOBMULDA=0
 +6        FOR 									 +6        FOR 
               SET XOBSRVDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBSRVDA))		               SET XOBSRVDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBSRVDA))
               if '+XOBSRVDA						      |	               IF '+XOBSRVDA
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +7                FOR 								 +7                FOR 
                       SET XOBMULDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBSRVDA,XOB	                       SET XOBMULDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBSRVDA,XOB
                       if '+XOBMULDA					      |	                       IF '+XOBMULDA
                           QUIT 						                           QUIT 
                       Begin DoDot:2						                       Begin DoDot:2
 +8                        SET XOBSRVNM=$PIECE($GET(^XOB(18.12,XOBSRVDA,0)),U	 +8                        SET XOBSRVNM=$PIECE($GET(^XOB(18.12,XOBSRVDA,0)),U
 +9                        KILL DIK,DA						 +9                        KILL DIK,DA
                           SET DA=XOBMULDA					                           SET DA=XOBMULDA
                           SET DA(1)=XOBSRVDA					                           SET DA(1)=XOBSRVDA
                           SET DIK="^XOB(18.12,"_DA(1)_",100,"			                           SET DIK="^XOB(18.12,"_DA(1)_",100,"
 +10                       DO ^DIK						 +10                       DO ^DIK
 +11                       DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' unauth	 +11                       DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' unauth
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +12      ; delete web service							 +12      ; delete web service
 +13       KILL DIK,DA								 +13       KILL DIK,DA
           SET DA=XOBDA								           SET DA=XOBDA
           SET DIK="^XOB(18.02,"						           SET DIK="^XOB(18.02,"
           DO ^DIK								           DO ^DIK
 +14       DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' unregistered/deleted."	 +14       DO MES^XPDUTL(" o  WEB SERVICE '"_XOBWSN_"' unregistered/deleted."
 +15       QUIT 								 +15       QUIT 
 +16      ;									 +16      ;
CHKTYPE(XOBWSN,XOBTYPE) ; return 1 if no svc, or right type; 0^existing type 	CHKTYPE(XOBWSN,XOBTYPE) ; return 1 if no svc, or right type; 0^existing type 
 +1        NEW XOBIEN							      |	 +1 
										XOBWD   6899     printed  Apr 10, 2018@18:46:17                              
									      >
									      >	           NEW XOBIEN
 +2        SET XOBIEN=+$$FIND1^DIC(18.02,"","BX",XOBWSN,"","","")		 +2        SET XOBIEN=+$$FIND1^DIC(18.02,"","BX",XOBWSN,"","","")
 +3        IF XOBIEN								 +3        IF XOBIEN
               IF XOBTYPE'=$PIECE(^XOB(18.02,XOBIEN,0),"^",2)			               IF XOBTYPE'=$PIECE(^XOB(18.02,XOBIEN,0),"^",2)
                   QUIT 0_"^"_$PIECE(^XOB(18.02,XOBIEN,0),"^",2)		                   QUIT 0_"^"_$PIECE(^XOB(18.02,XOBIEN,0),"^",2)
 +4        QUIT 1								 +4        QUIT 1
 +5       ;									 +5       ;
FILE(XOBWSN,XOBTYPE,XOBCXT,XOBCLASS,XOBWSDL,XOBCAURL) ;-- File a new record i	FILE(XOBWSN,XOBTYPE,XOBCXT,XOBCLASS,XOBWSDL,XOBCAURL) ;-- File a new record i
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   web service name					 +2       ;    XOBWSN    -   web service name
 +3       ;    XOBTYPE   -   type of web service [ 1 - SOAP | 2 -REST ]		 +3       ;    XOBTYPE   -   type of web service [ 1 - SOAP | 2 -REST ]
 +4       ;    XOBCXT    -   web service context root				 +4       ;    XOBCXT    -   web service context root
 +5       ;    XOBCLASS  -   full class name, including package			 +5       ;    XOBCLASS  -   full class name, including package
 +6       ;    XOBWSDL   -   file path containing WSDL document			 +6       ;    XOBWSDL   -   file path containing WSDL document
 +7       ;    XOBCAURL  -   'check availability' url portion to follow conte	 +7       ;    XOBCAURL  -   'check availability' url portion to follow conte
 +8       ;									 +8       ;
 +9       ; Output:								 +9       ; Output:
 +10      ;    Function Value - Returns IEN of record on success, 0 on failur	 +10      ;    Function Value - Returns IEN of record on success, 0 on failur
 +11      ;									 +11      ;
 +12       NEW XOBFDA,XOBFDAI,XOBERR,XOBIENS,XOBIEN,DIERR			 +12       NEW XOBFDA,XOBFDAI,XOBERR,XOBIENS,XOBIEN,DIERR
 +13      ;									 +13      ;
 +14       SET XOBIEN=+$$FIND1^DIC(18.02,"","BX",XOBWSN,"","","")		 +14       SET XOBIEN=+$$FIND1^DIC(18.02,"","BX",XOBWSN,"","","")
 +15      ;									 +15      ;
 +16      ; -- If record doesn't already exist, create new			 +16      ; -- If record doesn't already exist, create new
 +17       IF XOBIEN								 +17       IF XOBIEN
               SET XOBIENS=XOBIEN_","						               SET XOBIENS=XOBIEN_","
 +18      IF '$TEST								 +18      IF '$TEST
               SET XOBIENS="+1,"						               SET XOBIENS="+1,"
 +19      ;									 +19      ;
 +20      ; -- validate values ; quit if not valid				 +20      ; -- validate values ; quit if not valid
 +21       IF '$$VALIDATE()							 +21       IF '$$VALIDATE()
               QUIT 0								               QUIT 0
 +22      ;									 +22      ;
 +23      ; -- Set up array with field values					 +23      ; -- Set up array with field values
 +24       SET XOBFDA(18.02,XOBIENS,.01)=$GET(XOBWSN)				 +24       SET XOBFDA(18.02,XOBIENS,.01)=$GET(XOBWSN)
 +25       SET XOBFDA(18.02,XOBIENS,.02)=$GET(XOBTYPE)				 +25       SET XOBFDA(18.02,XOBIENS,.02)=$GET(XOBTYPE)
 +26       SET XOBFDA(18.02,XOBIENS,.03)=$$NOW^XLFDT				 +26       SET XOBFDA(18.02,XOBIENS,.03)=$$NOW^XLFDT
 +27       SET XOBFDA(18.02,XOBIENS,100)=$GET(XOBCLASS)				 +27       SET XOBFDA(18.02,XOBIENS,100)=$GET(XOBCLASS)
 +28       SET XOBFDA(18.02,XOBIENS,200)=$GET(XOBCXT)				 +28       SET XOBFDA(18.02,XOBIENS,200)=$GET(XOBCXT)
 +29       SET XOBFDA(18.02,XOBIENS,201)=$GET(XOBCAURL)				 +29       SET XOBFDA(18.02,XOBIENS,201)=$GET(XOBCAURL)
 +30      ;									 +30      ;
 +31       IF XOBIEN								 +31       IF XOBIEN
               Begin DoDot:1							               Begin DoDot:1
 +32               DO FILE^DIE("","XOBFDA","XOBERR")				 +32               DO FILE^DIE("","XOBFDA","XOBERR")
 +33               IF $DATA(DIERR)						 +33               IF $DATA(DIERR)
                       Begin DoDot:2						                       Begin DoDot:2
 +34                       DO DISPERR($NAME(XOBERR))				 +34                       DO DISPERR($NAME(XOBERR))
 +35                       SET XOBIEN=0						 +35                       SET XOBIEN=0
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +36      IF '$TEST								 +36      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +37               DO UPDATE^DIE("","XOBFDA","XOBFDAI","XOBERR")		 +37               DO UPDATE^DIE("","XOBFDA","XOBFDAI","XOBERR")
 +38               IF $DATA(DIERR)						 +38               IF $DATA(DIERR)
                       Begin DoDot:2						                       Begin DoDot:2
 +39                       DO DISPERR($NAME(XOBERR))				 +39                       DO DISPERR($NAME(XOBERR))
 +40                       SET XOBIEN=0						 +40                       SET XOBIEN=0
                       End DoDot:2						                       End DoDot:2
 +41              IF '$TEST							 +41              IF '$TEST
                       Begin DoDot:2						                       Begin DoDot:2
 +42                       SET XOBIEN=$GET(XOBFDAI(1))				 +42                       SET XOBIEN=$GET(XOBFDAI(1))
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +43      ;									 +43      ;
 +44      ; -- add copy of WSDL to a SOAP-type entry				 +44      ; -- add copy of WSDL to a SOAP-type entry
 +45       IF XOBIEN							      |	 +45 
										XOBWD   6899     printed  Apr 10, 2018@18:46:17                              
									      >
									      >	           IF XOBIEN
               IF $GET(XOBWSDL)]""						               IF $GET(XOBWSDL)]""
                   DO WSDL(.XOBWSDL,.XOBIEN)					                   DO WSDL(.XOBWSDL,.XOBIEN)
 +46      ;									 +46      ;
 +47       QUIT $SELECT($GET(XOBIEN)>0:XOBIEN,1:0)				 +47       QUIT $SELECT($GET(XOBIEN)>0:XOBIEN,1:0)
 +48      ;									 +48      ;
VALIDATE() ; -- validate values of input variables				VALIDATE() ; -- validate values of input variables
 +1        NEW XOBY,XOBERR,XOBOK						 +1        NEW XOBY,XOBERR,XOBOK
 +2        SET XOBOK=1								 +2        SET XOBOK=1
 +3        DO VAL^DIE(18.02,XOBIENS,.01,"",$GET(XOBWSN),.XOBY,"","XOBERR")	 +3        DO VAL^DIE(18.02,XOBIENS,.01,"",$GET(XOBWSN),.XOBY,"","XOBERR")
           DO CHK								           DO CHK
 +4        DO VAL^DIE(18.02,XOBIENS,.02,"",$GET(XOBTYPE),.XOBY,"","XOBERR")	 +4        DO VAL^DIE(18.02,XOBIENS,.02,"",$GET(XOBTYPE),.XOBY,"","XOBERR")
           DO CHK								           DO CHK
 +5        DO VAL^DIE(18.02,XOBIENS,100,"",$GET(XOBCLASS),.XOBY,"","XOBERR")	 +5        DO VAL^DIE(18.02,XOBIENS,100,"",$GET(XOBCLASS),.XOBY,"","XOBERR")
           DO CHK								           DO CHK
 +6        DO VAL^DIE(18.02,XOBIENS,200,"",$GET(XOBCXT),.XOBY,"","XOBERR")	 +6        DO VAL^DIE(18.02,XOBIENS,200,"",$GET(XOBCXT),.XOBY,"","XOBERR")
           DO CHK								           DO CHK
 +7       ; -- work around for FM DBS bug that does not allow input to start 	 +7       ; -- work around for FM DBS bug that does not allow input to start 
 +8        IF $EXTRACT($GET(XOBCAURL))'="?"					 +8        IF $EXTRACT($GET(XOBCAURL))'="?"
               Begin DoDot:1							               Begin DoDot:1
 +9                DO VAL^DIE(18.02,XOBIENS,201,"",$GET(XOBCAURL),.XOBY,"","X	 +9                DO VAL^DIE(18.02,XOBIENS,201,"",$GET(XOBCAURL),.XOBY,"","X
                   DO CHK							                   DO CHK
               End DoDot:1							               End DoDot:1
 +10       QUIT XOBOK								 +10       QUIT XOBOK
 +11      ;									 +11      ;
CHK       ;									CHK       ;
 +1        IF $GET(XOBY)="^"							 +1        IF $GET(XOBY)="^"
               Begin DoDot:1							               Begin DoDot:1
 +2                SET XOBOK=0							 +2                SET XOBOK=0
 +3                DO DISPERR("XOBERR")						 +3                DO DISPERR("XOBERR")
               End DoDot:1							               End DoDot:1
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
DISPERR(XOBINARR) ; -- display error message					DISPERR(XOBINARR) ; -- display error message
 +1        NEW XOBOUT,XOBI,XOBX							 +1        NEW XOBOUT,XOBI,XOBX
 +2        DO MES^XPDUTL("FM Database Server Error Information:")		 +2        DO MES^XPDUTL("FM Database Server Error Information:")
 +3        DO MSG^DIALOG("AE",.XOBOUT,70,"",XOBINARR)				 +3        DO MSG^DIALOG("AE",.XOBOUT,70,"",XOBINARR)
 +4        FOR XOBI=1:1								 +4        FOR XOBI=1:1
               if $DATA(XOBOUT(XOBI))=0					      |	               IF $DATA(XOBOUT(XOBI))=0
                   QUIT 							                   QUIT 
               DO MES^XPDUTL($GET(XOBOUT(XOBI)))				               DO MES^XPDUTL($GET(XOBOUT(XOBI)))
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
WSDL(XOBWSDL,XOBIEN) ; -- file copy of WSDL					WSDL(XOBWSDL,XOBIEN) ; -- file copy of WSDL
 +1        NEW XOBSTRM,XOBROOT,XOBI,XOBERR,DIERR				 +1        NEW XOBSTRM,XOBROOT,XOBI,XOBERR,DIERR
 +2        SET XOBROOT=$NAME(^TMP("XOBW WSDL FILING",$JOB))			 +2        SET XOBROOT=$NAME(^TMP("XOBW WSDL FILING",$JOB))
 +3        SET XOBI=0								 +3        SET XOBI=0
 +4        SET XOBSTRM=##class(%FileCharacterStream).%New()			 +4        SET XOBSTRM=##class(%FileCharacterStream).%New()
 +5        SET XOBSTRM.Filename=$GET(XOBWSDL)					 +5        SET XOBSTRM.Filename=$GET(XOBWSDL)
 +6        FOR 									 +6        FOR 
               if XOBSTRM.AtEnd						      |	               IF XOBSTRM.AtEnd
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +7                SET XOBI=XOBI+1						 +7                SET XOBI=XOBI+1
 +8                SET @XOBROOT@(XOBI)=XOBSTRM.ReadLine()			 +8                SET @XOBROOT@(XOBI)=XOBSTRM.ReadLine()
               End DoDot:1							               End DoDot:1
 +9        DO WP^DIE(18.02,XOBIEN_",",300,"K",XOBROOT,$NAME(XOBERR))		 +9        DO WP^DIE(18.02,XOBIEN_",",300,"K",XOBROOT,$NAME(XOBERR))
 +10      ; -- if error occurs, just display					 +10      ; -- if error occurs, just display
 +11       IF $DATA(DIERR)							 +11       IF $DATA(DIERR)
               DO DISPERR($NAME(XOBERR))					               DO DISPERR($NAME(XOBERR))
 +12       QUIT 								 +12       QUIT 
 +13      ;									 +13      ;

									      >	*****   ERRORS & WARNINGS IN XOBWD   *****
										
									      >	Compiled list of Errors and Warnings                                         
									      >
									      >	*****   ERRORS & WARNINGS IN XOBWD   *****
									      >	   %objlasterrorS - Lower/Mixed case Variable name used.

*****   INDEX OF XOBWD   *****							*****   INDEX OF XOBWD   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
>> %objlasterror 								>> %objlasterror 
                ADDPROXY+20							                ADDPROXY+20
   DA           UNREG+1~,UNREG+9!*,UNREG+13!*					   DA           UNREG+1~,UNREG+9!*,UNREG+13!*
   DA(1         UNREG+9*							   DA(1         UNREG+9*
   DIERR        FILE+12~,FILE+33,FILE+38,WSDL+1~,WSDL+11			   DIERR        FILE+12~,FILE+33,FILE+38,WSDL+1~,WSDL+11
   DIK          UNREG+1~,UNREG+9!*,UNREG+13!*					   DIK          UNREG+1~,UNREG+9!*,UNREG+13!*
   I            ADDPROXY+1~,ADDPROXY+21*					   I            ADDPROXY+1~,ADDPROXY+21*
   U            UNREG+8								   U            UNREG+8
   X            ADDPROXY+1~,ADDPROXY+21*,ADDPROXY+22				   X            ADDPROXY+1~,ADDPROXY+21*,ADDPROXY+22
   XOBCAURL     REGISTER~,REGISTER+18,FILE~,FILE+29,VALIDATE+8,VALIDATE+9	   XOBCAURL     REGISTER~,REGISTER+18,FILE~,FILE+29,VALIDATE+8,VALIDATE+9
   XOBCDEF      REGISTER+9~,REGISTER+12,REGISTER+13*,REGISTER+15		   XOBCDEF      REGISTER+9~,REGISTER+12,REGISTER+13*,REGISTER+15
   XOBCHK       REGISTER+9~,REGISTER+10*,REGISTER+11				   XOBCHK       REGISTER+9~,REGISTER+10*,REGISTER+11
   XOBCLASS     ADDPROXY+1~,ADDPROXY+11*,ADDPROXY+18,REGISTER~,REGISTER+13    |	   XOBCLASS     ADDPROXY+1~,ADDPROXY+11*,ADDPROXY+18,REGISTER~,REGISTER+13,RE
                REGISTER+15,REGISTER+18,FILE~,FILE+27,VALIDATE+5	      |	   XOBCXT       ADDPROXY+1~,ADDPROXY+12*,ADDPROXY+18,REGISTER~,REGISTER+18,FI
   XOBCXT       ADDPROXY+1~,ADDPROXY+12*,ADDPROXY+18,REGISTER~,REGISTER+18    <
                FILE~,FILE+28,VALIDATE+6				      <
   XOBDA        UNREG+1~,UNREG+2*,UNREG+6,UNREG+7,UNREG+13			   XOBDA        UNREG+1~,UNREG+2*,UNREG+6,UNREG+7,UNREG+13
   XOBERR       FILE+12~,FILE+34,FILE+39,VALIDATE+1~,WSDL+1~,WSDL+9,WSDL+11	   XOBERR       FILE+12~,FILE+34,FILE+39,VALIDATE+1~,WSDL+1~,WSDL+9,WSDL+11
   XOBFDA       FILE+12~							   XOBFDA       FILE+12~
   XOBFDA(      FILE+24*,FILE+25*,FILE+26*,FILE+27*,FILE+28*,FILE+29*		   XOBFDA(      FILE+24*,FILE+25*,FILE+26*,FILE+27*,FILE+28*,FILE+29*
   XOBFDAI      FILE+12~							   XOBFDAI      FILE+12~
   XOBFDAI(1    FILE+42								   XOBFDAI(1    FILE+42
   XOBI         DISPERR+1~,DISPERR+4*,WSDL+1~,WSDL+3*,WSDL+7*,WSDL+8		   XOBI         DISPERR+1~,DISPERR+4*,WSDL+1~,WSDL+3*,WSDL+7*,WSDL+8
   XOBIEN       CHKTYPE+1~,CHKTYPE+2*,CHKTYPE+3,FILE+12~,FILE+14*,FILE+17     |	   XOBIEN       CHKTYPE+1~,CHKTYPE+2*,CHKTYPE+3,FILE+12~,FILE+14*,FILE+17,FIL
                FILE+31,FILE+35*,FILE+40*,FILE+42*,FILE+45,FILE+47,WSDL~,WSDL |	                WSDL+9
   XOBIENS      FILE+12~,FILE+17*,FILE+18*,FILE+24,FILE+25,FILE+26,FILE+27    |	   XOBIENS      FILE+12~,FILE+17*,FILE+18*,FILE+24,FILE+25,FILE+26,FILE+27,FI
                FILE+28,FILE+29,VALIDATE+3,VALIDATE+4,VALIDATE+5,VALIDATE+6   |	                VALIDATE+6,VALIDATE+9
                VALIDATE+9						      <
   XOBINARR     DISPERR~,DISPERR+3						   XOBINARR     DISPERR~,DISPERR+3
   XOBINFO      ADDPROXY+1~,ADDPROXY+8*,ADDPROXY+9,ADDPROXY+10,ADDPROXY+11    |	   XOBINFO      ADDPROXY+1~,ADDPROXY+8*,ADDPROXY+9,ADDPROXY+10,ADDPROXY+11,AD
                ADDPROXY+12						      <
   XOBLERR      ADDPROXY+1~,ADDPROXY+20,ADDPROXY+21				   XOBLERR      ADDPROXY+1~,ADDPROXY+20,ADDPROXY+21
   XOBLERR(     ADDPROXY+21							   XOBLERR(     ADDPROXY+21
   XOBMULDA     UNREG+1~,UNREG+5*,UNREG+7*,UNREG+9				   XOBMULDA     UNREG+1~,UNREG+5*,UNREG+7*,UNREG+9
   XOBOK        REGISTER+9~,REGISTER+18*,REGISTER+19,VALIDATE+1~,VALIDATE+2*  |	   XOBOK        REGISTER+9~,REGISTER+18*,REGISTER+19,VALIDATE+1~,VALIDATE+2*,
                VALIDATE+10,CHK+2*					      <
   XOBOUT       DISPERR+1~,DISPERR+3						   XOBOUT       DISPERR+1~,DISPERR+3
   XOBOUT(      DISPERR+4							   XOBOUT(      DISPERR+4
   XOBPKG       ADDPROXY+1~,ADDPROXY+4*,ADDPROXY+10~*,ADDPROXY+11,ADDPROXY+16	   XOBPKG       ADDPROXY+1~,ADDPROXY+4*,ADDPROXY+10~*,ADDPROXY+11,ADDPROXY+16
   XOBREADR     ADDPROXY+1~,ADDPROXY+14*					   XOBREADR     ADDPROXY+1~,ADDPROXY+14*
   XOBROOT      WSDL+1~,WSDL+2*,WSDL+8,WSDL+9					   XOBROOT      WSDL+1~,WSDL+2*,WSDL+8,WSDL+9
   XOBSRVDA     UNREG+1~,UNREG+5*,UNREG+6*,UNREG+7,UNREG+8,UNREG+9		   XOBSRVDA     UNREG+1~,UNREG+5*,UNREG+6*,UNREG+7,UNREG+8,UNREG+9
   XOBSRVNM     UNREG+1~,UNREG+8*,UNREG+11					   XOBSRVNM     UNREG+1~,UNREG+8*,UNREG+11
   XOBSTAT      GENPORT+1~,GENPORT+5*,GENPORT+7*,GENPORT+8,ADDPROXY+1~	      |	   XOBSTAT      GENPORT+1~,GENPORT+5*,GENPORT+7*,GENPORT+8,ADDPROXY+1~,ADDPRO
                ADDPROXY+16*,ADDPROXY+17,ADDPROXY+22*,ADDPROXY+24	      <
   XOBSTRM      WSDL+1~,WSDL+4*							   XOBSTRM      WSDL+1~,WSDL+4*
   XOBTYPE      ADDPROXY+1~,REGISTER~,REGISTER+10,REGISTER+11,REGISTER+12     |	   XOBTYPE      ADDPROXY+1~,REGISTER~,REGISTER+10,REGISTER+11,REGISTER+12,REG
                REGISTER+18,CHKTYPE~,CHKTYPE+3,FILE~,FILE+25,VALIDATE+4	      <
   XOBWAV       ADDPROXY+1~,ADDPROXY+6*,ADDPROXY+18				   XOBWAV       ADDPROXY+1~,ADDPROXY+6*,ADDPROXY+18
   XOBWSDL      GENPORT+1~,GENPORT+2*,GENPORT+4,GENPORT+7,ADDPROXY+1~	      |	   XOBWSDL      GENPORT+1~,GENPORT+2*,GENPORT+4,GENPORT+7,ADDPROXY+1~,ADDPROX
                ADDPROXY+3*,ADDPROXY+8,ADDPROXY+9,ADDPROXY+16,ADDPROXY+18     <
                REGISTER~,REGISTER+18,FILE~,FILE+45,WSDL~,WSDL+5		                REGISTER~,REGISTER+18,FILE~,FILE+45,WSDL~,WSDL+5
   XOBWSN       ADDPROXY+1~,ADDPROXY+5*,ADDPROXY+18,REGISTER~,REGISTER+10     |	   XOBWSN       ADDPROXY+1~,ADDPROXY+5*,ADDPROXY+18,REGISTER~,REGISTER+10,REG
                REGISTER+11,REGISTER+18,REGISTER+19,UNREG~,UNREG+2,UNREG+3    |	                UNREG+3,UNREG+11,UNREG+14,CHKTYPE~,CHKTYPE+2,FILE~,FILE+14,FI
                UNREG+11,UNREG+14,CHKTYPE~,CHKTYPE+2,FILE~,FILE+14,FILE+24    <
                VALIDATE+3						      <
   XOBX         DISPERR+1~							   XOBX         DISPERR+1~
   XOBY         GENPORT~,GENPORT+5,ADDPROXY~,VALIDATE+1~,VALIDATE+3,VALIDATE+ |	   XOBY         GENPORT~,GENPORT+5,ADDPROXY~,VALIDATE+1~,VALIDATE+3,VALIDATE+
                VALIDATE+5,VALIDATE+6,VALIDATE+9,CHK+1			      <
   XOBY("AVAILABILITY RESOURCE" 						   XOBY("AVAILABILITY RESOURCE" 
                ADDPROXY+6							                ADDPROXY+6
										
									      >	*****   INDEX OF XOBWD   *****                                               
									      >
									      >	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
   XOBY("CACHE PACKAGE NAME" 							   XOBY("CACHE PACKAGE NAME" 
                ADDPROXY+4							                ADDPROXY+4
   XOBY("WEB SERVICE NAME" 							   XOBY("WEB SERVICE NAME" 
                ADDPROXY+5							                ADDPROXY+5
   XOBY("WSDL FILE" 								   XOBY("WSDL FILE" 
                GENPORT+2,ADDPROXY+3						                GENPORT+2,ADDPROXY+3

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP("XOBW WSDL FILING"							   ^TMP("XOBW WSDL FILING"
                       WSDL+2							                       WSDL+2
   ^XOB(18.02          UNREG+2,CHKTYPE+3					   ^XOB(18.02          UNREG+2,CHKTYPE+3
   ^XOB(18.12          UNREG+6,UNREG+7,UNREG+8					   ^XOB(18.12          UNREG+6,UNREG+7,UNREG+8

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   $system.Status.DecomposeStatus  ADDPROXY+20					   $system.Status.DecomposeStatus  ADDPROXY+20
   %Dictionary.ClassDefinition     REGISTER+13					   %Dictionary.ClassDefinition     REGISTER+13
   %File                           GENPORT+4					   %File                           GENPORT+4
   %FileCharacterStream            WSDL+4					   %FileCharacterStream            WSDL+4
   %SOAP.WSDL.Reader               ADDPROXY+14					   %SOAP.WSDL.Reader               ADDPROXY+14
   XOBREADR.OutputTypeAttribute    ADDPROXY+15*					   XOBREADR.OutputTypeAttribute    ADDPROXY+15*
   XOBREADR.Process                ADDPROXY+16					   XOBREADR.Process                ADDPROXY+16
   XOBSTRM.AtEnd                   WSDL+6					   XOBSTRM.AtEnd                   WSDL+6
   XOBSTRM.Filename                WSDL+5*					   XOBSTRM.Filename                WSDL+5*
   XOBSTRM.ReadLine                WSDL+8					   XOBSTRM.ReadLine                WSDL+8
   xobw.WsdlHandler                ADDPROXY+8					   xobw.WsdlHandler                ADDPROXY+8

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$ADDPROXY   GENPORT+5							   $$ADDPROXY   GENPORT+5
   $$CHKTYPE    REGISTER+10							   $$CHKTYPE    REGISTER+10
   $$FILE       REGISTER+18							   $$FILE       REGISTER+18
   $$VALIDATE   FILE+21								   $$VALIDATE   FILE+21
   CHK          VALIDATE+3,VALIDATE+4,VALIDATE+5,VALIDATE+6,VALIDATE+9		   CHK          VALIDATE+3,VALIDATE+4,VALIDATE+5,VALIDATE+6,VALIDATE+9
   DISPERR      FILE+34,FILE+39,CHK+3,WSDL+11					   DISPERR      FILE+34,FILE+39,CHK+3,WSDL+11
   WSDL         FILE+45								   WSDL         FILE+45

External References								External References
   MSG^DIALOG          DISPERR+3						   MSG^DIALOG          DISPERR+3
   $$FIND1^DIC         CHKTYPE+2,FILE+14					   $$FIND1^DIC         CHKTYPE+2,FILE+14
   FILE^DIE            FILE+32							   FILE^DIE            FILE+32
   UPDATE^DIE          FILE+37							   UPDATE^DIE          FILE+37
   VAL^DIE             VALIDATE+3,VALIDATE+4,VALIDATE+5,VALIDATE+6,VALIDATE+9	   VAL^DIE             VALIDATE+3,VALIDATE+4,VALIDATE+5,VALIDATE+6,VALIDATE+9
   WP^DIE              WSDL+9							   WP^DIE              WSDL+9
   ^DIK                UNREG+10,UNREG+13					   ^DIK                UNREG+10,UNREG+13
   $$NOW^XLFDT         FILE+26							   $$NOW^XLFDT         FILE+26
   REGSOAP^XOBWLIB     ADDPROXY+18						   REGSOAP^XOBWLIB     ADDPROXY+18
   BMES^XPDUTL         REGISTER+11,REGISTER+15					   BMES^XPDUTL         REGISTER+11,REGISTER+15
   MES^XPDUTL          REGISTER+19,REGISTER+20,UNREG+3,UNREG+11,UNREG+14      |	   MES^XPDUTL          REGISTER+19,REGISTER+20,UNREG+3,UNREG+11,UNREG+14,DISP
                       DISPERR+2,DISPERR+4				      <

*****   END   *****								*****   END   *****
									      |	
										XOBWENV   3145     printed  Apr 10, 2018@18:46:17                            
XOBWENV   3145     printed  Mar 13, 2018@10:55:07                      Page 3 <

XOBWENV   ;ALB/MJK - HWSC :: Environmental Check ; 06/10/2016			XOBWENV   ;ALB/MJK - HWSC :: Environmental Check ; 06/10/2016
 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9		 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9
 +2       ;Per VA Directive 6402, this routine should not be modified.		 +2       ;Per VA Directive 6402, this routine should not be modified.
 +3       ;									 +3       ;
 +4       ; ***** IMPORTANT NOTE *******************************************	 +4       ; ***** IMPORTANT NOTE *******************************************
 +5       ; This routine requires access to the manager (%SYS) namespace and	 +5       ; This routine requires access to the manager (%SYS) namespace and
 +6       ; can only be run by a user with permissions to that namespace.	 +6       ; can only be run by a user with permissions to that namespace.
 +7       ; ****************************************************************	 +7       ; ****************************************************************
 +8       ;									 +8       ;
 +9        QUIT 								 +9        QUIT 
EN        ;- entry point							EN        ;- entry point
 +1       ; -- must be a supported M implementation				 +1       ; -- must be a supported M implementation
 +2        DO VALIDM								 +2        DO VALIDM
           IF $GET(XPDABORT)							           IF $GET(XPDABORT)
               GOTO ENQ								               GOTO ENQ
 +3       ; -- passed load check						 +3       ; -- passed load check
 +4        IF '$GET(XPDENV)							 +4        IF '$GET(XPDENV)
               IF '$GET(XPDABORT)						               IF '$GET(XPDABORT)
                   Begin DoDot:1						                   Begin DoDot:1
 +5                    WRITE !!?1,">>> Environment check completed for KIDS L	 +5                    WRITE !!?1,">>> Environment check completed for KIDS L
                   End DoDot:1							                   End DoDot:1
 +6       ; -- passed install check						 +6       ; -- passed install check
 +7        IF $GET(XPDENV)=1							 +7        IF $GET(XPDENV)=1
               IF '$GET(XPDABORT)						               IF '$GET(XPDABORT)
                   Begin DoDot:1						                   Begin DoDot:1
 +8                    WRITE !!?1,">>> Environment check completed for KIDS I	 +8                    WRITE !!?1,">>> Environment check completed for KIDS I
                   End DoDot:1							                   End DoDot:1
ENQ        QUIT 								ENQ        QUIT 
 +1       ;									 +1       ;
VALIDM    ; -- check if HWSC supports M implementation and set KIDS flag if n	VALIDM    ; -- check if HWSC supports M implementation and set KIDS flag if n
 +1        IF $$PROD^XUPROD(0)							 +1        IF $$PROD^XUPROD(0)
               IF '$$SSLOK()							               IF '$$SSLOK()
                   Begin DoDot:1						                   Begin DoDot:1
 +2                    WRITE !,"Note: Your current production M environment d	 +2                    WRITE !,"Note: Your current production M environment d
 +3                    WRITE !,"      connectivity! SSL/TLS support is provid	 +3                    WRITE !,"      connectivity! SSL/TLS support is provid
 +4                    WRITE !,"      Also, SSL/TLS is not currently supporte	 +4                    WRITE !,"      Also, SSL/TLS is not currently supporte
 +5                    NEW DIR							 +5                    NEW DIR
                       SET DIR(0)="E"						                       SET DIR(0)="E"
                       DO ^DIR							                       DO ^DIR
                   End DoDot:1							                   End DoDot:1
 +6       ;									 +6       ;
 +7        IF '$$OSOK()								 +7        IF '$$OSOK()
               Begin DoDot:1							               Begin DoDot:1
 +8                SET XPDABORT=1						 +8                SET XPDABORT=1
 +9                WRITE !?5,"This software can only be installed in a Cache 	 +9                WRITE !?5,"This software can only be installed in a Cache 
               End DoDot:1							               End DoDot:1
 +10       QUIT 								 +10       QUIT 
 +11      ;									 +11      ;
OSOK()    ; -- check environment for operating system, 5.2.3 or greater		OSOK()    ; -- check environment for operating system, 5.2.3 or greater
 +1        IF $PIECE($GET(^%ZOSF("OS")),"^")'["OpenM"				 +1        IF $PIECE($GET(^%ZOSF("OS")),"^")'["OpenM"
               QUIT 0								               QUIT 0
 +2        NEW XOBVER,MAJOR,MINOR,SUBMINOR					 +2        NEW XOBVER,MAJOR,MINOR,SUBMINOR
 +3        SET XOBVER=$$VERSION^%ZOSV()						 +3        SET XOBVER=$$VERSION^%ZOSV()
 +4       ; -- checks major version # against 5					 +4       ; -- checks major version # against 5
 +5        SET MAJOR=+$PIECE(XOBVER,".")					 +5        SET MAJOR=+$PIECE(XOBVER,".")
 +6        IF MAJOR<5								 +6        IF MAJOR<5
               QUIT 0								               QUIT 0
 +7        IF MAJOR>5								 +7        IF MAJOR>5
               QUIT 1								               QUIT 1
 +8       ; -- checks minor version # against 2					 +8       ; -- checks minor version # against 2
 +9        SET MINOR=+$PIECE(XOBVER,".",2)					 +9        SET MINOR=+$PIECE(XOBVER,".",2)
 +10       IF MINOR<2							      |	 +10 
										XOBWENV   3145     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           IF MINOR<2
               QUIT 0								               QUIT 0
 +11       IF MINOR>2								 +11       IF MINOR>2
               QUIT 1								               QUIT 1
 +12      ; -- checks sub-minor version # against 3				 +12      ; -- checks sub-minor version # against 3
 +13       SET SUBMINOR=+$PIECE(XOBVER,".",3)					 +13       SET SUBMINOR=+$PIECE(XOBVER,".",3)
 +14       IF SUBMINOR<3							 +14       IF SUBMINOR<3
               QUIT 0								               QUIT 0
 +15       IF SUBMINOR>2							 +15       IF SUBMINOR>2
               QUIT 1								               QUIT 1
 +16       QUIT 0								 +16       QUIT 0
 +17      ;									 +17      ;
SSLOK()   ; -- check environment if SSL/TLS is supported (Cache 5.2.3 or grea	SSLOK()   ; -- check environment if SSL/TLS is supported (Cache 5.2.3 or grea
 +1       ; also called in [XOBW WEB SERVER SETUP] edit template		 +1       ; also called in [XOBW WEB SERVER SETUP] edit template
 +2       ;IF $$SYSOS()="VMS" QUIT 0 ; prevent SSL use on VMS ; - XOBW*1*4	 +2       ;IF $$SYSOS()="VMS" QUIT 0 ; prevent SSL use on VMS ; - XOBW*1*4
 +3       ; 5.2.3 or greater							 +3       ; 5.2.3 or greater
           QUIT $$OSOK()							           QUIT $$OSOK()
 +4       ;									 +4       ;
KIDSCHK(XOBDIR) ; -- check input from installer					KIDSCHK(XOBDIR) ; -- check input from installer
 +1       ; input: XOBDIR := directory where wsdl file is located (		 +1       ; input: XOBDIR := directory where wsdl file is located (
 +2       ;  Note: If applicable, XOBDIR should contain the os-specific final	 +2       ;  Note: If applicable, XOBDIR should contain the os-specific final
 +3        NEW XOBPATH								 +3        NEW XOBPATH
 +4        IF '##class(%File).DirectoryExists(XOBDIR)				 +4        IF '##class(%File).DirectoryExists(XOBDIR)
               Begin DoDot:1							               Begin DoDot:1
 +5                WRITE !," o  Directory does not exist: "_XOBDIR		 +5                WRITE !," o  Directory does not exist: "_XOBDIR
               End DoDot:1							               End DoDot:1
               QUIT 0								               QUIT 0
 +6        SET XOBPATH=XOBDIR_$$SUPPORT()					 +6        SET XOBPATH=XOBDIR_$$SUPPORT()
 +7        IF '##class(%File).Exists(XOBPATH)					 +7        IF '##class(%File).Exists(XOBPATH)
               Begin DoDot:1							               Begin DoDot:1
 +8                WRITE !," o  File to be imported does not exist: "_XOBPATH	 +8                WRITE !," o  File to be imported does not exist: "_XOBPATH
               End DoDot:1							               End DoDot:1
               QUIT 0								               QUIT 0
 +9        QUIT 1								 +9        QUIT 1
 +10      ;									 +10      ;
SUPPORT() ; -- returns name of xml file containing support classes (wsdl hand	SUPPORT() ; -- returns name of xml file containing support classes (wsdl hand
 +1        QUIT "xobw4.xml"							 +1        QUIT "xobw4.xml"
 +2       ;									 +2       ;
VERSION() ; -- returns the version number for this build			VERSION() ; -- returns the version number for this build
 +1        QUIT +$PIECE($PIECE($TEXT(XOBWENV+1),";",7),"Build ",2)		 +1        QUIT +$PIECE($PIECE($TEXT(XOBWENV+1),";",7),"Build ",2)
 +2       ;									 +2       ;
SYSOS()   ; -- get system operating system					SYSOS()   ; -- get system operating system
 +1       ; returns VMS, UNIX, NT or UNK					 +1       ; returns VMS, UNIX, NT or UNK
 +2        NEW XOBOS								 +2        NEW XOBOS
           SET XOBOS=^%ZOSF("OS")						           SET XOBOS=^%ZOSF("OS")
 +3        QUIT $SELECT(XOBOS["OpenM":$$OS^%ZOSV(),XOBOS["DSM":"VMS",1:"UNK")	 +3        QUIT $SELECT(XOBOS["OpenM":$$OS^%ZOSV(),XOBOS["DSM":"VMS",1:"UNK")


*****   INDEX OF XOBWENV   *****						*****   INDEX OF XOBWENV   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   DIR          VALIDM+5~							   DIR          VALIDM+5~
   DIR(0        VALIDM+5*							   DIR(0        VALIDM+5*
   MAJOR        OSOK+2~,OSOK+5*,OSOK+6,OSOK+7					   MAJOR        OSOK+2~,OSOK+5*,OSOK+6,OSOK+7
   MINOR        OSOK+2~,OSOK+9*,OSOK+10,OSOK+11					   MINOR        OSOK+2~,OSOK+9*,OSOK+10,OSOK+11
   SUBMINOR     OSOK+2~,OSOK+13*,OSOK+14,OSOK+15				   SUBMINOR     OSOK+2~,OSOK+13*,OSOK+14,OSOK+15
   XOBDIR       KIDSCHK~,KIDSCHK+4,KIDSCHK+5,KIDSCHK+6				   XOBDIR       KIDSCHK~,KIDSCHK+4,KIDSCHK+5,KIDSCHK+6
										
									      >	*****   INDEX OF XOBWENV   *****                                             
									      >
									      >	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
   XOBOS        SYSOS+2~*,SYSOS+3						   XOBOS        SYSOS+2~*,SYSOS+3
   XOBPATH      KIDSCHK+3~,KIDSCHK+6*,KIDSCHK+7,KIDSCHK+8			   XOBPATH      KIDSCHK+3~,KIDSCHK+6*,KIDSCHK+7,KIDSCHK+8
   XOBVER       OSOK+2~,OSOK+3*,OSOK+5,OSOK+9,OSOK+13				   XOBVER       OSOK+2~,OSOK+3*,OSOK+5,OSOK+9,OSOK+13
>> XPDABORT     EN+2,EN+4,EN+7,VALIDM+8*					>> XPDABORT     EN+2,EN+4,EN+7,VALIDM+8*
>> XPDENV       EN+4,EN+7							>> XPDENV       EN+4,EN+7

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^%ZOSF("OS"         OSOK+1,SYSOS+2						   ^%ZOSF("OS"         OSOK+1,SYSOS+2

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   %File                           KIDSCHK+4,KIDSCHK+7				   %File                           KIDSCHK+4,KIDSCHK+7

Marked Items									Marked Items
   $T(XOBWENV+1 VERSION+1							   $T(XOBWENV+1 VERSION+1

Label References								Label References
   $$OSOK       VALIDM+7,SSLOK+3						   $$OSOK       VALIDM+7,SSLOK+3
   $$SSLOK      VALIDM+1							   $$SSLOK      VALIDM+1
   $$SUPPORT    KIDSCHK+6							   $$SUPPORT    KIDSCHK+6
   ENQ          EN+2								   ENQ          EN+2
   VALIDM       EN+2								   VALIDM       EN+2

External References								External References
   $$OS^%ZOSV          SYSOS+3							   $$OS^%ZOSV          SYSOS+3
   $$VERSION^%ZOSV     OSOK+3							   $$VERSION^%ZOSV     OSOK+3
   ^DIR                VALIDM+5							   ^DIR                VALIDM+5
   $$PROD^XUPROD       VALIDM+1							   $$PROD^XUPROD       VALIDM+1

*****   END   *****								*****   END   *****
									      |	
										XOBWLIB   8235     printed  Apr 10, 2018@18:46:17                            
XOBWLIB   8235     printed  Mar 13, 2018@10:55:07                      Page 4 <

XOBWLIB   ;ALB/MJK - HWSC :: Utilities Library ; 09/13/10 4:00pm		XOBWLIB   ;ALB/MJK - HWSC :: Utilities Library ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
 +5       ;----------------------------- Public APIs ------------------------	 +5       ;----------------------------- Public APIs ------------------------
 +6       ;									 +6       ;
 +7       ;. . . . . . . . . . . . Web Service Proxy APIs . . . . . . . . . .	 +7       ;. . . . . . . . . . . . Web Service Proxy APIs . . . . . . . . . .
 +8       ;									 +8       ;
GETFAC(XOBWSN) ; -- get web service proxy factory				GETFAC(XOBWSN) ; -- get web service proxy factory
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   web service name  					 +2       ;    XOBWSN    -   web service name  
 +3        QUIT ##class(xobw.WebServiceProxyFactory).%New(XOBWSN)		 +3        QUIT ##class(xobw.WebServiceProxyFactory).%New(XOBWSN)
 +4       ;									 +4       ;
GETPROXY(XOBWSN,XOBSRVR) ; -- get web service proxy				GETPROXY(XOBWSN,XOBSRVR) ; -- get web service proxy
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   web service name					 +2       ;    XOBWSN    -   web service name
 +3       ;    XOBSRVR   -   web server name					 +3       ;    XOBSRVR   -   web server name
 +4        QUIT ##class(xobw.WebServiceProxyFactory).getWebServiceProxy(XOBWS	 +4        QUIT ##class(xobw.WebServiceProxyFactory).getWebServiceProxy(XOBWS
 +5       ;									 +5       ;
GENPORT(XOBY) ; -- generate http port class from WSDL during install		GENPORT(XOBY) ; -- generate http port class from WSDL during install
 +1        QUIT $$GENPORT^XOBWD(.XOBY)						 +1        QUIT $$GENPORT^XOBWD(.XOBY)
 +2       ;									 +2       ;
REGSOAP(XOBWSN,XOBCXT,XOBCLASS,XOBWSDL,XOBCAURL) ; -- register SOAP service	REGSOAP(XOBWSN,XOBCXT,XOBCLASS,XOBWSDL,XOBCAURL) ; -- register SOAP service
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   SOAP web service name				 +2       ;    XOBWSN    -   SOAP web service name
 +3       ;    XOBCXT    -   web service context root  				 +3       ;    XOBCXT    -   web service context root  
 +4       ;    XOBCLASS  -   full class name, including package			 +4       ;    XOBCLASS  -   full class name, including package
 +5       ;    XOBWSDL   -   file path containing WSDL document [optional]	 +5       ;    XOBWSDL   -   file path containing WSDL document [optional]
 +6       ;    XOBCAURL  -   'check availability' url portion to follow conte	 +6       ;    XOBCAURL  -   'check availability' url portion to follow conte
 +7        DO REGISTER^XOBWD(XOBWSN,1,XOBCXT,XOBCLASS,.XOBWSDL,.XOBCAURL)	 +7        DO REGISTER^XOBWD(XOBWSN,1,XOBCXT,XOBCLASS,.XOBWSDL,.XOBCAURL)
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
ATTACHDR(XOBPROXY) ; -- add VistaInfoHeader to proxy object			ATTACHDR(XOBPROXY) ; -- add VistaInfoHeader to proxy object
 +1       ; Input: 								 +1       ; Input: 
 +2       ;   XOBPROXY   -   web service proxy object				 +2       ;   XOBPROXY   -   web service proxy object
 +3        DO ATTACHDR^XOBWLIB1(.XOBPROXY)					 +3        DO ATTACHDR^XOBWLIB1(.XOBPROXY)
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
UNREG(XOBWSN) ; unregister/delete REST *or* SOAP web service			UNREG(XOBWSN) ; unregister/delete REST *or* SOAP web service
 +1       ; Input:								 +1       ; Input:
 +2       ;   XOBWSN     -   web service name					 +2       ;   XOBWSN     -   web service name
 +3        DO UNREG^XOBWD(XOBWSN)						 +3        DO UNREG^XOBWD(XOBWSN)
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
 +6       ;. . . . . . . . . . . . REST Service Request APIs . . . . . . . . 	 +6       ;. . . . . . . . . . . . REST Service Request APIs . . . . . . . . 
 +7       ;									 +7       ;
GETRESTF(XOBWSN) ; -- get REST service request factory				GETRESTF(XOBWSN) ; -- get REST service request factory
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   web service name 					 +2       ;    XOBWSN    -   web service name 
 +3        QUIT ##class(xobw.RestRequestFactory).%New(XOBWSN)			 +3        QUIT ##class(xobw.RestRequestFactory).%New(XOBWSN)
 +4       ;									 +4       ;
GETREST(XOBWSN,XOBSRVR) ; -- get REST service request				GETREST(XOBWSN,XOBSRVR) ; -- get REST service request
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   web service name					 +2       ;    XOBWSN    -   web service name
 +3       ;    XOBSRVR   -   web server name 					 +3       ;    XOBSRVR   -   web server name 
 +4        QUIT ##class(xobw.RestRequestFactory).getRestRequest(XOBWSN,XOBSRV	 +4        QUIT ##class(xobw.RestRequestFactory).getRestRequest(XOBWSN,XOBSRV
 +5       ;									 +5       ;
REGREST(XOBWSN,XOBCXT,XOBCAURL) ; -- register REST service			REGREST(XOBWSN,XOBCXT,XOBCAURL) ; -- register REST service
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    XOBWSN    -   REST web service name				 +2       ;    XOBWSN    -   REST web service name
 +3       ;    XOBCXT    -   web service context root  				 +3       ;    XOBCXT    -   web service context root  
 +4       ;    XOBCAURL  -   'check availability' url portion to follow conte	 +4       ;    XOBCAURL  -   'check availability' url portion to follow conte
 +5        DO REGISTER^XOBWD(XOBWSN,2,XOBCXT,"","",.XOBCAURL)		      |	 +5 
										XOBWLIB   8235     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           DO REGISTER^XOBWD(XOBWSN,2,XOBCXT,"","",.XOBCAURL)
 +6        QUIT 								 +6        QUIT 
 +7       ;									 +7       ;
GET(XOBREST,XOBRSCE,XOBERR,XOBFERR) ; -- do HTTP GET method and force M/Cache	GET(XOBREST,XOBRSCE,XOBERR,XOBFERR) ; -- do HTTP GET method and force M/Cache
 +1       ;                                       Executes STATCHK and HTTPCH	 +1       ;                                       Executes STATCHK and HTTPCH
 +2       ; input:								 +2       ; input:
 +3       ;     XOBREST = instance of xobw.RestRequest class			 +3       ;     XOBREST = instance of xobw.RestRequest class
 +4       ;     XOBRSCE = resource for HTTP GET method				 +4       ;     XOBRSCE = resource for HTTP GET method
 +5       ;     XOBERR  = where to store HWSC error object if problem encount	 +5       ;     XOBERR  = where to store HWSC error object if problem encount
 +6       ;     XOBFERR = if error object created, force M/Cache error [1], o	 +6       ;     XOBFERR = if error object created, force M/Cache error [1], o
 +7       ;               [optional ; default = 1]				 +7       ;               [optional ; default = 1]
 +8        NEW XOBOK								 +8        NEW XOBOK
 +9        SET XOBOK=$$STATCHK(XOBREST.Get(XOBRSCE),.XOBERR,$GET(XOBFERR,1))	 +9        SET XOBOK=$$STATCHK(XOBREST.Get(XOBRSCE),.XOBERR,$GET(XOBFERR,1))
 +10       IF XOBOK								 +10       IF XOBOK
               SET XOBOK=$$HTTPCHK(XOBREST,.XOBERR,$GET(XOBFERR,1))		               SET XOBOK=$$HTTPCHK(XOBREST,.XOBERR,$GET(XOBFERR,1))
 +11       QUIT XOBOK								 +11       QUIT XOBOK
 +12      ;									 +12      ;
POST(XOBREST,XOBRSCE,XOBERR,XOBFERR) ; -- do HTTP POST method and force M/Cac	POST(XOBREST,XOBRSCE,XOBERR,XOBFERR) ; -- do HTTP POST method and force M/Cac
 +1       ;                                        Executes STATCHK and HTTPC	 +1       ;                                        Executes STATCHK and HTTPC
 +2       ; input:								 +2       ; input:
 +3       ;     XOBREST = instance of xobw.RestRequest class			 +3       ;     XOBREST = instance of xobw.RestRequest class
 +4       ;     XOBRSCE = resource for HTTP GET method				 +4       ;     XOBRSCE = resource for HTTP GET method
 +5       ;     XOBERR  = where to store HWSC error object if problem encount	 +5       ;     XOBERR  = where to store HWSC error object if problem encount
 +6       ;     XOBFERR = if error object created, force M/Cache error [1], o	 +6       ;     XOBFERR = if error object created, force M/Cache error [1], o
 +7       ;               [optional ; default = 1]				 +7       ;               [optional ; default = 1]
 +8        NEW XOBOK								 +8        NEW XOBOK
 +9        SET XOBOK=$$STATCHK(XOBREST.Post(XOBRSCE),.XOBERR,$GET(XOBFERR,1))	 +9        SET XOBOK=$$STATCHK(XOBREST.Post(XOBRSCE),.XOBERR,$GET(XOBFERR,1))
 +10       IF XOBOK								 +10       IF XOBOK
               SET XOBOK=$$HTTPCHK(XOBREST,.XOBERR,$GET(XOBFERR,1))		               SET XOBOK=$$HTTPCHK(XOBREST,.XOBERR,$GET(XOBFERR,1))
 +11       QUIT XOBOK								 +11       QUIT XOBOK
 +12      ;									 +12      ;
HTTPCHK(XOBREST,XOBERR,XOBFERR) ; -- check HTTP response status code		HTTPCHK(XOBREST,XOBERR,XOBFERR) ; -- check HTTP response status code
 +1       ; input:								 +1       ; input:
 +2       ;     XOBREST = instance of xobw.RestRequest class			 +2       ;     XOBREST = instance of xobw.RestRequest class
 +3       ;     XOBERR  = where to store HWSC error object if problem encount	 +3       ;     XOBERR  = where to store HWSC error object if problem encount
 +4       ;     XOBFERR = if error object created, force M/Cache error [1], o	 +4       ;     XOBFERR = if error object created, force M/Cache error [1], o
 +5       ;               [optional ; default = 1]				 +5       ;               [optional ; default = 1]
 +6        NEW XOBOK								 +6        NEW XOBOK
 +7        SET XOBOK=$$HTTPOK(XOBREST.HttpResponse.StatusCode)			 +7        SET XOBOK=$$HTTPOK(XOBREST.HttpResponse.StatusCode)
 +8        IF 'XOBOK								 +8        IF 'XOBOK
               Begin DoDot:1							               Begin DoDot:1
 +9       ; -- create http error from %Net.HttpResponse object			 +9       ; -- create http error from %Net.HttpResponse object
 +10               SET XOBERR=$$EOHTTP(XOBREST.HttpResponse)			 +10               SET XOBERR=$$EOHTTP(XOBREST.HttpResponse)
 +11      ; -- force error if requested to by caller				 +11      ; -- force error if requested to by caller
 +12               IF $GET(XOBFERR,1)						 +12               IF $GET(XOBFERR,1)
                       SET $ECODE=",UXOBWHTTP,"					                       SET $ECODE=",UXOBWHTTP,"
               End DoDot:1							               End DoDot:1
 +13       QUIT XOBOK								 +13       QUIT XOBOK
 +14      ;									 +14      ;
HTTPOK(XOBSCODE) ; -- is HTTP response status code an 'OK' code			HTTPOK(XOBSCODE) ; -- is HTTP response status code an 'OK' code
 +1       ; -- Future: Should we add more 200 series codes to the check?	 +1       ; -- Future: Should we add more 200 series codes to the check?
 +2        QUIT $GET(XOBSCODE)=200						 +2        QUIT $GET(XOBSCODE)=200
 +3       ;									 +3       ;
 +4       ;. . . . . . . . . . . Error Processing Helper API . . . . . . . . 	 +4       ;. . . . . . . . . . . Error Processing Helper API . . . . . . . . 
 +5       ;									 +5       ;
EOFAC(XOBPROXY) ; --  Error Object FACtory					EOFAC(XOBPROXY) ; --  Error Object FACtory
 +1       ;      > finds and parses errors in partition				 +1       ;      > finds and parses errors in partition
 +2       ;      > builds and returns error object for easier processing	 +2       ;      > builds and returns error object for easier processing
 +3       ;									 +3       ;
 +4       ;  input: XOBPROXY = SOAP proxy object reference [optional]		 +4       ;  input: XOBPROXY = SOAP proxy object reference [optional]
 +5       ; output:   XOBERR = error object					 +5       ; output:   XOBERR = error object
 +6       ;									 +6       ;
 +7        QUIT $$EOFAC^XOBWLIB1(.XOBPROXY)				      |	 +7 
										XOBWLIB   8235     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           QUIT $$EOFAC^XOBWLIB1(.XOBPROXY)
 +8       ;									 +8       ;
EOSTAT(XOBSO) ; -- create object error from status error object			EOSTAT(XOBSO) ; -- create object error from status error object
 +1        NEW $ETRAP								 +1        NEW $ETRAP
 +2        SET $ETRAP="D ^%ZTER HALT"						 +2        SET $ETRAP="D ^%ZTER HALT"
 +3        QUIT ##class(xobw.error.ObjectError).%New(XOBSO)			 +3        QUIT ##class(xobw.error.ObjectError).%New(XOBSO)
 +4       ;									 +4       ;
EOHTTP(XOBHRO) ; -- create object error from %Net.HttpResponse object		EOHTTP(XOBHRO) ; -- create object error from %Net.HttpResponse object
 +1        NEW $ETRAP								 +1        NEW $ETRAP
 +2        SET $ETRAP="D ^%ZTER HALT"						 +2        SET $ETRAP="D ^%ZTER HALT"
 +3        QUIT ##class(xobw.error.HttpError).%New(XOBHRO)			 +3        QUIT ##class(xobw.error.HttpError).%New(XOBHRO)
 +4       ;									 +4       ;
ERRDISP(XOBEO) ; -- do simple error display					ERRDISP(XOBEO) ; -- do simple error display
 +1        IF $GET(XOBEO)]""							 +1        IF $GET(XOBEO)]""
               IF XOBEO.%IsA("xobw.error.AbstractError")			               IF XOBEO.%IsA("xobw.error.AbstractError")
                   Begin DoDot:1						                   Begin DoDot:1
 +2                    DO XOBEO.display()					 +2                    DO XOBEO.display()
                   End DoDot:1							                   End DoDot:1
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
ERR2ARR(XOBEO,XOBERR) ; -- decompose error for traditional M processing		ERR2ARR(XOBEO,XOBERR) ; -- decompose error for traditional M processing
 +1        IF $GET(XOBEO)]""							 +1        IF $GET(XOBEO)]""
               IF XOBEO.%IsA("xobw.error.AbstractError")			               IF XOBEO.%IsA("xobw.error.AbstractError")
                   Begin DoDot:1						                   Begin DoDot:1
 +2                    DO XOBEO.decompose(.XOBERR)				 +2                    DO XOBEO.decompose(.XOBERR)
                   End DoDot:1							                   End DoDot:1
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
ZTER(XOBEO) ; -- build error object array and call error trap			ZTER(XOBEO) ; -- build error object array and call error trap
 +1        NEW $ETRAP,XOBEOARR							 +1        NEW $ETRAP,XOBEOARR
 +2        SET $ETRAP="D ^%ZTER HALT"						 +2        SET $ETRAP="D ^%ZTER HALT"
 +3        IF $GET(XOBEO)]""							 +3        IF $GET(XOBEO)]""
               DO ERR2ARR(.XOBEO,.XOBEOARR)					               DO ERR2ARR(.XOBEO,.XOBEOARR)
 +4        DO ^%ZTER								 +4        DO ^%ZTER
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
STATCHK(XOBSO,XOBERR,XOBFERR) ; -- check Cache Status Object			STATCHK(XOBSO,XOBERR,XOBFERR) ; -- check Cache Status Object
 +1       ; input:								 +1       ; input:
 +2       ;     XOBSO   = Cache status object					 +2       ;     XOBSO   = Cache status object
 +3       ;     XOBERR  = where to store HWSC error object if problem encount	 +3       ;     XOBERR  = where to store HWSC error object if problem encount
 +4       ;     XOBFERR = if error object created, force M/Cache error [1], o	 +4       ;     XOBFERR = if error object created, force M/Cache error [1], o
 +5       ;               [optional ; default = 1]				 +5       ;               [optional ; default = 1]
 +6        NEW XOBOK								 +6        NEW XOBOK
 +7 										 +7 
*** ERROR ***									*** ERROR ***
           SET XOBOK=$system.Status.IsOK(XOBSO)					           SET XOBOK=$system.Status.IsOK(XOBSO)
 +8        IF 'XOBOK								 +8        IF 'XOBOK
               Begin DoDot:1							               Begin DoDot:1
 +9       ; -- create object error from status error object			 +9       ; -- create object error from status error object
 +10               SET XOBERR=$$EOSTAT(XOBSO)					 +10               SET XOBERR=$$EOSTAT(XOBSO)
 +11      ; -- force error if requested to by caller				 +11      ; -- force error if requested to by caller
 +12               IF $GET(XOBFERR,1)						 +12               IF $GET(XOBFERR,1)
                       SET $ECODE=",UXOBWSTATUS,"				                       SET $ECODE=",UXOBWSTATUS,"
               End DoDot:1							               End DoDot:1
 +13       QUIT XOBOK								 +13       QUIT XOBOK
 +14      ;									 +14      ;
 +15      ;. . . . . . . . . . . . . . Server Lookup APIs . . . . . . . . . .	 +15      ;. . . . . . . . . . . . . . Server Lookup APIs . . . . . . . . . .
SKEYADD(XOBWKEY,XOBWDESC,XOBERR) ; add or edit a server key name/desc (no pro	SKEYADD(XOBWKEY,XOBWDESC,XOBERR) ; add or edit a server key name/desc (no pro
 +1       ; input parameters:							 +1       ; input parameters:
 +2       ;  XOBWKEY: name for key						 +2       ;  XOBWKEY: name for key
 +3       ;  XOBWDESC: (optional) brief description				 +3       ;  XOBWDESC: (optional) brief description
 +4       ;  XOBERR: (optional) textual error description as array node(s) st	 +4       ;  XOBERR: (optional) textual error description as array node(s) st
 +5       ;                     at XOBERR(1) / passed by reference		 +5       ;                     at XOBERR(1) / passed by reference
 +6       ; returns: 								 +6       ; returns: 
 +7       ;  >0: success (value = IEN of new or existing entry)			 +7       ;  >0: success (value = IEN of new or existing entry)
 +8       ;  0: failure (did not add/edit key)					 +8       ;  0: failure (did not add/edit key)
 +9        QUIT $$SKEYADD^XOBWLIB1(.XOBWKEY,.XOBWDESC,.XOBERR)		      |	 +9 
										XOBWLIB   8235     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           QUIT $$SKEYADD^XOBWLIB1(.XOBWKEY,.XOBWDESC,.XOBERR)
 +10      ;									 +10      ;
SNAME4KY(XOBWKEY,XOBWSNM,XOBERR) ; get server name based on key			SNAME4KY(XOBWKEY,XOBWSNM,XOBERR) ; get server name based on key
 +1       ; input parameters: 							 +1       ; input parameters: 
 +2       ;  XOBWKEY: name of key to lookup					 +2       ;  XOBWKEY: name of key to lookup
 +3       ;  XOBWSNM: where web server name is returned / passed by reference	 +3       ;  XOBWSNM: where web server name is returned / passed by reference
 +4       ;   XOBERR: (optional) where any error is returned / passed by refe	 +4       ;   XOBERR: (optional) where any error is returned / passed by refe
 +5       ;                     format: <error #>^<error text>			 +5       ;                     format: <error #>^<error text>
 +6       ;            errors possible:						 +6       ;            errors possible:
 +7       ;                    186008^description (key does not exist)		 +7       ;                    186008^description (key does not exist)
 +8       ;                    186009^description (server association missing	 +8       ;                    186009^description (server association missing
 +9       ; returns:								 +9       ; returns:
 +10      ;   1 - successful lookup						 +10      ;   1 - successful lookup
 +11      ;   0 - unsuccessful lookup						 +11      ;   0 - unsuccessful lookup
 +12      ;  									 +12      ;  
 +13       QUIT $$SNAME4KY^XOBWLIB1(.XOBWKEY,.XOBWSNM,.XOBERR)			 +13       QUIT $$SNAME4KY^XOBWLIB1(.XOBWKEY,.XOBWSNM,.XOBERR)
 +14      ;									 +14      ;
 +15      ;. . . . . . . . . . . . . . Developer Testing APIs . . . . . . . .	 +15      ;. . . . . . . . . . . . . . Developer Testing APIs . . . . . . . .
 +16      ;									 +16      ;
SELSRV()  ; -- interactive display and selection of an server			SELSRV()  ; -- interactive display and selection of an server
 +1       ;  Input: None							 +1       ;  Input: None
 +2       ; Output:								 +2       ; Output:
 +3       ;         Function Value - server name				 +3       ;         Function Value - server name
 +4       ; -- display servers							 +4       ; -- display servers
 +5        DO DISPSRVS								 +5        DO DISPSRVS
 +6       ; -- select server							 +6       ; -- select server
 +7        QUIT $$GETSRV()							 +7        QUIT $$GETSRV()
 +8       ;									 +8       ;
GETSRV()  ; -- PUBLIC API: return interactive-user-selected server name		GETSRV()  ; -- PUBLIC API: return interactive-user-selected server name
 +1       ;            User selects a server entry in the WEB SERVER file (#1	 +1       ;            User selects a server entry in the WEB SERVER file (#1
 +2       ;  Input:								 +2       ;  Input:
 +3       ;    None								 +3       ;    None
 +4       ; Output:								 +4       ; Output:
 +5       ;    Function Value - server name (#.01 field of file 18.12)		 +5       ;    Function Value - server name (#.01 field of file 18.12)
 +6       ; 									 +6       ; 
 +7        QUIT $$GETSRV^XOBWLIB1()						 +7        QUIT $$GETSRV^XOBWLIB1()
 +8       ;									 +8       ;
DISPSRVS  ; -- display servers							DISPSRVS  ; -- display servers
 +1       ;  Input:								 +1       ;  Input:
 +2       ;    None								 +2       ;    None
 +3       ; Output:								 +3       ; Output:
 +4       ;    Screen formatted display of app servers and associated fields 	 +4       ;    Screen formatted display of app servers and associated fields 
 +5       ;									 +5       ;
 +6        DO DISPSRVS^XOBWLIB1							 +6        DO DISPSRVS^XOBWLIB1
 +7        QUIT 								 +7        QUIT 
 +8       ;									 +8       ;


*****   INDEX OF XOBWLIB   *****						*****   INDEX OF XOBWLIB   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   XOBCAURL     REGSOAP~,REGSOAP+7,REGREST~,REGREST+5				   XOBCAURL     REGSOAP~,REGSOAP+7,REGREST~,REGREST+5
   XOBCLASS     REGSOAP~,REGSOAP+7						   XOBCLASS     REGSOAP~,REGSOAP+7
   XOBCXT       REGSOAP~,REGSOAP+7,REGREST~,REGREST+5				   XOBCXT       REGSOAP~,REGSOAP+7,REGREST~,REGREST+5
   XOBEO        ERRDISP~,ERRDISP+1,ERR2ARR~,ERR2ARR+1,ZTER~,ZTER+3		   XOBEO        ERRDISP~,ERRDISP+1,ERR2ARR~,ERR2ARR+1,ZTER~,ZTER+3
   XOBEOARR     ZTER+1~,ZTER+3							   XOBEOARR     ZTER+1~,ZTER+3
   XOBERR       GET~,GET+9,GET+10,POST~,POST+9,POST+10,HTTPCHK~,HTTPCHK+10*   |	   XOBERR       GET~,GET+9,GET+10,POST~,POST+9,POST+10,HTTPCHK~,HTTPCHK+10*,E
                ERR2ARR~,ERR2ARR+2,STATCHK~,STATCHK+10*,SKEYADD~,SKEYADD+9    |	                SKEYADD+9,SNAME4KY~,SNAME4KY+13
										
                SNAME4KY~,SNAME4KY+13					      |	*****   INDEX OF XOBWLIB   *****                                             
   XOBFERR      GET~,GET+9,GET+10,POST~,POST+9,POST+10,HTTPCHK~,HTTPCHK+12    |
                STATCHK~,STATCHK+12					      |	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
									      >	   XOBFERR      GET~,GET+9,GET+10,POST~,POST+9,POST+10,HTTPCHK~,HTTPCHK+12,ST
   XOBHRO       EOHTTP~,EOHTTP+3						   XOBHRO       EOHTTP~,EOHTTP+3
   XOBOK        GET+8~,GET+9*,GET+10*,GET+11,POST+8~,POST+9*,POST+10*,POST+11 |	   XOBOK        GET+8~,GET+9*,GET+10*,GET+11,POST+8~,POST+9*,POST+10*,POST+11
                HTTPCHK+6~,HTTPCHK+7*,HTTPCHK+8,HTTPCHK+13,STATCHK+6~	      <
                STATCHK+7*,STATCHK+8,STATCHK+13					                STATCHK+7*,STATCHK+8,STATCHK+13
   XOBPROXY     ATTACHDR~,ATTACHDR+3,EOFAC~,EOFAC+7				   XOBPROXY     ATTACHDR~,ATTACHDR+3,EOFAC~,EOFAC+7
   XOBREST      GET~,GET+10,POST~,POST+10,HTTPCHK~				   XOBREST      GET~,GET+10,POST~,POST+10,HTTPCHK~
   XOBRSCE      GET~,GET+9,POST~,POST+9						   XOBRSCE      GET~,GET+9,POST~,POST+9
   XOBSCODE     HTTPOK~,HTTPOK+2						   XOBSCODE     HTTPOK~,HTTPOK+2
   XOBSO        EOSTAT~,EOSTAT+3,STATCHK~,STATCHK+7,STATCHK+10			   XOBSO        EOSTAT~,EOSTAT+3,STATCHK~,STATCHK+7,STATCHK+10
   XOBSRVR      GETPROXY~,GETPROXY+4,GETREST~,GETREST+4				   XOBSRVR      GETPROXY~,GETPROXY+4,GETREST~,GETREST+4
   XOBWDESC     SKEYADD~,SKEYADD+9						   XOBWDESC     SKEYADD~,SKEYADD+9
   XOBWKEY      SKEYADD~,SKEYADD+9,SNAME4KY~,SNAME4KY+13			   XOBWKEY      SKEYADD~,SKEYADD+9,SNAME4KY~,SNAME4KY+13
   XOBWSDL      REGSOAP~,REGSOAP+7						   XOBWSDL      REGSOAP~,REGSOAP+7
   XOBWSN       GETFAC~,GETFAC+3,GETPROXY~,GETPROXY+4,REGSOAP~,REGSOAP+7,UNRE |	   XOBWSN       GETFAC~,GETFAC+3,GETPROXY~,GETPROXY+4,REGSOAP~,REGSOAP+7,UNRE
                UNREG+3,GETRESTF~,GETRESTF+3,GETREST~,GETREST+4,REGREST~      |	                REGREST~,REGREST+5
                REGREST+5						      <
   XOBWSNM      SNAME4KY~,SNAME4KY+13						   XOBWSNM      SNAME4KY~,SNAME4KY+13
   XOBY         GENPORT~,GENPORT+1						   XOBY         GENPORT~,GENPORT+1

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   NONE										   NONE

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   $system.Status.IsOK             STATCHK+7					   $system.Status.IsOK             STATCHK+7
   XOBEO.%IsA                      ERRDISP+1,ERR2ARR+1				   XOBEO.%IsA                      ERRDISP+1,ERR2ARR+1
   XOBEO.decompose                 ERR2ARR+2					   XOBEO.decompose                 ERR2ARR+2
   XOBEO.display                   ERRDISP+2					   XOBEO.display                   ERRDISP+2
   XOBREST.Get                     GET+9					   XOBREST.Get                     GET+9
   XOBREST.HttpResponse            HTTPCHK+10					   XOBREST.HttpResponse            HTTPCHK+10
   XOBREST.HttpResponse.StatusCode HTTPCHK+7					   XOBREST.HttpResponse.StatusCode HTTPCHK+7
   XOBREST.Post                    POST+9					   XOBREST.Post                    POST+9
   xobw.RestRequestFactory         GETRESTF+3,GETREST+4				   xobw.RestRequestFactory         GETRESTF+3,GETREST+4
   xobw.WebServiceProxyFactory     GETFAC+3,GETPROXY+4				   xobw.WebServiceProxyFactory     GETFAC+3,GETPROXY+4
   xobw.error.HttpError            EOHTTP+3					   xobw.error.HttpError            EOHTTP+3
   xobw.error.ObjectError          EOSTAT+3					   xobw.error.ObjectError          EOSTAT+3

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$EOHTTP     HTTPCHK+10							   $$EOHTTP     HTTPCHK+10
   $$EOSTAT     STATCHK+10							   $$EOSTAT     STATCHK+10
   $$GETSRV     SELSRV+7							   $$GETSRV     SELSRV+7
   $$HTTPCHK    GET+10,POST+10							   $$HTTPCHK    GET+10,POST+10
   $$HTTPOK     HTTPCHK+7							   $$HTTPOK     HTTPCHK+7
   $$STATCHK    GET+9,POST+9							   $$STATCHK    GET+9,POST+9
   DISPSRVS     SELSRV+5							   DISPSRVS     SELSRV+5
   ERR2ARR      ZTER+3								   ERR2ARR      ZTER+3

External References								External References
   ^%ZTER              ZTER+4							   ^%ZTER              ZTER+4
   $$GENPORT^XOBWD     GENPORT+1						   $$GENPORT^XOBWD     GENPORT+1
   REGISTER^XOBWD      REGSOAP+7,REGREST+5					   REGISTER^XOBWD      REGSOAP+7,REGREST+5
   UNREG^XOBWD         UNREG+3							   UNREG^XOBWD         UNREG+3
										
									      >	*****   INDEX OF XOBWLIB   *****                                             
									      >
									      >	External References
   $$EOFAC^XOBWLIB1    EOFAC+7							   $$EOFAC^XOBWLIB1    EOFAC+7
   $$GETSRV^XOBWLIB1   GETSRV+7							   $$GETSRV^XOBWLIB1   GETSRV+7
   $$SKEYADD^XOBWLIB1  SKEYADD+9						   $$SKEYADD^XOBWLIB1  SKEYADD+9
   $$SNAME4KY^XOBWLIB1 SNAME4KY+13						   $$SNAME4KY^XOBWLIB1 SNAME4KY+13
   ATTACHDR^XOBWLIB1   ATTACHDR+3						   ATTACHDR^XOBWLIB1   ATTACHDR+3
   DISPSRVS^XOBWLIB1   DISPSRVS+6						   DISPSRVS^XOBWLIB1   DISPSRVS+6

*****   END   *****								*****   END   *****
									      |	
										XOBWLIB1   6102     printed  Apr 10, 2018@18:46:17                           
XOBWLIB1   6102     printed  Mar 13, 2018@10:55:07                     Page 5 <

XOBWLIB1  ;ALB/MJK - HWSC :: Utilities Library ; 09/13/10 4:00pm		XOBWLIB1  ;ALB/MJK - HWSC :: Utilities Library ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
 +5       ;----------------------- Private Calls used By XOBWLIB ------------	 +5       ;----------------------- Private Calls used By XOBWLIB ------------
HEAD      ; -- display heading							HEAD      ; -- display heading
 +1        WRITE @IOF,!								 +1        WRITE @IOF,!
 +2        WRITE $$CJ^XLFSTR("List of Web Servers",80),!			 +2        WRITE $$CJ^XLFSTR("List of Web Servers",80),!
 +3        WRITE $$CJ^XLFSTR("HealtheVet Web Services Client (HWSC)  "_$$GETB	 +3        WRITE $$CJ^XLFSTR("HealtheVet Web Services Client (HWSC)  "_$$GETB
 +4        WRITE !,?2,"Name",?31,"Server:Port"					 +4        WRITE !,?2,"Name",?31,"Server:Port"
 +5        WRITE !,?2,"====",?31,"==========="					 +5        WRITE !,?2,"====",?31,"==========="
 +6        QUIT 								 +6        QUIT 
 +7       ;									 +7       ;
PAUSE(XOBEXIT) ; -- screen continue message					PAUSE(XOBEXIT) ; -- screen continue message
 +1        NEW X,Y,DTOUT,DUOUT,DIRUT,DIROUT					 +1        NEW X,Y,DTOUT,DUOUT,DIRUT,DIROUT
 +2        WRITE !,?4,"* = enabled"						 +2        WRITE !,?4,"* = enabled"
 +3        SET DIR(0)="E"							 +3        SET DIR(0)="E"
           SET DIR("A")="Enter RETURN to continue or '^' to stop"		           SET DIR("A")="Enter RETURN to continue or '^' to stop"
           DO ^DIR								           DO ^DIR
           KILL DIR								           KILL DIR
 +4        SET XOBEXIT=+$GET(DIRUT)						 +4        SET XOBEXIT=+$GET(DIRUT)
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
GETBLD()  ; -- get current build number						GETBLD()  ; -- get current build number
 +1        QUIT "Build "_$$VERSION^XOBWENV()					 +1        QUIT "Build "_$$VERSION^XOBWENV()
 +2       ;									 +2       ;
STATKSP() ; -- get station number for computing facility			STATKSP() ; -- get station number for computing facility
 +1        QUIT $$STA^XUAF4($$KSP^XUPARAM("INST"))				 +1        QUIT $$STA^XUAF4($$KSP^XUPARAM("INST"))
 +2       ;									 +2       ;
STATUSER() ; -- get station number for logged-on user				STATUSER() ; -- get station number for logged-on user
 +1        QUIT $$STA^XUAF4(DUZ(2))						 +1        QUIT $$STA^XUAF4(DUZ(2))
 +2       ;									 +2       ;
 +3       ; ----------- web service Proxy APIs ------------			 +3       ; ----------- web service Proxy APIs ------------
 +4       ; 									 +4       ; 
ATTACHDR(XOBPROXY) ; -- add VistaInfoHeader to proxy object			ATTACHDR(XOBPROXY) ; -- add VistaInfoHeader to proxy object
 +1        NEW INFOARR								 +1        NEW INFOARR
 +2        SET INFOARR=##class(%Library.ArrayOfDataTypes).%New()		 +2        SET INFOARR=##class(%Library.ArrayOfDataTypes).%New()
 +3        DO INFOARR.SetAt($GET(DUZ,"Unknown"),"duz")				 +3        DO INFOARR.SetAt($GET(DUZ,"Unknown"),"duz")
 +4        DO INFOARR.SetAt($$VPID^XUPS($GET(DUZ)),"vpid")			 +4        DO INFOARR.SetAt($$VPID^XUPS($GET(DUZ)),"vpid")
 +5        DO INFOARR.SetAt($IO,"mio")						 +5        DO INFOARR.SetAt($IO,"mio")
 +6        DO INFOARR.SetAt($JOB,"mjob")					 +6        DO INFOARR.SetAt($JOB,"mjob")
 +7        DO INFOARR.SetAt($$STATKSP(),"station-ksp")				 +7        DO INFOARR.SetAt($$STATKSP(),"station-ksp")
 +8        DO INFOARR.SetAt($$STATUSER(),"station-user")			 +8        DO INFOARR.SetAt($$STATUSER(),"station-user")
 +9        DO INFOARR.SetAt($$PROD^XUPROD(0),"production")			 +9        DO INFOARR.SetAt($$PROD^XUPROD(0),"production")
 +10       DO ##class(xobw.VistaInfoHeader).attachHeader(XOBPROXY,INFOARR)	 +10       DO ##class(xobw.VistaInfoHeader).attachHeader(XOBPROXY,INFOARR)
 +11       QUIT 								 +11       QUIT 
 +12      ; 									 +12      ; 
 +13      ; ----------- error processing APIs ------------			 +13      ; ----------- error processing APIs ------------
EOFAC(XOBPROXY) ; --  Error Object FACtory					EOFAC(XOBPROXY) ; --  Error Object FACtory
 +1        NEW $ETRAP,XOBERR							 +1        NEW $ETRAP,XOBERR
 +2        SET $ETRAP="D ^%ZTER HALT"						 +2        SET $ETRAP="D ^%ZTER HALT"
 +3       ;									 +3       ;
 +4       ; -- SOAP fault error							 +4       ; -- SOAP fault error
 +5        IF $$EC^%ZOSV()["<ZSOAP>"						 +5        IF $$EC^%ZOSV()["<ZSOAP>"
               IF $GET(XOBPROXY)]""						               IF $GET(XOBPROXY)]""
                   IF XOBPROXY.SoapFault]""					                   IF XOBPROXY.SoapFault]""
                       Begin DoDot:1						                       Begin DoDot:1
 +6                        SET XOBERR=##class(xobw.error.SoapError).%New(XOBP	 +6                        SET XOBERR=##class(xobw.error.SoapError).%New(XOBP
 +7                        KILL %objlasterror					 +7                        KILL %objlasterror
                       End DoDot:1						                       End DoDot:1
									      >	
										XOBWLIB1   6102     printed  Apr 10, 2018@18:46:17                           
									      >
                       GOTO EOFACQ						                       GOTO EOFACQ
 +8       ;									 +8       ;
 +9       ; -- object error							 +9       ; -- object error
 +10      ; -- Future: Can we remove the $$EC^%ZOSV()["<ZSOAP>"? (There could	 +10      ; -- Future: Can we remove the $$EC^%ZOSV()["<ZSOAP>"? (There could
 +11       IF $$EC^%ZOSV()["<ZSOAP>"						 +11       IF $$EC^%ZOSV()["<ZSOAP>"
               IF $GET(%objlasterror)]""					               IF $GET(%objlasterror)]""
                   Begin DoDot:1						                   Begin DoDot:1
 +12                   SET XOBERR=##class(xobw.error.ObjectError).%New(.%objl	 +12                   SET XOBERR=##class(xobw.error.ObjectError).%New(.%objl
 +13                   KILL %objlasterror					 +13                   KILL %objlasterror
                   End DoDot:1							                   End DoDot:1
                   GOTO EOFACQ							                   GOTO EOFACQ
 +14      ;									 +14      ;
 +15      ; -- DIALOG object error [used in xobw.WebServiceProxyFactory]	 +15      ; -- DIALOG object error [used in xobw.WebServiceProxyFactory]
 +16      ;     input structure of %XOBWERR:					 +16      ;     input structure of %XOBWERR:
 +17      ;       <DIALOG ien> ^ <parameter #1> ^ <parameter #2> ^ <so on...>	 +17      ;       <DIALOG ien> ^ <parameter #1> ^ <parameter #2> ^ <so on...>
 +18       IF $GET(%XOBWERR)]""							 +18       IF $GET(%XOBWERR)]""
               Begin DoDot:1							               Begin DoDot:1
 +19               NEW XOBPARMS,XOBCODE,Y,I					 +19               NEW XOBPARMS,XOBCODE,Y,I
 +20               SET XOBCODE=$PIECE(%XOBWERR,"^")				 +20               SET XOBCODE=$PIECE(%XOBWERR,"^")
 +21               FOR I=2:1							 +21               FOR I=2:1
                       SET Y=$PIECE(%XOBWERR,"^",I)				                       SET Y=$PIECE(%XOBWERR,"^",I)
                       if Y=""						      |	                       IF Y=""
                           QUIT 						                           QUIT 
                       SET XOBPARMS(I-1)=Y					                       SET XOBPARMS(I-1)=Y
 +22               SET XOBERR=##class(xobw.error.DialogError).%New(XOBCODE,$$	 +22               SET XOBERR=##class(xobw.error.DialogError).%New(XOBCODE,$$
 +23               KILL %XOBWERR						 +23               KILL %XOBWERR
               End DoDot:1							               End DoDot:1
               GOTO EOFACQ							               GOTO EOFACQ
 +24      ;									 +24      ;
 +25      ; -- basic M-type error						 +25      ; -- basic M-type error
 +26       SET XOBERR=##class(xobw.error.BasicError).%New($ECODE,$$EC^%ZOSV()	 +26       SET XOBERR=##class(xobw.error.BasicError).%New($ECODE,$$EC^%ZOSV()
 +27      ;									 +27      ;
EOFACQ    ;									EOFACQ    ;
 +1        QUIT $GET(XOBERR)							 +1        QUIT $GET(XOBERR)
 +2       ;									 +2       ;
 +3       ; ----------- Miscellaneous Helper APIs -----------			 +3       ; ----------- Miscellaneous Helper APIs -----------
 +4       ;									 +4       ;
IMPORT(XOBDIR,XOBFILE) ; -- import Cache-exported XML file into Cache		IMPORT(XOBDIR,XOBFILE) ; -- import Cache-exported XML file into Cache
 +1       ; input parameters: 							 +1       ; input parameters: 
 +2       ;  XOBDIR: directory holding 'export' file				 +2       ;  XOBDIR: directory holding 'export' file
 +3       ;  XOBFILE: 'export' file to import					 +3       ;  XOBFILE: 'export' file to import
 +4       ; return: 								 +4       ; return: 
 +5       ;  success: positive return value					 +5       ;  success: positive return value
 +6       ;  failure: 0^reason							 +6       ;  failure: 0^reason
 +7       ;  									 +7       ;  
 +8        NEW XOBPATH,XOBSTAT,XOBLIST,XOBLERR,X,I				 +8        NEW XOBPATH,XOBSTAT,XOBLIST,XOBLERR,X,I
 +9        SET XOBPATH=$GET(XOBDIR)_$GET(XOBFILE)				 +9        SET XOBPATH=$GET(XOBDIR)_$GET(XOBFILE)
 +10       IF ##class(%File).Exists(XOBPATH)					 +10       IF ##class(%File).Exists(XOBPATH)
               Begin DoDot:1							               Begin DoDot:1
 +11 										 +11 
*** ERROR ***									*** ERROR ***
                   SET XOBSTAT=$system.OBJ.Load(XOBPATH,"ck","",.XOBLIST)	                   SET XOBSTAT=$system.OBJ.Load(XOBPATH,"ck","",.XOBLIST)
 +12               IF XOBSTAT							 +12               IF XOBSTAT
                       QUIT 							                       QUIT 
 +13 										 +13 
*** ERROR ***									*** ERROR ***
                   DO $system.Status.DecomposeStatus(%objlasterror,.XOBLERR)	                   DO $system.Status.DecomposeStatus(%objlasterror,.XOBLERR)
 +14               SET X=""							 +14               SET X=""
                   FOR I=1:1:XOBLERR						                   FOR I=1:1:XOBLERR
                       SET X=X_XOBLERR(I)					                       SET X=X_XOBLERR(I)
 +15               SET XOBSTAT="0^"_X						 +15               SET XOBSTAT="0^"_X
               End DoDot:1							               End DoDot:1
 +16      IF '$TEST								 +16      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +17               SET XOBSTAT="0^File not found"			      |	 +17 
										XOBWLIB1   6102     printed  Apr 10, 2018@18:46:17                           
									      >
									      >	                   SET XOBSTAT="0^File not found"
               End DoDot:1							               End DoDot:1
 +18       QUIT XOBSTAT								 +18       QUIT XOBSTAT
 +19      ;									 +19      ;
 +20      ; ----------- web server lookup key APIs -----------			 +20      ; ----------- web server lookup key APIs -----------
 +21      ; 									 +21      ; 
SKEYADD(XOBWKEY,XOBWDESC,XOBOERR) ; add or edit a server key name/desc (no pr	SKEYADD(XOBWKEY,XOBWDESC,XOBOERR) ; add or edit a server key name/desc (no pr
 +1        NEW XOBFDA,XOBFDAI,XOBIENS,XOBIEN,DIERR,XOBERR			 +1        NEW XOBFDA,XOBFDAI,XOBIENS,XOBIEN,DIERR,XOBERR
 +2       ; force uppercase							 +2       ; force uppercase
           SET XOBWKEY=$$UP^XLFSTR(XOBWKEY)					           SET XOBWKEY=$$UP^XLFSTR(XOBWKEY)
 +3        SET XOBIEN=+$$FIND1^DIC(18.13,"","BX",XOBWKEY,"","","")		 +3        SET XOBIEN=+$$FIND1^DIC(18.13,"","BX",XOBWKEY,"","","")
 +4       ;									 +4       ;
 +5       ; -- If record doesn't already exist, create new			 +5       ; -- If record doesn't already exist, create new
 +6        IF XOBIEN								 +6        IF XOBIEN
               SET XOBIENS=XOBIEN_","						               SET XOBIENS=XOBIEN_","
 +7       IF '$TEST								 +7       IF '$TEST
               SET XOBIENS="+1,"						               SET XOBIENS="+1,"
 +8       ;									 +8       ;
 +9       ; -- Set up array with field values					 +9       ; -- Set up array with field values
 +10       SET XOBFDA(18.13,XOBIENS,.01)=$GET(XOBWKEY)				 +10       SET XOBFDA(18.13,XOBIENS,.01)=$GET(XOBWKEY)
 +11       SET XOBFDA(18.13,XOBIENS,.02)=$GET(XOBWDESC)				 +11       SET XOBFDA(18.13,XOBIENS,.02)=$GET(XOBWDESC)
 +12      ;									 +12      ;
 +13      ; edit								 +13      ; edit
           IF XOBIEN								           IF XOBIEN
               Begin DoDot:1							               Begin DoDot:1
 +14               DO FILE^DIE("E","XOBFDA","XOBERR")				 +14               DO FILE^DIE("E","XOBFDA","XOBERR")
 +15               IF $DATA(DIERR)						 +15               IF $DATA(DIERR)
                       Begin DoDot:2						                       Begin DoDot:2
 +16                       SET XOBIEN=0						 +16                       SET XOBIEN=0
 +17                       DO MSG^DIALOG("AE",.XOBOERR,245,"","XOBERR")		 +17                       DO MSG^DIALOG("AE",.XOBOERR,245,"","XOBERR")
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +18      ; add									 +18      ; add
          IF '$TEST								          IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +19               DO UPDATE^DIE("E","XOBFDA","XOBFDAI","XOBERR")		 +19               DO UPDATE^DIE("E","XOBFDA","XOBFDAI","XOBERR")
 +20               IF $DATA(DIERR)						 +20               IF $DATA(DIERR)
                       Begin DoDot:2						                       Begin DoDot:2
 +21                       SET XOBIEN=0						 +21                       SET XOBIEN=0
 +22                       DO MSG^DIALOG("AE",.XOBOERR,245,"","XOBERR")		 +22                       DO MSG^DIALOG("AE",.XOBOERR,245,"","XOBERR")
                       End DoDot:2						                       End DoDot:2
 +23              IF '$TEST							 +23              IF '$TEST
                       Begin DoDot:2						                       Begin DoDot:2
 +24                       SET XOBIEN=$GET(XOBFDAI(1))				 +24                       SET XOBIEN=$GET(XOBFDAI(1))
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +25      ;									 +25      ;
 +26       QUIT $SELECT($GET(XOBIEN)>0:XOBIEN,1:0)				 +26       QUIT $SELECT($GET(XOBIEN)>0:XOBIEN,1:0)
 +27      ;									 +27      ;
SNAME4KY(XOBWKEY,XOBWSNM,XOBERR) ; get server name based on key			SNAME4KY(XOBWKEY,XOBWSNM,XOBERR) ; get server name based on key
 +1        NEW XOBWSIEN,XOBKYIEN,XOBKYNM,XOBPARMS				 +1        NEW XOBWSIEN,XOBKYIEN,XOBKYNM,XOBPARMS
 +2        SET XOBKYNM=$$UP^XLFSTR(XOBWKEY)					 +2        SET XOBKYNM=$$UP^XLFSTR(XOBWKEY)
 +3       ; -- exist check							 +3       ; -- exist check
 +4        IF XOBKYNM=""							 +4        IF XOBKYNM=""
               SET XOBERR="186008^"_$$EZBLD^DIALOG(186008,"")			               SET XOBERR="186008^"_$$EZBLD^DIALOG(186008,"")
               QUIT 0								               QUIT 0
 +5        SET XOBKYIEN=$ORDER(^XOB(18.13,"PRIMARY",XOBKYNM,""))		 +5        SET XOBKYIEN=$ORDER(^XOB(18.13,"PRIMARY",XOBKYNM,""))
 +6        IF 'XOBKYIEN								 +6        IF 'XOBKYIEN
               SET XOBERR="186008^"_$$EZBLD^DIALOG(186008,XOBKYNM)		               SET XOBERR="186008^"_$$EZBLD^DIALOG(186008,XOBKYNM)
               QUIT 0								               QUIT 0
 +7       ; -- server association check						 +7       ; -- server association check
 +8        SET XOBWSIEN=$PIECE($GET(^XOB(18.13,XOBKYIEN,0)),U,3)	      |	 +8 
										XOBWLIB1   6102     printed  Apr 10, 2018@18:46:17                           
									      >
									      >	           SET XOBWSIEN=$PIECE($GET(^XOB(18.13,XOBKYIEN,0)),U,3)
 +9        IF 'XOBWSIEN								 +9        IF 'XOBWSIEN
               SET XOBERR="186009^"_$$EZBLD^DIALOG(186009,XOBWKEY)		               SET XOBERR="186009^"_$$EZBLD^DIALOG(186009,XOBWKEY)
               QUIT 0								               QUIT 0
 +10      ; -- success								 +10      ; -- success
 +11       SET XOBWSNM=$PIECE($GET(^XOB(18.12,XOBWSIEN,0)),U)			 +11       SET XOBWSNM=$PIECE($GET(^XOB(18.12,XOBWSIEN,0)),U)
 +12       QUIT 1								 +12       QUIT 1
 +13      ;									 +13      ;
 +14      ;------------ Developer Testing APIs ------------			 +14      ;------------ Developer Testing APIs ------------
 +15      ;									 +15      ;
GETSRV()  ; -- PUBLIC API: return interactive-user-selected server name		GETSRV()  ; -- PUBLIC API: return interactive-user-selected server name
 +1        NEW DIC,DUOUT,DTOUT,X,Y						 +1        NEW DIC,DUOUT,DTOUT,X,Y
 +2        SET DIC="^XOB(18.12,"						 +2        SET DIC="^XOB(18.12,"
 +3        SET DIC(0)="AEMQ"							 +3        SET DIC(0)="AEMQ"
 +4        IF $DATA(^XOB(18.12,+$GET(^DISV(DUZ,"^XOB(18.12,")),0))		 +4        IF $DATA(^XOB(18.12,+$GET(^DISV(DUZ,"^XOB(18.12,")),0))
               SET DIC("B")=$PIECE(^(0),U)					               SET DIC("B")=$PIECE(^(0),U)
 +5        DO ^DIC								 +5        DO ^DIC
           KILL DIC								           KILL DIC
 +6        IF +$GET(Y)'>0							 +6        IF +$GET(Y)'>0
               QUIT ""								               QUIT ""
 +7        QUIT $PIECE(Y,U,2)							 +7        QUIT $PIECE(Y,U,2)
 +8       ;									 +8       ;
DISPSRVS  ; -- display servers							DISPSRVS  ; -- display servers
 +1        NEW NAME,IPPORT,DEFAULT,STATUS,SITE,XOBEXIT,XOBI,XOBJ,XOBSVRS,XOBR	 +1        NEW NAME,IPPORT,DEFAULT,STATUS,SITE,XOBEXIT,XOBI,XOBJ,XOBSVRS,XOBR
 +2        SET XOBEXIT=0							 +2        SET XOBEXIT=0
           SET XOBR=""								           SET XOBR=""
 +3        SET XOBSVRS=$NAME(XOBDATA("DILIST","ID"))				 +3        SET XOBSVRS=$NAME(XOBDATA("DILIST","ID"))
 +4        DO LIST^DIC(18.12,"",".01;.03;.04;.06","I","","","","","","",$NAME	 +4        DO LIST^DIC(18.12,"",".01;.03;.04;.06","I","","","","","","",$NAME
 +5        DO HEAD								 +5        DO HEAD
 +6        FOR XOBI=0:0								 +6        FOR XOBI=0:0
               SET XOBI=$ORDER(@XOBSVRS@(XOBI))					               SET XOBI=$ORDER(@XOBSVRS@(XOBI))
               if 'XOBI!(XOBEXIT)					      |	               IF 'XOBI!(XOBEXIT)
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +7                SET NAME=$GET(@XOBSVRS@(XOBI,.01))				 +7                SET NAME=$GET(@XOBSVRS@(XOBI,.01))
 +8                SET IPPORT=$GET(@XOBSVRS@(XOBI,.04))_":"_$GET(@XOBSVRS@(XO	 +8                SET IPPORT=$GET(@XOBSVRS@(XOBI,.04))_":"_$GET(@XOBSVRS@(XO
 +9                SET STATUS=$SELECT($GET(@XOBSVRS@(XOBI,.06))=1:"* ",1:" ")	 +9                SET STATUS=$SELECT($GET(@XOBSVRS@(XOBI,.06))=1:"* ",1:" ")
 +10               IF $Y>(IOSL-5)						 +10               IF $Y>(IOSL-5)
                       DO PAUSE(.XOBEXIT)					                       DO PAUSE(.XOBEXIT)
                       if XOBEXIT					      |	                       IF XOBEXIT
                           QUIT 						                           QUIT 
                       DO HEAD							                       DO HEAD
 +11               WRITE !,STATUS,NAME,?31,IPPORT				 +11               WRITE !,STATUS,NAME,?31,IPPORT
               End DoDot:1							               End DoDot:1
 +12       IF 'XOBEXIT								 +12       IF 'XOBEXIT
               WRITE !,?0,"* = enabled"						               WRITE !,?0,"* = enabled"
 +13       KILL XOBDATA								 +13       KILL XOBDATA
 +14       QUIT 								 +14       QUIT 
 +15      ;									 +15      ;

									      >	*****   ERRORS & WARNINGS IN XOBWLIB1   *****
									      >	   %objlasterrorS - Lower/Mixed case Variable name used.

*****   INDEX OF XOBWLIB1   *****						*****   INDEX OF XOBWLIB1   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   %XOBWERR     EOFAC+18,EOFAC+20,EOFAC+21,EOFAC+23!				   %XOBWERR     EOFAC+18,EOFAC+20,EOFAC+21,EOFAC+23!
										
									      >	*****   INDEX OF XOBWLIB1   *****                                            
									      >
									      >	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
   %objlasterror 								   %objlasterror 
                EOFAC+7!,EOFAC+11,EOFAC+12,EOFAC+13!,IMPORT+13			                EOFAC+7!,EOFAC+11,EOFAC+12,EOFAC+13!,IMPORT+13
   DEFAULT      DISPSRVS+1~							   DEFAULT      DISPSRVS+1~
   DIC          GETSRV+1~,GETSRV+2*,GETSRV+5!					   DIC          GETSRV+1~,GETSRV+2*,GETSRV+5!
   DIC("B"      GETSRV+4*							   DIC("B"      GETSRV+4*
   DIC(0        GETSRV+3*							   DIC(0        GETSRV+3*
   DIERR        SKEYADD+1~,SKEYADD+15,SKEYADD+20				   DIERR        SKEYADD+1~,SKEYADD+15,SKEYADD+20
   DIR          PAUSE+3!							   DIR          PAUSE+3!
   DIR("A"      PAUSE+3*							   DIR("A"      PAUSE+3*
   DIR(0        PAUSE+3*							   DIR(0        PAUSE+3*
   DIROUT       PAUSE+1~							   DIROUT       PAUSE+1~
   DIRUT        PAUSE+1~,PAUSE+4						   DIRUT        PAUSE+1~,PAUSE+4
   DTOUT        PAUSE+1~,GETSRV+1~						   DTOUT        PAUSE+1~,GETSRV+1~
   DUOUT        PAUSE+1~,GETSRV+1~						   DUOUT        PAUSE+1~,GETSRV+1~
   DUZ          ATTACHDR+3,ATTACHDR+4,GETSRV+4					   DUZ          ATTACHDR+3,ATTACHDR+4,GETSRV+4
   DUZ(2        STATUSER+1							   DUZ(2        STATUSER+1
   I            EOFAC+19~,EOFAC+21*,IMPORT+8~,IMPORT+14*			   I            EOFAC+19~,EOFAC+21*,IMPORT+8~,IMPORT+14*
   INFOARR      ATTACHDR+1~,ATTACHDR+2*,ATTACHDR+10				   INFOARR      ATTACHDR+1~,ATTACHDR+2*,ATTACHDR+10
   IOF          HEAD+1								   IOF          HEAD+1
   IOSL         DISPSRVS+10							   IOSL         DISPSRVS+10
   IPPORT       DISPSRVS+1~,DISPSRVS+8*,DISPSRVS+11				   IPPORT       DISPSRVS+1~,DISPSRVS+8*,DISPSRVS+11
   NAME         DISPSRVS+1~,DISPSRVS+7*,DISPSRVS+11				   NAME         DISPSRVS+1~,DISPSRVS+7*,DISPSRVS+11
   SITE         DISPSRVS+1~							   SITE         DISPSRVS+1~
   STATUS       DISPSRVS+1~,DISPSRVS+9*,DISPSRVS+11				   STATUS       DISPSRVS+1~,DISPSRVS+9*,DISPSRVS+11
   U            SNAME4KY+8,SNAME4KY+11,GETSRV+4,GETSRV+7			   U            SNAME4KY+8,SNAME4KY+11,GETSRV+4,GETSRV+7
   X            PAUSE+1~,IMPORT+8~,IMPORT+14*,IMPORT+15,GETSRV+1~		   X            PAUSE+1~,IMPORT+8~,IMPORT+14*,IMPORT+15,GETSRV+1~
   XOBCODE      EOFAC+19~,EOFAC+20*,EOFAC+22					   XOBCODE      EOFAC+19~,EOFAC+20*,EOFAC+22
   XOBDATA      DISPSRVS+4,DISPSRVS+13!						   XOBDATA      DISPSRVS+4,DISPSRVS+13!
   XOBDATA("DILIST" 								   XOBDATA("DILIST" 
                DISPSRVS+3							                DISPSRVS+3
   XOBDIR       IMPORT~,IMPORT+9						   XOBDIR       IMPORT~,IMPORT+9
   XOBERR       EOFAC+1~,EOFAC+6*,EOFAC+12*,EOFAC+22*,EOFAC+26*,EOFACQ+1      |	   XOBERR       EOFAC+1~,EOFAC+6*,EOFAC+12*,EOFAC+22*,EOFAC+26*,EOFACQ+1,SKEY
                SKEYADD+1~,SNAME4KY~,SNAME4KY+4*,SNAME4KY+6*,SNAME4KY+9*      |	   XOBEXIT      PAUSE~,PAUSE+4*,DISPSRVS+1~,DISPSRVS+2*,DISPSRVS+6,DISPSRVS+1
   XOBEXIT      PAUSE~,PAUSE+4*,DISPSRVS+1~,DISPSRVS+2*,DISPSRVS+6,DISPSRVS+1 <
                DISPSRVS+12						      <
   XOBFDA       SKEYADD+1~							   XOBFDA       SKEYADD+1~
   XOBFDA(      SKEYADD+10*,SKEYADD+11*						   XOBFDA(      SKEYADD+10*,SKEYADD+11*
   XOBFDAI      SKEYADD+1~							   XOBFDAI      SKEYADD+1~
   XOBFDAI(1    SKEYADD+24							   XOBFDAI(1    SKEYADD+24
   XOBFILE      IMPORT~,IMPORT+9						   XOBFILE      IMPORT~,IMPORT+9
   XOBI         DISPSRVS+1~,DISPSRVS+6*,DISPSRVS+7,DISPSRVS+8,DISPSRVS+9	   XOBI         DISPSRVS+1~,DISPSRVS+6*,DISPSRVS+7,DISPSRVS+8,DISPSRVS+9
   XOBIEN       SKEYADD+1~,SKEYADD+3*,SKEYADD+6,SKEYADD+13,SKEYADD+16*	      |	   XOBIEN       SKEYADD+1~,SKEYADD+3*,SKEYADD+6,SKEYADD+13,SKEYADD+16*,SKEYAD
                SKEYADD+21*,SKEYADD+24*,SKEYADD+26			      <
   XOBIENS      SKEYADD+1~,SKEYADD+6*,SKEYADD+7*,SKEYADD+10,SKEYADD+11		   XOBIENS      SKEYADD+1~,SKEYADD+6*,SKEYADD+7*,SKEYADD+10,SKEYADD+11
   XOBJ         DISPSRVS+1~							   XOBJ         DISPSRVS+1~
   XOBKYIEN     SNAME4KY+1~,SNAME4KY+5*,SNAME4KY+6,SNAME4KY+8			   XOBKYIEN     SNAME4KY+1~,SNAME4KY+5*,SNAME4KY+6,SNAME4KY+8
   XOBKYNM      SNAME4KY+1~,SNAME4KY+2*,SNAME4KY+4,SNAME4KY+5,SNAME4KY+6	   XOBKYNM      SNAME4KY+1~,SNAME4KY+2*,SNAME4KY+4,SNAME4KY+5,SNAME4KY+6
   XOBLERR      IMPORT+8~,IMPORT+13,IMPORT+14					   XOBLERR      IMPORT+8~,IMPORT+13,IMPORT+14
   XOBLERR(     IMPORT+14							   XOBLERR(     IMPORT+14
   XOBLIST      IMPORT+8~,IMPORT+11						   XOBLIST      IMPORT+8~,IMPORT+11
   XOBOERR      SKEYADD~,SKEYADD+17,SKEYADD+22					   XOBOERR      SKEYADD~,SKEYADD+17,SKEYADD+22
   XOBPARMS     EOFAC+19~,EOFAC+22,SNAME4KY+1~					   XOBPARMS     EOFAC+19~,EOFAC+22,SNAME4KY+1~
   XOBPARMS(    EOFAC+21*							   XOBPARMS(    EOFAC+21*
   XOBPATH      IMPORT+8~,IMPORT+9*,IMPORT+10,IMPORT+11				   XOBPATH      IMPORT+8~,IMPORT+9*,IMPORT+10,IMPORT+11
   XOBPROXY     ATTACHDR~,ATTACHDR+10,EOFAC~,EOFAC+5				   XOBPROXY     ATTACHDR~,ATTACHDR+10,EOFAC~,EOFAC+5
   XOBR         DISPSRVS+1~,DISPSRVS+2*						   XOBR         DISPSRVS+1~,DISPSRVS+2*
   XOBSTAT      IMPORT+8~,IMPORT+11*,IMPORT+12,IMPORT+15*,IMPORT+17*,IMPORT+1	   XOBSTAT      IMPORT+8~,IMPORT+11*,IMPORT+12,IMPORT+15*,IMPORT+17*,IMPORT+1
   XOBSVRS      DISPSRVS+1~,DISPSRVS+3*,DISPSRVS+6,DISPSRVS+7,DISPSRVS+8      |	   XOBSVRS      DISPSRVS+1~,DISPSRVS+3*,DISPSRVS+6,DISPSRVS+7,DISPSRVS+8,DISP
                DISPSRVS+9						      <
   XOBWDESC     SKEYADD~,SKEYADD+11						   XOBWDESC     SKEYADD~,SKEYADD+11
										
   XOBWKEY      SKEYADD~,SKEYADD+2*,SKEYADD+3,SKEYADD+10,SNAME4KY~,SNAME4KY+2 |	*****   INDEX OF XOBWLIB1   *****                                            
                SNAME4KY+9						      |
									      >	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
									      >	   XOBWKEY      SKEYADD~,SKEYADD+2*,SKEYADD+3,SKEYADD+10,SNAME4KY~,SNAME4KY+2
   XOBWSIEN     SNAME4KY+1~,SNAME4KY+8*,SNAME4KY+9,SNAME4KY+11			   XOBWSIEN     SNAME4KY+1~,SNAME4KY+8*,SNAME4KY+9,SNAME4KY+11
   XOBWSNM      SNAME4KY~,SNAME4KY+11*						   XOBWSNM      SNAME4KY~,SNAME4KY+11*
   Y            PAUSE+1~,EOFAC+19~,EOFAC+21*,GETSRV+1~,GETSRV+6,GETSRV+7	   Y            PAUSE+1~,EOFAC+19~,EOFAC+21*,GETSRV+1~,GETSRV+6,GETSRV+7

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^DISV(              GETSRV+4							   ^DISV(              GETSRV+4
   ^XOB(18.12          SNAME4KY+11,GETSRV+4					   ^XOB(18.12          SNAME4KY+11,GETSRV+4
   ^XOB(18.13          SNAME4KY+5,SNAME4KY+8					   ^XOB(18.13          SNAME4KY+5,SNAME4KY+8

Naked Globals									Naked Globals
   ^(0          GETSRV+4							   ^(0          GETSRV+4

Cache Objects									Cache Objects
   $system.OBJ.Load                IMPORT+11					   $system.OBJ.Load                IMPORT+11
   $system.Status.DecomposeStatus  IMPORT+13					   $system.Status.DecomposeStatus  IMPORT+13
   %File                           IMPORT+10					   %File                           IMPORT+10
   %Library.ArrayOfDataTypes       ATTACHDR+2					   %Library.ArrayOfDataTypes       ATTACHDR+2
   INFOARR.SetAt                   ATTACHDR+3,ATTACHDR+4,ATTACHDR+5,ATTACHDR+ |	   INFOARR.SetAt                   ATTACHDR+3,ATTACHDR+4,ATTACHDR+5,ATTACHDR+
                                   ATTACHDR+7,ATTACHDR+8,ATTACHDR+9	      <
   XOBPROXY.SoapFault              EOFAC+5,EOFAC+6				   XOBPROXY.SoapFault              EOFAC+5,EOFAC+6
   xobw.VistaInfoHeader            ATTACHDR+10					   xobw.VistaInfoHeader            ATTACHDR+10
   xobw.error.BasicError           EOFAC+26					   xobw.error.BasicError           EOFAC+26
   xobw.error.DialogError          EOFAC+22					   xobw.error.DialogError          EOFAC+22
   xobw.error.ObjectError          EOFAC+12					   xobw.error.ObjectError          EOFAC+12
   xobw.error.SoapError            EOFAC+6					   xobw.error.SoapError            EOFAC+6

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$GETBLD     HEAD+3								   $$GETBLD     HEAD+3
   $$STATKSP    ATTACHDR+7							   $$STATKSP    ATTACHDR+7
   $$STATUSER   ATTACHDR+8							   $$STATUSER   ATTACHDR+8
   EOFACQ       EOFAC+5,EOFAC+11,EOFAC+18					   EOFACQ       EOFAC+5,EOFAC+11,EOFAC+18
   HEAD         DISPSRVS+5,DISPSRVS+10						   HEAD         DISPSRVS+5,DISPSRVS+10
   PAUSE        DISPSRVS+10							   PAUSE        DISPSRVS+10

External References								External References
   $$EC^%ZOSV          EOFAC+5,EOFAC+11,EOFAC+26				   $$EC^%ZOSV          EOFAC+5,EOFAC+11,EOFAC+26
   $$EZBLD^DIALOG      EOFAC+22,SNAME4KY+4,SNAME4KY+6,SNAME4KY+9		   $$EZBLD^DIALOG      EOFAC+22,SNAME4KY+4,SNAME4KY+6,SNAME4KY+9
   MSG^DIALOG          SKEYADD+17,SKEYADD+22					   MSG^DIALOG          SKEYADD+17,SKEYADD+22
   ^DIC                GETSRV+5							   ^DIC                GETSRV+5
   $$FIND1^DIC         SKEYADD+3						   $$FIND1^DIC         SKEYADD+3
   LIST^DIC            DISPSRVS+4						   LIST^DIC            DISPSRVS+4
   FILE^DIE            SKEYADD+14						   FILE^DIE            SKEYADD+14
   UPDATE^DIE          SKEYADD+19						   UPDATE^DIE          SKEYADD+19
   ^DIR                PAUSE+3							   ^DIR                PAUSE+3
   $$CJ^XLFSTR         HEAD+2,HEAD+3						   $$CJ^XLFSTR         HEAD+2,HEAD+3
   $$UP^XLFSTR         SKEYADD+2,SNAME4KY+2					   $$UP^XLFSTR         SKEYADD+2,SNAME4KY+2
   $$VERSION^XOBWENV   GETBLD+1							   $$VERSION^XOBWENV   GETBLD+1
   $$STA^XUAF4         STATKSP+1,STATUSER+1					   $$STA^XUAF4         STATKSP+1,STATUSER+1
   $$KSP^XUPARAM       STATKSP+1						   $$KSP^XUPARAM       STATKSP+1
   $$PROD^XUPROD       ATTACHDR+9						   $$PROD^XUPROD       ATTACHDR+9
   $$VPID^XUPS         ATTACHDR+4						   $$VPID^XUPS         ATTACHDR+4

*****   END   *****								*****   END   *****
									      |	
										XOBWP004   4586     printed  Apr 10, 2018@18:46:17                           
XOBWP004   4580     printed  Mar 13, 2018@10:55:07                     Page 6 <

XOBWP004  ;OAK/BDT - HWSC ::XOBW*1*4 ; 06/28/2016				XOBWP004  ;OAK/BDT - HWSC ::XOBW*1*4 ; 06/28/2016
 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9		 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9
 +2       ;Per VA Directive 6402, this routine should not be modified.		 +2       ;Per VA Directive 6402, this routine should not be modified.
 +3       ;									 +3       ;
 +4       ; ***** IMPORTANT NOTE *******************************************	 +4       ; ***** IMPORTANT NOTE *******************************************
 +5       ; This routine requires access to the manager (%SYS) namespace and	 +5       ; This routine requires access to the manager (%SYS) namespace and
 +6       ; can only be run by a user with permissions to that namespace.	 +6       ; can only be run by a user with permissions to that namespace.
 +7       ; ****************************************************************	 +7       ; ****************************************************************
 +8       ;									 +8       ;
 +9        NEW XUSL,X								 +9        NEW XUSL,X
 +10       NEW DIF,XCNP								 +10       NEW DIF,XCNP
           KILL ^TMP($JOB,369)							           KILL ^TMP($JOB,369)
 +11       SET X="XOBWLIB"							 +11       SET X="XOBWLIB"
 +12       SET DIF="^TMP($J,369,"						 +12       SET DIF="^TMP($J,369,"
           SET XCNP=0								           SET XCNP=0
           XECUTE ^%ZOSF("LOAD")						           XECUTE ^%ZOSF("LOAD")
 +13       IF $GET(^TMP($JOB,369,2,0))'[";Build 31"				 +13       IF $GET(^TMP($JOB,369,2,0))'[";Build 31"
               DO BMES^XPDUTL("Your system is missing latest build 31st of th	               DO BMES^XPDUTL("Your system is missing latest build 31st of th
               SET XPDABORT=1							               SET XPDABORT=1
 +14       QUIT 								 +14       QUIT 
 +15      ;									 +15      ;
POST      ;  -- main entry point for post-init					POST      ;  -- main entry point for post-init
 +1        DO POST^XOBWPA04							 +1        DO POST^XOBWPA04
 +2        DO POST^XOBWPB04							 +2        DO POST^XOBWPB04
 +3        DO CHECK								 +3        DO CHECK
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
CHECK     ; check privillege							CHECK     ; check privillege
 +1        NEW XOBWNOTE								 +1        NEW XOBWNOTE
 +2 										 +2 
*** ERROR ***									*** ERROR ***

*** ERROR ***									*** ERROR ***
           IF ($ROLES["%All")!($ROLES["%Manager")				           IF ($ROLES["%All")!($ROLES["%Manager")
               DO SSLCONF							               DO SSLCONF
               QUIT 								               QUIT 
 +3        DO INCOMP								 +3        DO INCOMP
 +4        DO MES^XPDUTL(" ** Warning **")					 +4        DO MES^XPDUTL(" ** Warning **")
 +5        SET XOBWNOTE="The SSL/TLS Configuration could not be installed at 	 +5        SET XOBWNOTE="The SSL/TLS Configuration could not be installed at 
 +6        SET XOBWNOTE=XOBWNOTE_"You don't have the required privileged Role	 +6        SET XOBWNOTE=XOBWNOTE_"You don't have the required privileged Role
 +7        SET XOBWNOTE=XOBWNOTE_"A System Administrator must complete this s	 +7        SET XOBWNOTE=XOBWNOTE_"A System Administrator must complete this s
 +8        SET XOBWNOTE=XOBWNOTE_"Please follow the Post-Installation Instruc	 +8        SET XOBWNOTE=XOBWNOTE_"Please follow the Post-Installation Instruc
 +9        DO MES^XPDUTL(XOBWNOTE)						 +9        DO MES^XPDUTL(XOBWNOTE)
 +10       QUIT 								 +10       QUIT 
 +11      ;									 +11      ;
INCOMP    ; generate incomplete-installation message				INCOMP    ; generate incomplete-installation message
 +1        SET ^TMP("PSC DATA",$JOB,1)="Patch XOBW*1.0*4 has been installed b	 +1        SET ^TMP("PSC DATA",$JOB,1)="Patch XOBW*1.0*4 has been installed b
 +2        SET ^TMP("PSC DATA",$JOB,2)=""					 +2        SET ^TMP("PSC DATA",$JOB,2)=""
 +3        SET ^TMP("PSC DATA",$JOB,3)="Please follow the instructions in the	 +3        SET ^TMP("PSC DATA",$JOB,3)="Please follow the instructions in the
 +4        SET ^TMP("PSC DATA",$JOB,4)="to request your respective System Adm	 +4        SET ^TMP("PSC DATA",$JOB,4)="to request your respective System Adm
 +5        SET ^TMP("PSC DATA",$JOB,5)="(Region Operation Center) to assist y	 +5        SET ^TMP("PSC DATA",$JOB,5)="(Region Operation Center) to assist y
 +6        SET ^TMP("PSC DATA",$JOB,6)="of this patch."				 +6        SET ^TMP("PSC DATA",$JOB,6)="of this patch."
 +7        IF $$PROD^XUPROD()							 +7        IF $$PROD^XUPROD()
               DO MESSAGE							               DO MESSAGE
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
MESSAGE   ;set up message and address list					MESSAGE   ;set up message and address list
 +1        SET MSG=$NAME(^TMP("PSC DATA",$JOB))					 +1        SET MSG=$NAME(^TMP("PSC DATA",$JOB))
 +2        SET MSGSBJ="XOBW*1.0*4 "_$GET(^XMB("NETNAME"))			 +2        SET MSGSBJ="XOBW*1.0*4 "_$GET(^XMB("NETNAME"))
 +3        SET WHO("G.PATCH TRACKING XOBW_1_4@DOMAIN.EXT")=""		      |	 +3        SET WHO("G.PATCH TRACKING XOBW_1_4@FORUM.DOMAIN.EXT")=""
 +4        SET WHO("Jose.Luis-Garcia@domain.ext")=""				 +4        SET WHO("Jose.Luis-Garcia@domain.ext")=""
 +5        SET WHO(DUZ)=""						      |	 +5 
										XOBWP004   4586     printed  Apr 10, 2018@18:46:17                           
									      >
									      >	           SET WHO(DUZ)=""
 +6        DO SENDMSG^XMXAPI(DUZ,MSGSBJ,.MSG,.WHO)				 +6        DO SENDMSG^XMXAPI(DUZ,MSGSBJ,.MSG,.WHO)
 +7        KILL ^TMP("PSC DATA",$JOB),WHO,MSG					 +7        KILL ^TMP("PSC DATA",$JOB),WHO,MSG
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
SSLCONF   ;Install SSL Configuration for encryption-only			SSLCONF   ;Install SSL Configuration for encryption-only
 +1        NEW XOBNAME,XOBPROP							 +1        NEW XOBNAME,XOBPROP
 +2        SET XOBNAME="encrypt_only"						 +2        SET XOBNAME="encrypt_only"
 +3       ;I $$EXISTS(XOBNAME,.XOBPROP) D  Q					 +3       ;I $$EXISTS(XOBNAME,.XOBPROP) D  Q
 +4       ;.D BMES^XPDUTL(" o  '"_XOBNAME_"' SSL Config already exists and wi	 +4       ;.D BMES^XPDUTL(" o  '"_XOBNAME_"' SSL Config already exists and wi
 +5       ; .D DISPL(.XOBPROP)							 +5       ; .D DISPL(.XOBPROP)
 +6       ; .Q									 +6       ; .Q
 +7       ; delete								 +7       ; delete
 +8        DO DELETE(XOBNAME)							 +8        DO DELETE(XOBNAME)
 +9       ; create								 +9       ; create
 +10       IF $$CRSSL(XOBNAME,.XOBPROP)						 +10       IF $$CRSSL(XOBNAME,.XOBPROP)
               Begin DoDot:1							               Begin DoDot:1
 +11               DO BMES^XPDUTL(" o  '"_XOBNAME_"' SSL Config successfully 	 +11               DO BMES^XPDUTL(" o  '"_XOBNAME_"' SSL Config successfully 
 +12               DO DISPL(.XOBPROP)						 +12               DO DISPL(.XOBPROP)
 +13               QUIT 							 +13               QUIT 
               End DoDot:1							               End DoDot:1
               QUIT 								               QUIT 
 +14      ;									 +14      ;
 +15       DO BMES^XPDUTL(" o  '"_XOBNAME_"' SSL Config could not be installe	 +15       DO BMES^XPDUTL(" o  '"_XOBNAME_"' SSL Config could not be installe
 +16       QUIT 								 +16       QUIT 
 +17      ;									 +17      ;
DISPL(XOBPROP) ; Print out the result						DISPL(XOBPROP) ; Print out the result
 +1        NEW XOBW,XOBWI							 +1        NEW XOBW,XOBWI
 +2        WRITE !!,?20,"Configuration Values"					 +2        WRITE !!,?20,"Configuration Values"
 +3        SET XOBWI=""								 +3        SET XOBWI=""
           FOR 									           FOR 
               SET XOBWI=$ORDER(XOBPROP(XOBWI))					               SET XOBWI=$ORDER(XOBPROP(XOBWI))
               if XOBWI=""						      |	               IF XOBWI=""
                   QUIT 							                   QUIT 
               WRITE !,?10,XOBWI,?30," : ",$GET(XOBPROP(XOBWI))			               WRITE !,?10,XOBWI,?30," : ",$GET(XOBPROP(XOBWI))
 +4        WRITE !!								 +4        WRITE !!
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
EXISTS(XOBWIN,XOBPROP) ; check an existed SSL					EXISTS(XOBWIN,XOBPROP) ; check an existed SSL
 +1        NEW XOBEXSTS,XOBNAME							 +1        NEW XOBEXSTS,XOBNAME
 +2        Begin DoDot:1							 +2        Begin DoDot:1
 +3            SET XOBNAME=$GET(XOBWIN,"encrypt_only")				 +3            SET XOBNAME=$GET(XOBWIN,"encrypt_only")
               SET XOBEXSTS=0							               SET XOBEXSTS=0
 +4       ; change to %SYS namespace then revert upon finishing			 +4       ; change to %SYS namespace then revert upon finishing
 +5       ;Push current namespace onto the stack				 +5       ;Push current namespace onto the stack

*** ERROR ***									*** ERROR ***
               NEW $NAMESPACE							               NEW $NAMESPACE
 +6       ;Change namespace, revert back upon "Q"				 +6       ;Change namespace, revert back upon "Q"

*** ERROR ***									*** ERROR ***
               SET $NAMESPACE="%SYS"						               SET $NAMESPACE="%SYS"
 +7       ; Check if SSL configuration exists					 +7       ; Check if SSL configuration exists
 +8            SET XOBEXSTS=##class(Security.SSLConfigs).Get(XOBNAME,.XOBPROP	 +8            SET XOBEXSTS=##class(Security.SSLConfigs).Get(XOBNAME,.XOBPROP
 +9            QUIT 								 +9            QUIT 
           End DoDot:1								           End DoDot:1
 +10       QUIT $GET(XOBEXSTS)							 +10       QUIT $GET(XOBEXSTS)
 +11      ;									 +11      ;
CRSSL(XOBWIN,XOBPROP) ; create a new SSL					CRSSL(XOBWIN,XOBPROP) ; create a new SSL
 +1        NEW XOBSTAT,XOBNAME							 +1        NEW XOBSTAT,XOBNAME
 +2        Begin DoDot:1							 +2        Begin DoDot:1
 +3            NEW XOBCONFG,XOBPROP2,XOBSTAT2				      |	 +3 
										XOBWP004   4586     printed  Apr 10, 2018@18:46:17                           
									      >
									      >	               NEW XOBCONFG,XOBPROP2,XOBSTAT2
 +4            SET XOBNAME=$GET(XOBWIN,"encrypt_only")				 +4            SET XOBNAME=$GET(XOBWIN,"encrypt_only")
               SET XOBSTAT=0							               SET XOBSTAT=0
 +5       ; change to %SYS namespace then revert upon finishing			 +5       ; change to %SYS namespace then revert upon finishing
 +6       ;Push current namespace onto the stack				 +6       ;Push current namespace onto the stack

*** ERROR ***									*** ERROR ***
               NEW $NAMESPACE							               NEW $NAMESPACE
 +7       ;Change namespace, revert back upon "Q"				 +7       ;Change namespace, revert back upon "Q"

*** ERROR ***									*** ERROR ***
               SET $NAMESPACE="%SYS"						               SET $NAMESPACE="%SYS"
 +8            SET XOBPROP2("Description")="Patch XOBW*1*4"			 +8            SET XOBPROP2("Description")="Patch XOBW*1*4"
 +9            SET XOBPROP2("Enabled")=1					 +9            SET XOBPROP2("Enabled")=1
 +10           SET XOBPROP2("Protocols")=2					 +10           SET XOBPROP2("Protocols")=2
 +11           SET XOBCONFG=##class(Security.SSLConfigs).%New()			 +11           SET XOBCONFG=##class(Security.SSLConfigs).%New()
 +12           SET XOBSTAT=XOBCONFG.Create(XOBNAME,.XOBPROP2)			 +12           SET XOBSTAT=XOBCONFG.Create(XOBNAME,.XOBPROP2)
 +13      ; get complete set of properties					 +13      ; get complete set of properties
 +14           SET XOBSTAT2=##class(Security.SSLConfigs).Get(XOBNAME,.XOBPROP	 +14           SET XOBSTAT2=##class(Security.SSLConfigs).Get(XOBNAME,.XOBPROP
 +15           QUIT 								 +15           QUIT 
           End DoDot:1								           End DoDot:1
 +16       QUIT $GET(XOBSTAT)							 +16       QUIT $GET(XOBSTAT)
 +17      ;									 +17      ;
CHCKEXST(XOBNAME) ;check and display an SSL					CHCKEXST(XOBNAME) ;check and display an SSL
 +1        NEW XOBPROP								 +1        NEW XOBPROP
 +2        SET XOBNAME=$GET(XOBNAME,"encrypt_only")				 +2        SET XOBNAME=$GET(XOBNAME,"encrypt_only")
 +3        IF $$EXISTS(XOBNAME,.XOBPROP)					 +3        IF $$EXISTS(XOBNAME,.XOBPROP)
               Begin DoDot:1							               Begin DoDot:1
 +4                DO DISPL(.XOBPROP)						 +4                DO DISPL(.XOBPROP)
               End DoDot:1							               End DoDot:1
               QUIT 								               QUIT 
 +5        DO BMES^XPDUTL(" >>>>  '"_XOBNAME_"' SSL Config doesn't exist.")	 +5        DO BMES^XPDUTL(" >>>>  '"_XOBNAME_"' SSL Config doesn't exist.")
 +6        DO BMES^XPDUTL("")							 +6        DO BMES^XPDUTL("")
 +7        QUIT 								 +7        QUIT 
DELETE(XOBWIN) ; delete an existing SSL configuration				DELETE(XOBWIN) ; delete an existing SSL configuration
 +1        NEW XOBNAME,XOBSTAT							 +1        NEW XOBNAME,XOBSTAT
 +2        Begin DoDot:1							 +2        Begin DoDot:1
 +3            SET XOBNAME=$GET(XOBWIN,"encrypt_only")				 +3            SET XOBNAME=$GET(XOBWIN,"encrypt_only")
 +4       ; change to %SYS namespace then revert upon finishing			 +4       ; change to %SYS namespace then revert upon finishing
 +5       ;Push current namespace onto the stack				 +5       ;Push current namespace onto the stack

*** ERROR ***									*** ERROR ***
               NEW $NAMESPACE							               NEW $NAMESPACE
 +6       ;Change namespace, revert back upon "Q"				 +6       ;Change namespace, revert back upon "Q"

*** ERROR ***									*** ERROR ***
               SET $NAMESPACE="%SYS"						               SET $NAMESPACE="%SYS"
 +7       ; Check if SSL configuration exists					 +7       ; Check if SSL configuration exists
 +8            SET XOBSTAT=##class(Security.SSLConfigs).Delete(XOBNAME)		 +8            SET XOBSTAT=##class(Security.SSLConfigs).Delete(XOBNAME)
 +9            QUIT 								 +9            QUIT 
           End DoDot:1								           End DoDot:1
 +10       QUIT 								 +10       QUIT 

*****   ERRORS & WARNINGS IN XOBWP004   *****					*****   ERRORS & WARNINGS IN XOBWP004   *****
   CHECK+2      F - Undefined Special Variable.					   CHECK+2      F - Undefined Special Variable.
   CHECK+2      F - Undefined Special Variable.					   CHECK+2      F - Undefined Special Variable.
   EXISTS+5     F - Undefined Special Variable.					   EXISTS+5     F - Undefined Special Variable.
   EXISTS+5     W - Invalid local variable name.				   EXISTS+5     W - Invalid local variable name.
   EXISTS+5     F - Undefined Special Variable.					   EXISTS+5     F - Undefined Special Variable.
										
									      >	*****   INDEX OF XOBWLIB1   *****                                            
									      >
									      >	*****   ERRORS & WARNINGS IN XOBWP004   *****
   EXISTS+6     F - Undefined Special Variable.					   EXISTS+6     F - Undefined Special Variable.
   EXISTS+6     F - Unrecognized argument in SET command.			   EXISTS+6     F - Unrecognized argument in SET command.
									      >	   EXISTS+8     F - Cache Object doesn't exist.
   CRSSL+6      F - Undefined Special Variable.					   CRSSL+6      F - Undefined Special Variable.
   CRSSL+6      W - Invalid local variable name.				   CRSSL+6      W - Invalid local variable name.
   CRSSL+6      F - Undefined Special Variable.					   CRSSL+6      F - Undefined Special Variable.
   CRSSL+7      F - Undefined Special Variable.					   CRSSL+7      F - Undefined Special Variable.
   CRSSL+7      F - Unrecognized argument in SET command.			   CRSSL+7      F - Unrecognized argument in SET command.
									      >	   CRSSL+11     F - Cache Object doesn't exist.
									      >	   CRSSL+14     F - Cache Object doesn't exist.
   DELETE+5     F - Undefined Special Variable.					   DELETE+5     F - Undefined Special Variable.
   DELETE+5     W - Invalid local variable name.				   DELETE+5     W - Invalid local variable name.
   DELETE+5     F - Undefined Special Variable.					   DELETE+5     F - Undefined Special Variable.
   DELETE+6     F - Undefined Special Variable.					   DELETE+6     F - Undefined Special Variable.
   DELETE+6     F - Unrecognized argument in SET command.			   DELETE+6     F - Unrecognized argument in SET command.
									      >	   DELETE+8     F - Cache Object doesn't exist.

*****   INDEX OF XOBWP004   *****						*****   INDEX OF XOBWP004   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   DIF          XOBWP004+10~,XOBWP004+12*					   DIF          XOBWP004+10~,XOBWP004+12*
   DUZ          MESSAGE+5,MESSAGE+6						   DUZ          MESSAGE+5,MESSAGE+6
   MSG          MESSAGE+1*,MESSAGE+6,MESSAGE+7!					   MSG          MESSAGE+1*,MESSAGE+6,MESSAGE+7!
>> MSGSBJ       MESSAGE+2*,MESSAGE+6						>> MSGSBJ       MESSAGE+2*,MESSAGE+6
   WHO          MESSAGE+6,MESSAGE+7!						   WHO          MESSAGE+6,MESSAGE+7!
   WHO(         MESSAGE+5*							   WHO(         MESSAGE+5*
   WHO("G.PATCH TRACKING XOBW_1_4@DOMAIN.EXT" 				      |	   WHO("G.PATCH TRACKING XOBW_1_4@FORUM.DOMAIN.EXT" 
                MESSAGE+3*							                MESSAGE+3*
   WHO("Jose.Luis-Garcia@domain.ext" 						   WHO("Jose.Luis-Garcia@domain.ext" 
                MESSAGE+4*							                MESSAGE+4*
   X            XOBWP004+9~,XOBWP004+11*					   X            XOBWP004+9~,XOBWP004+11*
   XCNP         XOBWP004+10~,XOBWP004+12*					   XCNP         XOBWP004+10~,XOBWP004+12*
   XOBCONFG     CRSSL+3~,CRSSL+11*						   XOBCONFG     CRSSL+3~,CRSSL+11*
   XOBEXSTS     EXISTS+1~,EXISTS+3*,EXISTS+8*,EXISTS+10				   XOBEXSTS     EXISTS+1~,EXISTS+3*,EXISTS+8*,EXISTS+10
   XOBNAME      SSLCONF+1~,SSLCONF+2*,SSLCONF+8,SSLCONF+10,SSLCONF+11	      |	   XOBNAME      SSLCONF+1~,SSLCONF+2*,SSLCONF+8,SSLCONF+10,SSLCONF+11,SSLCONF
                SSLCONF+15,EXISTS+1~,EXISTS+3*,EXISTS+8,CRSSL+1~,CRSSL+4*     |	                CRSSL+12,CRSSL+14,CHCKEXST~,CHCKEXST+2*,CHCKEXST+3,CHCKEXST+5
                CRSSL+12,CRSSL+14,CHCKEXST~,CHCKEXST+2*,CHCKEXST+3,CHCKEXST+5 |	   XOBPROP      SSLCONF+1~,SSLCONF+10,SSLCONF+12,DISPL~,EXISTS~,EXISTS+8,CRSS
                DELETE+1~,DELETE+3*,DELETE+8				      <
   XOBPROP      SSLCONF+1~,SSLCONF+10,SSLCONF+12,DISPL~,EXISTS~,EXISTS+8,CRSS <
                CRSSL+14,CHCKEXST+1~,CHCKEXST+3,CHCKEXST+4		      <
   XOBPROP(     DISPL+3								   XOBPROP(     DISPL+3
   XOBPROP2     CRSSL+3~,CRSSL+12						   XOBPROP2     CRSSL+3~,CRSSL+12
   XOBPROP2("Description" 							   XOBPROP2("Description" 
                CRSSL+8*							                CRSSL+8*
   XOBPROP2("Enabled" 								   XOBPROP2("Enabled" 
                CRSSL+9*							                CRSSL+9*
   XOBPROP2("Protocols" 							   XOBPROP2("Protocols" 
                CRSSL+10*							                CRSSL+10*
   XOBSTAT      CRSSL+1~,CRSSL+4*,CRSSL+12*,CRSSL+16,DELETE+1~,DELETE+8*	   XOBSTAT      CRSSL+1~,CRSSL+4*,CRSSL+12*,CRSSL+16,DELETE+1~,DELETE+8*
   XOBSTAT2     CRSSL+3~,CRSSL+14*						   XOBSTAT2     CRSSL+3~,CRSSL+14*
   XOBW         DISPL+1~							   XOBW         DISPL+1~
   XOBWI        DISPL+1~,DISPL+3*						   XOBWI        DISPL+1~,DISPL+3*
   XOBWIN       EXISTS~,EXISTS+3,CRSSL~,CRSSL+4,DELETE~,DELETE+3		   XOBWIN       EXISTS~,EXISTS+3,CRSSL~,CRSSL+4,DELETE~,DELETE+3
   XOBWNOTE     CHECK+1~,CHECK+5*,CHECK+6*,CHECK+7*,CHECK+8*,CHECK+9		   XOBWNOTE     CHECK+1~,CHECK+5*,CHECK+6*,CHECK+7*,CHECK+8*,CHECK+9
>> XPDABORT     XOBWP004+13*							>> XPDABORT     XOBWP004+13*
   XUSL         XOBWP004+9~							   XUSL         XOBWP004+9~

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
										
									      >	*****   INDEX OF XOBWP004   *****                                            
									      >
									      >	Global Variables  ( * Changed  ! Killed)
   ^%ZOSF("LOAD"       XOBWP004+12						   ^%ZOSF("LOAD"       XOBWP004+12
   ^TMP("PSC DATA"     INCOMP+1*,INCOMP+2*,INCOMP+3*,INCOMP+4*,INCOMP+5*      |	   ^TMP("PSC DATA"     INCOMP+1*,INCOMP+2*,INCOMP+3*,INCOMP+4*,INCOMP+5*,INCO
                       INCOMP+6*,MESSAGE+1,MESSAGE+7!			      <
   ^TMP($J             XOBWP004+10!,XOBWP004+13					   ^TMP($J             XOBWP004+10!,XOBWP004+13
   ^XMB("NETNAME"      MESSAGE+2						   ^XMB("NETNAME"      MESSAGE+2

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   Security.SSLConfigs             EXISTS+8,CRSSL+11,CRSSL+14,DELETE+8		   Security.SSLConfigs             EXISTS+8,CRSSL+11,CRSSL+14,DELETE+8
   XOBCONFG.Create                 CRSSL+12					   XOBCONFG.Create                 CRSSL+12

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$CRSSL      SSLCONF+10							   $$CRSSL      SSLCONF+10
   $$EXISTS     CHCKEXST+3							   $$EXISTS     CHCKEXST+3
   CHECK        POST+3								   CHECK        POST+3
   DELETE       SSLCONF+8							   DELETE       SSLCONF+8
   DISPL        SSLCONF+12,CHCKEXST+4						   DISPL        SSLCONF+12,CHCKEXST+4
   INCOMP       CHECK+3								   INCOMP       CHECK+3
   MESSAGE      INCOMP+7							   MESSAGE      INCOMP+7
   SSLCONF      CHECK+2								   SSLCONF      CHECK+2

External References								External References
   SENDMSG^XMXAPI      MESSAGE+6						   SENDMSG^XMXAPI      MESSAGE+6
   POST^XOBWPA04       POST+1							   POST^XOBWPA04       POST+1
   POST^XOBWPB04       POST+2							   POST^XOBWPB04       POST+2
   BMES^XPDUTL         XOBWP004+13,SSLCONF+11,SSLCONF+15,CHCKEXST+5,CHCKEXST+	   BMES^XPDUTL         XOBWP004+13,SSLCONF+11,SSLCONF+15,CHCKEXST+5,CHCKEXST+
   MES^XPDUTL          CHECK+4,CHECK+9						   MES^XPDUTL          CHECK+4,CHECK+9
   $$PROD^XUPROD       INCOMP+7							   $$PROD^XUPROD       INCOMP+7

*****   END   *****								*****   END   *****
									      |	
										XOBWPA04   8449     printed  Apr 10, 2018@18:46:17                           
XOBWPA04   8449     printed  Mar 13, 2018@10:55:07                     Page 7 <

XOBWPA04  ;OAK/BDT - HWSC :: Environmental Check ; 06/28/2016			XOBWPA04  ;OAK/BDT - HWSC :: Environmental Check ; 06/28/2016
 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9		 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9
 +2       ;Per VA Directive 6402, this routine should not be modified.		 +2       ;Per VA Directive 6402, this routine should not be modified.
 +3       ;									 +3       ;
 +4       ; ***** IMPORTANT NOTE *******************************************	 +4       ; ***** IMPORTANT NOTE *******************************************
 +5       ; This routine requires access to the manager (%SYS) namespace and	 +5       ; This routine requires access to the manager (%SYS) namespace and
 +6       ; can only be run by a user with permissions to that namespace.	 +6       ; can only be run by a user with permissions to that namespace.
 +7       ; ****************************************************************	 +7       ; ****************************************************************
 +8       ;									 +8       ;
 +9       ; Loads "xobw4.xml" into XOBW*1*4 transport global. Post-installati	 +9       ; Loads "xobw4.xml" into XOBW*1*4 transport global. Post-installati
 +10      ; routine ^XOBWPA04 will reconstruct the file for the installation 	 +10      ; routine ^XOBWPA04 will reconstruct the file for the installation 
 +11      ; classes into VistA to support SSL. The "xobw4.xml"			 +11      ; classes into VistA to support SSL. The "xobw4.xml"
 +12      ; file must be in the PRIMARY HFS DIRECTORY prior to transport.	 +12      ; file must be in the PRIMARY HFS DIRECTORY prior to transport.
 +13      ;									 +13      ;
 +14      ; Note: Make sure that there are no lines longer than 255 chars in 	 +14      ; Note: Make sure that there are no lines longer than 255 chars in 
 +15      ; to be loaded! It appears $$FTG is not creating overflow nodes.	 +15      ; to be loaded! It appears $$FTG is not creating overflow nodes.
 +16      ;									 +16      ;
POST      ;									POST      ;
 +1       ;									 +1       ;
           DO SETDATA								           DO SETDATA
 +2       ;									 +2       ;
           DO IMPDATA								           DO IMPDATA
 +3        QUIT 								 +3        QUIT 
GETDATA   ; export data from xobw4.xml file					GETDATA   ; export data from xobw4.xml file
 +1        NEW I,X,XFILE,XPATH,XREF						 +1        NEW I,X,XFILE,XPATH,XREF
 +2        KILL ^TMP($JOB,4)							 +2        KILL ^TMP($JOB,4)
 +3        SET XFILE="xobw4.xml"						 +3        SET XFILE="xobw4.xml"
 +4       ;PRIMARY HFS DIRECTORY						 +4       ;PRIMARY HFS DIRECTORY
           SET XPATH=$$DEFDIR^%ZISH						           SET XPATH=$$DEFDIR^%ZISH
 +5        SET XREF="^TMP("_$JOB_",4,1,0)"					 +5        SET XREF="^TMP("_$JOB_",4,1,0)"
 +6       ;Load file into global						 +6       ;Load file into global
           SET X=$$FTG^%ZISH(XPATH,XFILE,XREF,3)				           SET X=$$FTG^%ZISH(XPATH,XFILE,XREF,3)
 +7        QUIT 								 +7        QUIT 
 +8       ;									 +8       ;
IMPDATA   ; import data into xobw4.xml file					IMPDATA   ; import data into xobw4.xml file
 +1        NEW XDIR,XOBWY,Y							 +1        NEW XDIR,XOBWY,Y
 +2        SET XDIR=$$DEFDIR^%ZISH						 +2        SET XDIR=$$DEFDIR^%ZISH
 +3        SET XREF="^TMP("_$JOB_",4,1,0)"					 +3        SET XREF="^TMP("_$JOB_",4,1,0)"
 +4       ;Export ^TMP global to XML file					 +4       ;Export ^TMP global to XML file
           SET Y=$$GTF^%ZISH(XREF,3,XDIR,"xobw4.xml")				           SET Y=$$GTF^%ZISH(XREF,3,XDIR,"xobw4.xml")
 +5        KILL ^TMP($JOB,4)							 +5        KILL ^TMP($JOB,4)
 +6        SET XDIR=$$DEFDIR^%ZISH						 +6        SET XDIR=$$DEFDIR^%ZISH
 +7       ;Import Cache classes							 +7       ;Import Cache classes
           SET XOBWY=$$IMPORT^XOBWLIB1(XDIR,"xobw4.xml")			           SET XOBWY=$$IMPORT^XOBWLIB1(XDIR,"xobw4.xml")
 +8        IF 'XOBWY								 +8        IF 'XOBWY
               Begin DoDot:1							               Begin DoDot:1
 +9                DO BMES^XPDUTL("Error occurred during the importing of sup	 +9                DO BMES^XPDUTL("Error occurred during the importing of sup
 +10               DO MES^XPDUTL("  Directory: "_XDIR)				 +10               DO MES^XPDUTL("  Directory: "_XDIR)
 +11               DO MES^XPDUTL("  File Name: "_"xobw4.xml")			 +11               DO MES^XPDUTL("  File Name: "_"xobw4.xml")
 +12               DO MES^XPDUTL("      Error: "_$PIECE(XOBWY,"^",2))		 +12               DO MES^XPDUTL("      Error: "_$PIECE(XOBWY,"^",2))
 +13               DO MES^XPDUTL(" o  Classes not imported.")			 +13               DO MES^XPDUTL(" o  Classes not imported.")
               End DoDot:1							               End DoDot:1
 +14      IF '$TEST								 +14      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +15               DO MES^XPDUTL(" o  Support classes imported successfully."	 +15               DO MES^XPDUTL(" o  Support classes imported successfully."
 +16               DO MES^XPDUTL(" ")						 +16               DO MES^XPDUTL(" ")
               End DoDot:1							               End DoDot:1
 +17       QUIT 								 +17       QUIT 
 +18      ;									 +18      ;
SETDATA   ;									SETDATA   ;
 +1        NEW I,IT								 +1        NEW I,IT
 +2        KILL ^TMP($JOB,4)						      |	 +2 
										XOBWPA04   8449     printed  Apr 10, 2018@18:46:17                           
									      >
									      >	           KILL ^TMP($JOB,4)
 +3        FOR I=1:1:158							 +3        FOR I=1:1:158
               SET IT=$TEXT(DATA+I)						               SET IT=$TEXT(DATA+I)
               SET ^TMP($JOB,4,I,0)=$PIECE(IT,";;",2)				               SET ^TMP($JOB,4,I,0)=$PIECE(IT,";;",2)
 +4        QUIT 								 +4        QUIT 
DATA      ;									DATA      ;
 +1       ;;<?xml version="1.0" encoding="UTF-8"?>				 +1       ;;<?xml version="1.0" encoding="UTF-8"?>
 +2       ;;<Export generator="Cache" version="25" zv="Cache for UNIX (Red Ha	 +2       ;;<Export generator="Cache" version="25" zv="Cache for UNIX (Red Ha
 +3       ;;<Class name="xobw.WebServiceProxyFactory">				 +3       ;;<Class name="xobw.WebServiceProxyFactory">
 +4       ;;<Description><![CDATA[						 +4       ;;<Description><![CDATA[
 +5       ;;This factory class contains methods to create web service proxy i	 +5       ;;This factory class contains methods to create web service proxy i
 +6       ;;<br><br>As part of the creation process, web server ip/port resol	 +6       ;;<br><br>As part of the creation process, web server ip/port resol
 +7       ;;any security implementation, as defined by ISS, is executed. ]]><	 +7       ;;any security implementation, as defined by ISS, is executed. ]]><
 +8       ;;<ClassType/>							 +8       ;;<ClassType/>
 +9       ;;<ProcedureBlock>1</ProcedureBlock>					 +9       ;;<ProcedureBlock>1</ProcedureBlock>
 +10      ;;<Super>%RegisteredObject</Super>					 +10      ;;<Super>%RegisteredObject</Super>
 +11      ;;<TimeChanged>64072,51245.767727</TimeChanged>			 +11      ;;<TimeChanged>64072,51245.767727</TimeChanged>
 +12      ;;<TimeCreated>60655,58903.754395</TimeCreated>			 +12      ;;<TimeCreated>60655,58903.754395</TimeCreated>
 +13      ;;									 +13      ;;
 +14      ;;<UDLText name="T">							 +14      ;;<UDLText name="T">
 +15      ;;<Content><![CDATA[							 +15      ;;<Content><![CDATA[
 +16      ;;// 1.0;HwscWebServiceClient   ;;September 13, 2010			 +16      ;;// 1.0;HwscWebServiceClient   ;;September 13, 2010
 +17      ;;									 +17      ;;
 +18      ;;]]></Content>							 +18      ;;]]></Content>
 +19      ;;</UDLText>								 +19      ;;</UDLText>
 +20      ;;									 +20      ;;
 +21      ;;<UDLText name="T">							 +21      ;;<UDLText name="T">
 +22      ;;<Content><![CDATA[							 +22      ;;<Content><![CDATA[
 +23      ;;// HealtheVet Web Service Client v1 [Build: 1.0.1.009]		 +23      ;;// HealtheVet Web Service Client v1 [Build: 1.0.1.009]
 +24      ;;									 +24      ;;
 +25      ;;]]></Content>							 +25      ;;]]></Content>
 +26      ;;</UDLText>								 +26      ;;</UDLText>
 +27      ;;									 +27      ;;
 +28      ;;<Property name="webServiceMetadata">				 +28      ;;<Property name="webServiceMetadata">
 +29      ;;<Type>WebServiceMetadata</Type>					 +29      ;;<Type>WebServiceMetadata</Type>
 +30      ;;<Private>1</Private>						 +30      ;;<Private>1</Private>
 +31      ;;</Property>								 +31      ;;</Property>
 +32      ;;									 +32      ;;
 +33      ;;<Method name="%OnNew">						 +33      ;;<Method name="%OnNew">
 +34      ;;<FormalSpec>webServiceName:%String</FormalSpec>			 +34      ;;<FormalSpec>webServiceName:%String</FormalSpec>
 +35      ;;<ReturnType>%Status</ReturnType>					 +35      ;;<ReturnType>%Status</ReturnType>
 +36      ;;<Implementation><![CDATA[						 +36      ;;<Implementation><![CDATA[
 +37      ;; set webServiceId=##class(xobw.WebServiceMetadata).getWebServiceI	 +37      ;; set webServiceId=##class(xobw.WebServiceMetadata).getWebServiceI
 +38      ;; if 'webServiceId {							 +38      ;; if 'webServiceId {
 +39      ;;     do ##class(xobw.error.DialogError).forceError(186006_"^"_web	 +39      ;;     do ##class(xobw.error.DialogError).forceError(186006_"^"_web
 +40      ;; }									 +40      ;; }
 +41      ;; set ..webServiceMetadata=##class(xobw.WebServiceMetadata).%OpenI	 +41      ;; set ..webServiceMetadata=##class(xobw.WebServiceMetadata).%OpenI
 +42      ;; quit $$$OK								 +42      ;; quit $$$OK
 +43      ;;]]></Implementation>						 +43      ;;]]></Implementation>
 +44      ;;</Method>								 +44      ;;</Method>
 +45      ;;									 +45      ;;
 +46      ;;<Method name="getProxy">						 +46      ;;<Method name="getProxy">
 +47      ;;<Description><![CDATA[						 +47      ;;<Description><![CDATA[
 +48      ;;Creates web service client proxy for a web server.			 +48      ;;Creates web service client proxy for a web server.
 +49      ;;<ul>								 +49      ;;<ul>
 +50      ;;Parameter:								 +50      ;;Parameter:
 +51      ;; <li><parameter>webServerName = name of server as it appears in N	 +51      ;; <li><parameter>webServerName = name of server as it appears in N
 +52      ;;</ul>]]></Description>						 +52      ;;</ul>]]></Description>
 +53      ;;<FormalSpec>webServerName:%String</FormalSpec>			 +53      ;;<FormalSpec>webServerName:%String</FormalSpec>
 +54      ;;<ReturnType>%SOAP.WebClient</ReturnType>				 +54      ;;<ReturnType>%SOAP.WebClient</ReturnType>
 +55      ;;<Implementation><![CDATA[						 +55      ;;<Implementation><![CDATA[
 +56      ;;  // Future: Add any required headers to proxy when discovered, i	 +56      ;;  // Future: Add any required headers to proxy when discovered, i
 +57      ;;  new %proxy							 +57      ;;  new %proxy
 +58      ;;  if ..webServiceMetadata.type'=1 {					 +58      ;;  if ..webServiceMetadata.type'=1 {
 +59      ;;      do ##class(xobw.error.DialogError).forceError(186007)		 +59      ;;      do ##class(xobw.error.DialogError).forceError(186007)
 +60      ;;  }									 +60      ;;  }
 +61      ;;  xecute "set %proxy=##class("_..webServiceMetadata.proxyClassNam	 +61      ;;  xecute "set %proxy=##class("_..webServiceMetadata.proxyClassNam
 +62      ;;  if %proxy'=$$$NULLOREF {						 +62      ;;  if %proxy'=$$$NULLOREF {
 +63      ;;   set webServerId=##class(xobw.WebServer).getWebServerId(webServ	 +63      ;;   set webServerId=##class(xobw.WebServer).getWebServerId(webServ
 +64      ;;    if 'webServerId {						 +64      ;;    if 'webServerId {
 +65      ;;      do ##class(xobw.error.DialogError).forceError(186005_"^"_we	 +65      ;;      do ##class(xobw.error.DialogError).forceError(186005_"^"_we
 +66      ;;   }    								 +66      ;;   }    
 +67      ;;   set webServer=##class(xobw.WebServer).%OpenId(webServerId)	 +67      ;;   set webServer=##class(xobw.WebServer).%OpenId(webServerId)
 +68      ;;   									 +68      ;;   
 +69      ;;   // web server is disabled					 +69      ;;   // web server is disabled
 +70      ;;   if 'webServer.status {						 +70      ;;   if 'webServer.status {
 +71      ;;    do ##class(xobw.error.DialogError).forceError(186002_"^"_webS	 +71      ;;    do ##class(xobw.error.DialogError).forceError(186002_"^"_webS
 +72      ;;   }								 +72      ;;   }
 +73      ;;   									 +73      ;;   
 +74      ;;   do ..setUpCredentials(webServer, %proxy)				 +74      ;;   do ..setUpCredentials(webServer, %proxy)
 +75      ;;   do ..setUpLocation(webServer, %proxy)				 +75      ;;   do ..setUpLocation(webServer, %proxy)
 +76      ;;  }									 +76      ;;  }
 +77      ;; quit $get(%proxy)							 +77      ;; quit $get(%proxy)
 +78      ;;]]></Implementation>						 +78      ;;]]></Implementation>
 +79      ;;</Method>								 +79      ;;</Method>
 +80      ;;									 +80      ;;
 +81      ;;<Method name="setUpCredentials">					 +81      ;;<Method name="setUpCredentials">
 +82      ;;<FormalSpec>webServer:WebServer,proxy:%SOAP.WebClient</FormalSpec	 +82      ;;<FormalSpec>webServer:WebServer,proxy:%SOAP.WebClient</FormalSpec
 +83      ;;<Private>1</Private>						 +83      ;;<Private>1</Private>
 +84      ;;<Implementation><![CDATA[						 +84      ;;<Implementation><![CDATA[
 +85      ;; set authorizedWebServiceId=##class(xobw.WebServicesAuthorized).g	 +85      ;; set authorizedWebServiceId=##class(xobw.WebServicesAuthorized).g
 +86      ;; 									 +86      ;; 
 +87      ;; // web service is not authorized					 +87      ;; // web service is not authorized
 +88      ;; if 'authorizedWebServiceId {					 +88      ;; if 'authorizedWebServiceId {
 +89      ;;  do ##class(xobw.error.DialogError).forceError(186003_"^"_..webS	 +89      ;;  do ##class(xobw.error.DialogError).forceError(186003_"^"_..webS
 +90      ;; }									 +90      ;; }
 +91      ;; 									 +91      ;; 
 +92      ;; set authorizedWebService=##class(xobw.WebServicesAuthorized).%Op	 +92      ;; set authorizedWebService=##class(xobw.WebServicesAuthorized).%Op
 +93      ;; 									 +93      ;; 
 +94      ;; // web service is disabled						 +94      ;; // web service is disabled
 +95      ;; if 'authorizedWebService.status {					 +95      ;; if 'authorizedWebService.status {
 +96      ;;  do ##class(xobw.error.DialogError).forceError(186004_"^"_..webS	 +96      ;;  do ##class(xobw.error.DialogError).forceError(186004_"^"_..webS
 +97      ;; }									 +97      ;; }
 +98      ;; 									 +98      ;; 
 +99      ;; if webServer.loginRequired="1"!(webServer.loginRequired="") {	 +99      ;; if webServer.loginRequired="1"!(webServer.loginRequired="") {
 +100     ;;  set proxy.HttpUsername=webServer.userName				 +100     ;;  set proxy.HttpUsername=webServer.userName
 +101     ;;  set proxy.HttpPassword=webServer.getPassword()			 +101     ;;  set proxy.HttpPassword=webServer.getPassword()
 +102     ;; }									 +102     ;; }
 +103     ;; quit								 +103     ;; quit
 +104     ;;]]></Implementation>						 +104     ;;]]></Implementation>
 +105     ;;</Method>								 +105     ;;</Method>
 +106     ;;									 +106     ;;
 +107     ;;<Method name="setUpLocation">					 +107     ;;<Method name="setUpLocation">
 +108     ;;<FormalSpec>webServer:WebServer,proxy:%SOAP.WebClient</FormalSpec	 +108     ;;<FormalSpec>webServer:WebServer,proxy:%SOAP.WebClient</FormalSpec
 +109     ;;<Private>1</Private>						 +109     ;;<Private>1</Private>
 +110     ;;<Implementation><![CDATA[						 +110     ;;<Implementation><![CDATA[
 +111     ;; if (webServer.sslEnabled && ('$$SSLOK^XOBWENV())) {		 +111     ;; if (webServer.sslEnabled && ('$$SSLOK^XOBWENV())) {
 +112     ;;  do ##class(xobw.error.DialogError).forceError(186002_"^"_webSer	 +112     ;;  do ##class(xobw.error.DialogError).forceError(186002_"^"_webSer
 +113     ;; }									 +113     ;; }
 +114     ;; if (webServer.sslEnabled) {					 +114     ;; if (webServer.sslEnabled) {
 +115     ;;  set proxy.Location="https://"_webServer.server_":"_webServer.ss	 +115     ;;  set proxy.Location="https://"_webServer.server_":"_webServer.ss
 +116     ;;  set proxy.SSLConfiguration = webServer.sslConfiguration		 +116     ;;  set proxy.SSLConfiguration = webServer.sslConfiguration
 +117     ;;  set proxy.SSLCheckServerIdentity = 0				 +117     ;;  set proxy.SSLCheckServerIdentity = 0
 +118     ;; } else {								 +118     ;; } else {
 +119     ;;  set proxy.Location="http://"_webServer.server_":"_webServer.por	 +119     ;;  set proxy.Location="http://"_webServer.server_":"_webServer.por
 +120     ;; }									 +120     ;; }
 +121     ;; set proxy.Timeout=webServer.defaultTimeout				 +121     ;; set proxy.Timeout=webServer.defaultTimeout
 +122     ;; quit								 +122     ;; quit
 +123     ;;]]></Implementation>						 +123     ;;]]></Implementation>
 +124     ;;</Method>								 +124     ;;</Method>
 +125     ;;									 +125     ;;
 +126     ;;<Method name="close">						 +126     ;;<Method name="close">
 +127     ;;<Description><![CDATA[						 +127     ;;<Description><![CDATA[
 +128     ;;Close web service proxy factory					 +128     ;;Close web service proxy factory
 +129     ;;<br>								 +129     ;;<br>
 +130     ;;<br>Performs any close processing activities required.]]></Descri	 +130     ;;<br>Performs any close processing activities required.]]></Descri
 +131     ;;<ReturnType>%Status</ReturnType>					 +131     ;;<ReturnType>%Status</ReturnType>
 +132     ;;<Implementation><![CDATA[ quit $$$OK				 +132     ;;<Implementation><![CDATA[ quit $$$OK
 +133     ;;]]></Implementation>						 +133     ;;]]></Implementation>
 +134     ;;</Method>								 +134     ;;</Method>
 +135     ;;									 +135     ;;
 +136     ;;<Method name="getWebServiceProxy">					 +136     ;;<Method name="getWebServiceProxy">
 +137     ;;<Description><![CDATA[						 +137     ;;<Description><![CDATA[
 +138     ;;Create web service proxy						 +138     ;;Create web service proxy
 +139     ;;<ul>								 +139     ;;<ul>
 +140     ;;Parameters:								 +140     ;;Parameters:
 +141     ;; <li><parameter>webServiceName = name of service as it appears NA	 +141     ;; <li><parameter>webServiceName = name of service as it appears NA
 +142     ;; <li><parameter>webServerName = name of server as it appears NAME	 +142     ;; <li><parameter>webServerName = name of server as it appears NAME
 +143     ;;</ul>								 +143     ;;</ul>
 +144     ;;<br><b>Restricted Use:</b> This method is for HWSC use only. Appl	 +144     ;;<br><b>Restricted Use:</b> This method is for HWSC use only. Appl
 +145     ;;<ClassMethod>1</ClassMethod>					 +145     ;;<ClassMethod>1</ClassMethod>
 +146     ;;<FormalSpec>webServiceName:%String,webServerName:%String</FormalS	 +146     ;;<FormalSpec>webServiceName:%String,webServerName:%String</FormalS
 +147     ;;<ReturnType>%SOAP.WebClient</ReturnType>				 +147     ;;<ReturnType>%SOAP.WebClient</ReturnType>
 +148     ;;<Implementation><![CDATA[						 +148     ;;<Implementation><![CDATA[
 +149     ;; set factory=##class(xobw.WebServiceProxyFactory).%New(webService	 +149     ;; set factory=##class(xobw.WebServiceProxyFactory).%New(webService
 +150     ;; if factory'=$$$NULLOREF {						 +150     ;; if factory'=$$$NULLOREF {
 +151     ;;  set proxy=factory.getProxy(webServerName)				 +151     ;;  set proxy=factory.getProxy(webServerName)
 +152     ;;  set ok=factory.close()						 +152     ;;  set ok=factory.close()
 +153     ;; }									 +153     ;; }
 +154     ;; quit $get(proxy,$$$NULLOREF)					 +154     ;; quit $get(proxy,$$$NULLOREF)
 +155     ;;]]></Implementation>						 +155     ;;]]></Implementation>
 +156     ;;</Method>								 +156     ;;</Method>
 +157     ;;</Class>								 +157     ;;</Class>
 +158     ;;</Export>								 +158     ;;</Export>


*****   INDEX OF XOBWPA04   *****						*****   INDEX OF XOBWPA04   *****
										
										
									      >	*****   INDEX OF XOBWPA04   *****                                            

Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   I            GETDATA+1~,SETDATA+1~,SETDATA+3*				   I            GETDATA+1~,SETDATA+1~,SETDATA+3*
   IT           SETDATA+1~,SETDATA+3*						   IT           SETDATA+1~,SETDATA+3*
   X            GETDATA+1~,GETDATA+6*						   X            GETDATA+1~,GETDATA+6*
   XDIR         IMPDATA+1~,IMPDATA+2*,IMPDATA+4,IMPDATA+6*,IMPDATA+7,IMPDATA+	   XDIR         IMPDATA+1~,IMPDATA+2*,IMPDATA+4,IMPDATA+6*,IMPDATA+7,IMPDATA+
   XFILE        GETDATA+1~,GETDATA+3*,GETDATA+6					   XFILE        GETDATA+1~,GETDATA+3*,GETDATA+6
   XOBWY        IMPDATA+1~,IMPDATA+7*,IMPDATA+8,IMPDATA+12			   XOBWY        IMPDATA+1~,IMPDATA+7*,IMPDATA+8,IMPDATA+12
   XPATH        GETDATA+1~,GETDATA+4*,GETDATA+6					   XPATH        GETDATA+1~,GETDATA+4*,GETDATA+6
   XREF         GETDATA+1~,GETDATA+5*,GETDATA+6,IMPDATA+3*,IMPDATA+4		   XREF         GETDATA+1~,GETDATA+5*,GETDATA+6,IMPDATA+3*,IMPDATA+4
   Y            IMPDATA+1~,IMPDATA+4*						   Y            IMPDATA+1~,IMPDATA+4*

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP($J             GETDATA+2!,IMPDATA+5!,SETDATA+2!,SETDATA+3*		   ^TMP($J             GETDATA+2!,IMPDATA+5!,SETDATA+2!,SETDATA+3*

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   $T(DATA+I    SETDATA+3							   $T(DATA+I    SETDATA+3

Label References								Label References
   IMPDATA      POST+2								   IMPDATA      POST+2
   SETDATA      POST+1								   SETDATA      POST+1

External References								External References
   $$DEFDIR^%ZISH      GETDATA+4,IMPDATA+2,IMPDATA+6				   $$DEFDIR^%ZISH      GETDATA+4,IMPDATA+2,IMPDATA+6
   $$FTG^%ZISH         GETDATA+6						   $$FTG^%ZISH         GETDATA+6
   $$GTF^%ZISH         IMPDATA+4						   $$GTF^%ZISH         IMPDATA+4
   $$IMPORT^XOBWLIB1   IMPDATA+7						   $$IMPORT^XOBWLIB1   IMPDATA+7
   BMES^XPDUTL         IMPDATA+9						   BMES^XPDUTL         IMPDATA+9
   MES^XPDUTL          IMPDATA+10,IMPDATA+11,IMPDATA+12,IMPDATA+13,IMPDATA+15 |	   MES^XPDUTL          IMPDATA+10,IMPDATA+11,IMPDATA+12,IMPDATA+13,IMPDATA+15
                       IMPDATA+16					      <

*****   END   *****								*****   END   *****
									      |	
										XOBWPB04   12468     printed  Apr 10, 2018@18:46:17                          
XOBWPB04   12468     printed  Mar 13, 2018@10:55:07                    Page 8 <

XOBWPB04  ;OAK/BDT - HWSC :: Environmental Check ; 06/28/2016			XOBWPB04  ;OAK/BDT - HWSC :: Environmental Check ; 06/28/2016
 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9		 +1       ;;1.0;HwscWebServiceClient;**4**;September 13, 2010;Build 9
 +2       ;Per VA Directive 6402, this routine should not be modified.		 +2       ;Per VA Directive 6402, this routine should not be modified.
 +3       ;									 +3       ;
 +4       ; ***** IMPORTANT NOTE *******************************************	 +4       ; ***** IMPORTANT NOTE *******************************************
 +5       ; This routine requires access to the manager (%SYS) namespace and	 +5       ; This routine requires access to the manager (%SYS) namespace and
 +6       ; can only be run by a user with permissions to that namespace.	 +6       ; can only be run by a user with permissions to that namespace.
 +7       ; ****************************************************************	 +7       ; ****************************************************************
 +8       ;									 +8       ;
 +9       ; Loads "xobw4b.xml" into XOBW*1*4 transport global. Post-installat	 +9       ; Loads "xobw4b.xml" into XOBW*1*4 transport global. Post-installat
 +10      ; routine ^XOBWPA04 will reconstruct the file for the installation 	 +10      ; routine ^XOBWPA04 will reconstruct the file for the installation 
 +11      ; classes into VistA to support SSL. The "xobw4.xml"			 +11      ; classes into VistA to support SSL. The "xobw4.xml"
 +12      ; file must be in the PRIMARY HFS DIRECTORY prior to transport.	 +12      ; file must be in the PRIMARY HFS DIRECTORY prior to transport.
 +13      ;									 +13      ;
 +14      ; Note: Make sure that there are no lines longer than 255 chars in 	 +14      ; Note: Make sure that there are no lines longer than 255 chars in 
 +15      ; to be loaded! It appears $$FTG is not creating overflow nodes.	 +15      ; to be loaded! It appears $$FTG is not creating overflow nodes.
 +16      ;									 +16      ;
POST      ;									POST      ;
 +1       ;									 +1       ;
           DO SETDATA								           DO SETDATA
 +2       ;									 +2       ;
           DO IMPDATA								           DO IMPDATA
 +3        QUIT 								 +3        QUIT 
GETDATA   ; export data from xobw4b.xml file					GETDATA   ; export data from xobw4b.xml file
 +1        NEW I,X,XFILE,XPATH,XREF						 +1        NEW I,X,XFILE,XPATH,XREF
 +2        KILL ^TMP($JOB,4)							 +2        KILL ^TMP($JOB,4)
 +3        SET XFILE="xobw4b.xml"						 +3        SET XFILE="xobw4b.xml"
 +4       ;PRIMARY HFS DIRECTORY						 +4       ;PRIMARY HFS DIRECTORY
           SET XPATH=$$DEFDIR^%ZISH						           SET XPATH=$$DEFDIR^%ZISH
 +5        SET XREF="^TMP("_$JOB_",4,1,0)"					 +5        SET XREF="^TMP("_$JOB_",4,1,0)"
 +6       ;Load file into global						 +6       ;Load file into global
           SET X=$$FTG^%ZISH(XPATH,XFILE,XREF,3)				           SET X=$$FTG^%ZISH(XPATH,XFILE,XREF,3)
 +7        QUIT 								 +7        QUIT 
 +8       ;									 +8       ;
IMPDATA   ; import data into xobw4b.xml file					IMPDATA   ; import data into xobw4b.xml file
 +1        NEW XDIR,XOBWY,Y							 +1        NEW XDIR,XOBWY,Y
 +2        SET XDIR=$$DEFDIR^%ZISH						 +2        SET XDIR=$$DEFDIR^%ZISH
 +3        SET XREF="^TMP("_$JOB_",4,1,0)"					 +3        SET XREF="^TMP("_$JOB_",4,1,0)"
 +4       ;Export ^TMP global to XML file					 +4       ;Export ^TMP global to XML file
           SET Y=$$GTF^%ZISH(XREF,3,XDIR,"xobw4b.xml")				           SET Y=$$GTF^%ZISH(XREF,3,XDIR,"xobw4b.xml")
 +5        KILL ^TMP($JOB,4)							 +5        KILL ^TMP($JOB,4)
 +6        SET XDIR=$$DEFDIR^%ZISH						 +6        SET XDIR=$$DEFDIR^%ZISH
 +7       ;Import Cache classes							 +7       ;Import Cache classes
           SET XOBWY=$$IMPORT^XOBWLIB1(XDIR,"xobw4b.xml")			           SET XOBWY=$$IMPORT^XOBWLIB1(XDIR,"xobw4b.xml")
 +8        IF 'XOBWY								 +8        IF 'XOBWY
               Begin DoDot:1							               Begin DoDot:1
 +9                DO BMES^XPDUTL("Error occurred during the importing of sup	 +9                DO BMES^XPDUTL("Error occurred during the importing of sup
 +10               DO MES^XPDUTL("  Directory: "_XDIR)				 +10               DO MES^XPDUTL("  Directory: "_XDIR)
 +11               DO MES^XPDUTL("  File Name: "_"xobw4b.xml")			 +11               DO MES^XPDUTL("  File Name: "_"xobw4b.xml")
 +12               DO MES^XPDUTL("      Error: "_$PIECE(XOBWY,"^",2))		 +12               DO MES^XPDUTL("      Error: "_$PIECE(XOBWY,"^",2))
 +13               DO MES^XPDUTL(" o  Classes not imported.")			 +13               DO MES^XPDUTL(" o  Classes not imported.")
               End DoDot:1							               End DoDot:1
 +14      IF '$TEST								 +14      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +15               DO MES^XPDUTL(" o  Support classes imported successfully."	 +15               DO MES^XPDUTL(" o  Support classes imported successfully."
 +16               DO MES^XPDUTL(" ")						 +16               DO MES^XPDUTL(" ")
               End DoDot:1							               End DoDot:1
 +17       QUIT 								 +17       QUIT 
 +18      ;									 +18      ;
SETDATA   ;									SETDATA   ;
 +1        NEW I,IT								 +1        NEW I,IT
 +2        KILL ^TMP($JOB,4)						      |	 +2 
										XOBWPB04   12468     printed  Apr 10, 2018@18:46:17                          
									      >
									      >	           KILL ^TMP($JOB,4)
 +3        FOR I=1:1:323							 +3        FOR I=1:1:323
               SET IT=$TEXT(DATA+I)						               SET IT=$TEXT(DATA+I)
               SET ^TMP($JOB,4,I,0)=$PIECE(IT,"   ;;",2,99)			               SET ^TMP($JOB,4,I,0)=$PIECE(IT,"   ;;",2,99)
 +4        QUIT 								 +4        QUIT 
DATA      ;									DATA      ;
 +1       ;;<?xml version="1.0" encoding="UTF-8"?>				 +1       ;;<?xml version="1.0" encoding="UTF-8"?>
 +2       ;;<Export generator="Cache" version="25" zv="Cache for UNIX (Red Ha	 +2       ;;<Export generator="Cache" version="25" zv="Cache for UNIX (Red Ha
 +3       ;;<Class name="xobw.WebServer">					 +3       ;;<Class name="xobw.WebServer">
 +4       ;;<Description><![CDATA[						 +4       ;;<Description><![CDATA[
 +5       ;;This persistent class contains web server connection information 	 +5       ;;This persistent class contains web server connection information 
 +6       ;;<br>								 +6       ;;<br>
 +7       ;;This class is mapped to the VA FileMan WEB SERVER (#18.12) file	 +7       ;;This class is mapped to the VA FileMan WEB SERVER (#18.12) file
 +8       ;;<br><br>								 +8       ;;<br><br>
 +9       ;;<b>Restricted Use:</b> The properties and methods of this class a	 +9       ;;<b>Restricted Use:</b> The properties and methods of this class a
 +10      ;;  ]]></Description>							 +10      ;;  ]]></Description>
 +11      ;;<ClassType>persistent</ClassType>					 +11      ;;<ClassType>persistent</ClassType>
 +12      ;;<ProcedureBlock>1</ProcedureBlock>					 +12      ;;<ProcedureBlock>1</ProcedureBlock>
 +13      ;;<SqlRowIdPrivate>1</SqlRowIdPrivate>				 +13      ;;<SqlRowIdPrivate>1</SqlRowIdPrivate>
 +14      ;;<SqlTableName>WebServer</SqlTableName>				 +14      ;;<SqlTableName>WebServer</SqlTableName>
 +15      ;;<StorageStrategy>WebServerStorage</StorageStrategy>			 +15      ;;<StorageStrategy>WebServerStorage</StorageStrategy>
 +16      ;;<Super>%Persistent</Super>						 +16      ;;<Super>%Persistent</Super>
 +17      ;;<TimeChanged>64091,56835.117773</TimeChanged>			 +17      ;;<TimeChanged>64091,56835.117773</TimeChanged>
 +18      ;;<TimeCreated>60654,21265.065878</TimeCreated>			 +18      ;;<TimeCreated>60654,21265.065878</TimeCreated>
 +19      ;;									 +19      ;;
 +20      ;;<UDLText name="T">							 +20      ;;<UDLText name="T">
 +21      ;;<Content><![CDATA[							 +21      ;;<Content><![CDATA[
 +22      ;;// 1.0;HwscWebServiceClient;;September 13, 2010			 +22      ;;// 1.0;HwscWebServiceClient;;September 13, 2010
 +23      ;;									 +23      ;;
 +24      ;;]]></Content>							 +24      ;;]]></Content>
 +25      ;;</UDLText>								 +25      ;;</UDLText>
 +26      ;;									 +26      ;;
 +27      ;;<UDLText name="T">							 +27      ;;<UDLText name="T">
 +28      ;;<Content><![CDATA[							 +28      ;;<Content><![CDATA[
 +29      ;;// HealtheVet Web Service Client v1 [Build: 1.0.1.009]		 +29      ;;// HealtheVet Web Service Client v1 [Build: 1.0.1.009]
 +30      ;;									 +30      ;;
 +31      ;;]]></Content>							 +31      ;;]]></Content>
 +32      ;;</UDLText>								 +32      ;;</UDLText>
 +33      ;;									 +33      ;;
 +34      ;;<Index name="ienIndex">						 +34      ;;<Index name="ienIndex">
 +35      ;;<IdKey>1</IdKey>							 +35      ;;<IdKey>1</IdKey>
 +36      ;;<PrimaryKey>1</PrimaryKey>						 +36      ;;<PrimaryKey>1</PrimaryKey>
 +37      ;;<Properties>ien</Properties>					 +37      ;;<Properties>ien</Properties>
 +38      ;;<Unique>1</Unique>							 +38      ;;<Unique>1</Unique>
 +39      ;;</Index>								 +39      ;;</Index>
 +40      ;;									 +40      ;;
 +41      ;;<Property name="server">						 +41      ;;<Property name="server">
 +42      ;;<Type>%String</Type>						 +42      ;;<Type>%String</Type>
 +43      ;;<Parameter name="TRUNCATE" value="1"/>				 +43      ;;<Parameter name="TRUNCATE" value="1"/>
 +44      ;;</Property>								 +44      ;;</Property>
 +45      ;;									 +45      ;;
 +46      ;;<Property name="port">						 +46      ;;<Property name="port">
 +47      ;;<Type>%Integer</Type>						 +47      ;;<Type>%Integer</Type>
 +48      ;;<Collection/>							 +48      ;;<Collection/>
 +49      ;;<Relationship>0</Relationship>					 +49      ;;<Relationship>0</Relationship>
 +50      ;;</Property>								 +50      ;;</Property>
 +51      ;;									 +51      ;;
 +52      ;;<Property name="ien">						 +52      ;;<Property name="ien">
 +53      ;;<Type>%String</Type>						 +53      ;;<Type>%String</Type>
 +54      ;;<Collection/>							 +54      ;;<Collection/>
 +55      ;;<Relationship>0</Relationship>					 +55      ;;<Relationship>0</Relationship>
 +56      ;;<Parameter name="TRUNCATE" value="1"/>				 +56      ;;<Parameter name="TRUNCATE" value="1"/>
 +57      ;;</Property>								 +57      ;;</Property>
 +58      ;;									 +58      ;;
 +59      ;;<Property name="name">						 +59      ;;<Property name="name">
 +60      ;;<Type>%String</Type>						 +60      ;;<Type>%String</Type>
 +61      ;;<Collection/>							 +61      ;;<Collection/>
 +62      ;;<Relationship>0</Relationship>					 +62      ;;<Relationship>0</Relationship>
 +63      ;;<Parameter name="TRUNCATE" value="1"/>				 +63      ;;<Parameter name="TRUNCATE" value="1"/>
 +64      ;;</Property>								 +64      ;;</Property>
 +65      ;;									 +65      ;;
 +66      ;;<Property name="production">					 +66      ;;<Property name="production">
 +67      ;;<Type>%Boolean</Type>						 +67      ;;<Type>%Boolean</Type>
 +68      ;;<Collection/>							 +68      ;;<Collection/>
 +69      ;;<Relationship>0</Relationship>					 +69      ;;<Relationship>0</Relationship>
 +70      ;;<Transient>1</Transient>						 +70      ;;<Transient>1</Transient>
 +71      ;;</Property>								 +71      ;;</Property>
 +72      ;;									 +72      ;;
 +73      ;;<UDLText name="T">							 +73      ;;<UDLText name="T">
 +74      ;;<Content><![CDATA[							 +74      ;;<Content><![CDATA[
 +75      ;;// server credentials						 +75      ;;// server credentials
 +76      ;;									 +76      ;;
 +77      ;;]]></Content>							 +77      ;;]]></Content>
 +78      ;;</UDLText>								 +78      ;;</UDLText>
 +79      ;;									 +79      ;;
 +80      ;;<Property name="loginRequired">					 +80      ;;<Property name="loginRequired">
 +81      ;;<Type>%Boolean</Type>						 +81      ;;<Type>%Boolean</Type>
 +82      ;;<SqlFieldName>loginRequired</SqlFieldName>				 +82      ;;<SqlFieldName>loginRequired</SqlFieldName>
 +83      ;;</Property>								 +83      ;;</Property>
 +84      ;;									 +84      ;;
 +85      ;;<Property name="password">						 +85      ;;<Property name="password">
 +86      ;;<Type>%String</Type>						 +86      ;;<Type>%String</Type>
 +87      ;;<Private>1</Private>						 +87      ;;<Private>1</Private>
 +88      ;;<SqlFieldName>password</SqlFieldName>				 +88      ;;<SqlFieldName>password</SqlFieldName>
 +89      ;;<Parameter name="TRUNCATE" value="1"/>				 +89      ;;<Parameter name="TRUNCATE" value="1"/>
 +90      ;;</Property>								 +90      ;;</Property>
 +91      ;;									 +91      ;;
 +92      ;;<Property name="userName">						 +92      ;;<Property name="userName">
 +93      ;;<Type>%String</Type>						 +93      ;;<Type>%String</Type>
 +94      ;;<SqlFieldName>userName</SqlFieldName>				 +94      ;;<SqlFieldName>userName</SqlFieldName>
 +95      ;;<Parameter name="TRUNCATE" value="1"/>				 +95      ;;<Parameter name="TRUNCATE" value="1"/>
 +96      ;;</Property>								 +96      ;;</Property>
 +97      ;;									 +97      ;;
 +98      ;;<Property name="defaultTimeout">					 +98      ;;<Property name="defaultTimeout">
 +99      ;;<Type>%Integer</Type>						 +99      ;;<Type>%Integer</Type>
 +100     ;;<InitialExpression>30</InitialExpression>				 +100     ;;<InitialExpression>30</InitialExpression>
 +101     ;;<SqlFieldName>defaultTimeout</SqlFieldName>				 +101     ;;<SqlFieldName>defaultTimeout</SqlFieldName>
 +102     ;;<Parameter name="MAXVAL" value="7200"/>				 +102     ;;<Parameter name="MAXVAL" value="7200"/>
 +103     ;;<Parameter name="MINVAL" value="5"/>				 +103     ;;<Parameter name="MINVAL" value="5"/>
 +104     ;;</Property>								 +104     ;;</Property>
 +105     ;;									 +105     ;;
 +106     ;;<Property name="sslEnabled">					 +106     ;;<Property name="sslEnabled">
 +107     ;;<Type>%Boolean</Type>						 +107     ;;<Type>%Boolean</Type>
 +108     ;;<SqlFieldName>sslEnabled</SqlFieldName>				 +108     ;;<SqlFieldName>sslEnabled</SqlFieldName>
 +109     ;;</Property>								 +109     ;;</Property>
 +110     ;;									 +110     ;;
 +111     ;;<Property name="sslConfiguration">					 +111     ;;<Property name="sslConfiguration">
 +112     ;;<Type>%String</Type>						 +112     ;;<Type>%String</Type>
 +113     ;;<SqlFieldName>sslConfiguration</SqlFieldName>			 +113     ;;<SqlFieldName>sslConfiguration</SqlFieldName>
 +114     ;;<Parameter name="TRUNCATE" value="1"/>				 +114     ;;<Parameter name="TRUNCATE" value="1"/>
 +115     ;;</Property>								 +115     ;;</Property>
 +116     ;;									 +116     ;;
 +117     ;;<Property name="sslPort">						 +117     ;;<Property name="sslPort">
 +118     ;;<Type>%String</Type>						 +118     ;;<Type>%String</Type>
 +119     ;;<SqlFieldName>sslPort</SqlFieldName>				 +119     ;;<SqlFieldName>sslPort</SqlFieldName>
 +120     ;;<Parameter name="TRUNCATE" value="1"/>				 +120     ;;<Parameter name="TRUNCATE" value="1"/>
 +121     ;;</Property>								 +121     ;;</Property>
 +122     ;;									 +122     ;;
 +123     ;;<UDLText name="T">							 +123     ;;<UDLText name="T">
 +124     ;;<Content><![CDATA[							 +124     ;;<Content><![CDATA[
 +125     ;;// for ISS use ------------------------				 +125     ;;// for ISS use ------------------------
 +126     ;;									 +126     ;;
 +127     ;;]]></Content>							 +127     ;;]]></Content>
 +128     ;;</UDLText>								 +128     ;;</UDLText>
 +129     ;;									 +129     ;;
 +130     ;;<Property name="authorizedWebServices">				 +130     ;;<Property name="authorizedWebServices">
 +131     ;;<Type>xobw.WebServicesAuthorized</Type>				 +131     ;;<Type>xobw.WebServicesAuthorized</Type>
 +132     ;;<Cardinality>children</Cardinality>					 +132     ;;<Cardinality>children</Cardinality>
 +133     ;;<Inverse>webServerRef</Inverse>					 +133     ;;<Inverse>webServerRef</Inverse>
 +134     ;;<Relationship>1</Relationship>					 +134     ;;<Relationship>1</Relationship>
 +135     ;;</Property>								 +135     ;;</Property>
 +136     ;;									 +136     ;;
 +137     ;;<Property name="status">						 +137     ;;<Property name="status">
 +138     ;;<Type>%Boolean</Type>						 +138     ;;<Type>%Boolean</Type>
 +139     ;;<Collection/>							 +139     ;;<Collection/>
 +140     ;;<Relationship>0</Relationship>					 +140     ;;<Relationship>0</Relationship>
 +141     ;;</Property>								 +141     ;;</Property>
 +142     ;;									 +142     ;;
 +143     ;;<Method name="getPassword">						 +143     ;;<Method name="getPassword">
 +144     ;;<ReturnType>%String</ReturnType>					 +144     ;;<ReturnType>%String</ReturnType>
 +145     ;;<Implementation><![CDATA[ quit $$DECRYP^XOBWPWD(..password)		 +145     ;;<Implementation><![CDATA[ quit $$DECRYP^XOBWPWD(..password)
 +146     ;;]]></Implementation>						 +146     ;;]]></Implementation>
 +147     ;;</Method>								 +147     ;;</Method>
 +148     ;;									 +148     ;;
 +149     ;;<Method name="checkWebServicesAvailability">			 +149     ;;<Method name="checkWebServicesAvailability">
 +150     ;;<FormalSpec>dots:%String</FormalSpec>				 +150     ;;<FormalSpec>dots:%String</FormalSpec>
 +151     ;;<ReturnType>%Library.ListOfDataTypes</ReturnType>			 +151     ;;<ReturnType>%Library.ListOfDataTypes</ReturnType>
 +152     ;;<Implementation><![CDATA[						 +152     ;;<Implementation><![CDATA[
 +153     ;; set key = ""							 +153     ;; set key = ""
 +154     ;; set count=0							 +154     ;; set count=0
 +155     ;; set result=##class(%ListOfDataTypes).%New()			 +155     ;; set result=##class(%ListOfDataTypes).%New()
 +156     ;;									 +156     ;;
 +157     ;; // if server is disabled, stop					 +157     ;; // if server is disabled, stop
 +158     ;; if '..status {							 +158     ;; if '..status {
 +159     ;;  do result.Insert("")						 +159     ;;  do result.Insert("")
 +160     ;;  do result.Insert(" o Web server is disabled")			 +160     ;;  do result.Insert(" o Web server is disabled")
 +161     ;;  do result.Insert("")						 +161     ;;  do result.Insert("")
 +162     ;;  quit result							 +162     ;;  quit result
 +163     ;; }									 +163     ;; }
 +164     ;;									 +164     ;;
 +165     ;; // loop thru web services credentials defined for server and bui	 +165     ;; // loop thru web services credentials defined for server and bui
 +166     ;; // mainly for ListMan consumption (AVAIL^XOBWUT1)			 +166     ;; // mainly for ListMan consumption (AVAIL^XOBWUT1)
 +167     ;; do {								 +167     ;; do {
 +168     ;;  set authorizedWebService = ..authorizedWebServices.GetNext(.key	 +168     ;;  set authorizedWebService = ..authorizedWebServices.GetNext(.key
 +169     ;;  if $get(dots) write "."						 +169     ;;  if $get(dots) write "."
 +170     ;;  set count=count+1							 +170     ;;  set count=count+1
 +171     ;;  if (authorizedWebService '= $$$NULLOREF) {			 +171     ;;  if (authorizedWebService '= $$$NULLOREF) {
 +172     ;;   set webService=##class(xobw.WebServiceMetadata).%OpenId(author	 +172     ;;   set webService=##class(xobw.WebServiceMetadata).%OpenId(author
 +173     ;;   if (authorizedWebService.status) {				 +173     ;;   if (authorizedWebService.status) {
 +174     ;;    if ((webService.type=1) || (webService.type=2)) {		 +174     ;;    if ((webService.type=1) || (webService.type=2)) {
 +175     ;;     if ##class(xobw.WebServiceMetadata).checkResourceAvailabilit	 +175     ;;     if ##class(xobw.WebServiceMetadata).checkResourceAvailabilit
 +176     ;;      do result.Insert(count_" "_webService.name_" is available")	 +176     ;;      do result.Insert(count_" "_webService.name_" is available")
 +177     ;;     } else {							 +177     ;;     } else {
 +178     ;;      do result.Insert(count_" Unable to retrieve '"_webService.a	 +178     ;;      do result.Insert(count_" Unable to retrieve '"_webService.a
 +179     ;;      //								 +179     ;;      //
 +180     ;;      // the following lines will report spurious %objlasterror e	 +180     ;;      // the following lines will report spurious %objlasterror e
 +181     ;;      // supposed to be fixed in Cache 5.1+.			 +181     ;;      // supposed to be fixed in Cache 5.1+.
 +182     ;;      // 								 +182     ;;      // 
 +183     ;;      if ($data(%objlasterror)'=0) {				 +183     ;;      if ($data(%objlasterror)'=0) {
 +184     ;;       do $system.Status.DecomposeStatus(%objlasterror,.err)	 +184     ;;       do $system.Status.DecomposeStatus(%objlasterror,.err)
 +185     ;;       set x=$get(err(1)," o no reason available")			 +185     ;;       set x=$get(err(1)," o no reason available")
 +186     ;;       set length=$length(x)					 +186     ;;       set length=$length(x)
 +187     ;;       do result.Insert(" o "_$extract(x,1,70))			 +187     ;;       do result.Insert(" o "_$extract(x,1,70))
 +188     ;;       set x=$extract(x,71,length)					 +188     ;;       set x=$extract(x,71,length)
 +189     ;;       while (x'="") {						 +189     ;;       while (x'="") {
 +190     ;;        do result.Insert(" "_$extract(x,1,70))			 +190     ;;        do result.Insert(" "_$extract(x,1,70))
 +191     ;;        set x=$extract(x,71,length)					 +191     ;;        set x=$extract(x,71,length)
 +192     ;;       } // while							 +192     ;;       } // while
 +193     ;;       // if there is a status code, show it			 +193     ;;       // if there is a status code, show it
 +194     ;;       if $get(httpStatusCode)]"" do result.Insert(" o HTTP Respo	 +194     ;;       if $get(httpStatusCode)]"" do result.Insert(" o HTTP Respo
 +195     ;;      } else {							 +195     ;;      } else {
 +196     ;;       do result.Insert(" o HTTP Response Status Code: "_$get(htt	 +196     ;;       do result.Insert(" o HTTP Response Status Code: "_$get(htt
 +197     ;;      } // %objlasterror 						 +197     ;;      } // %objlasterror 
 +198     ;;     } // resource availability					 +198     ;;     } // resource availability
 +199     ;;    } else {							 +199     ;;    } else {
 +200     ;;     do result.Insert(count_" "_webService.name_" is not a valid 	 +200     ;;     do result.Insert(count_" "_webService.name_" is not a valid 
 +201     ;;    } // not valid type (rare and should not occur)			 +201     ;;    } // not valid type (rare and should not occur)
 +202     ;;   } else {								 +202     ;;   } else {
 +203     ;;    do result.Insert(count_" "_webService.name_" is not enabled")	 +203     ;;    do result.Insert(count_" "_webService.name_" is not enabled")
 +204     ;;   } // authorizedWebService.status					 +204     ;;   } // authorizedWebService.status
 +205     ;;  } // authorizedWebService						 +205     ;;  } // authorizedWebService
 +206     ;; } while (key '= "")						 +206     ;; } while (key '= "")
 +207     ;; quit result							 +207     ;; quit result
 +208     ;;]]></Implementation>						 +208     ;;]]></Implementation>
 +209     ;;</Method>								 +209     ;;</Method>
 +210     ;;									 +210     ;;
 +211     ;;<Method name="getWebServerId">					 +211     ;;<Method name="getWebServerId">
 +212     ;;<ClassMethod>1</ClassMethod>					 +212     ;;<ClassMethod>1</ClassMethod>
 +213     ;;<FormalSpec>name:%String</FormalSpec>				 +213     ;;<FormalSpec>name:%String</FormalSpec>
 +214     ;;<ReturnType>%String</ReturnType>					 +214     ;;<ReturnType>%String</ReturnType>
 +215     ;;<Implementation><![CDATA[						 +215     ;;<Implementation><![CDATA[
 +216     ;; if $get(name)="" {							 +216     ;; if $get(name)="" {
 +217     ;;     do ##class(xobw.error.DialogError).forceError(186005_"^<empt	 +217     ;;     do ##class(xobw.error.DialogError).forceError(186005_"^<empt
 +218     ;; }									 +218     ;; }
 +219     ;; quit +$order(^XOB(18.12,"B",name,0))				 +219     ;; quit +$order(^XOB(18.12,"B",name,0))
 +220     ;;]]></Implementation>						 +220     ;;]]></Implementation>
 +221     ;;</Method>								 +221     ;;</Method>
 +222     ;;									 +222     ;;
 +223     ;;<Method name="setUpHttpRequest">					 +223     ;;<Method name="setUpHttpRequest">
 +224     ;;<FormalSpec>httpRequest:%Net.HttpRequest</FormalSpec>		 +224     ;;<FormalSpec>httpRequest:%Net.HttpRequest</FormalSpec>
 +225     ;;<Implementation><![CDATA[						 +225     ;;<Implementation><![CDATA[
 +226     ;; if (..sslEnabled && ('$$SSLOK^XOBWENV())) {			 +226     ;; if (..sslEnabled && ('$$SSLOK^XOBWENV())) {
 +227     ;;  do ##class(xobw.error.DialogError).forceError(186002_"^"_..name	 +227     ;;  do ##class(xobw.error.DialogError).forceError(186002_"^"_..name
 +228     ;; }									 +228     ;; }
 +229     ;; if (..sslEnabled) {						 +229     ;; if (..sslEnabled) {
 +230     ;;  set httpRequest.Https=1						 +230     ;;  set httpRequest.Https=1
 +231     ;;  set httpRequest.SSLConfiguration=..sslConfiguration		 +231     ;;  set httpRequest.SSLConfiguration=..sslConfiguration
 +232     ;;  set httpRequest.Port=..sslPort					 +232     ;;  set httpRequest.Port=..sslPort
 +233     ;;  set httpRequest.SSLCheckServerIdentity = 0			 +233     ;;  set httpRequest.SSLCheckServerIdentity = 0
 +234     ;; } else {								 +234     ;; } else {
 +235     ;;  set httpRequest.Port=..port					 +235     ;;  set httpRequest.Port=..port
 +236     ;; }									 +236     ;; }
 +237     ;; // common setting							 +237     ;; // common setting
 +238     ;; set httpRequest.Server=..server					 +238     ;; set httpRequest.Server=..server
 +239     ;; set httpRequest.Timeout=..defaultTimeout				 +239     ;; set httpRequest.Timeout=..defaultTimeout
 +240     ;; quit								 +240     ;; quit
 +241     ;;]]></Implementation>						 +241     ;;]]></Implementation>
 +242     ;;</Method>								 +242     ;;</Method>
 +243     ;;									 +243     ;;
 +244     ;;<Method name="defaultTimeoutGet">					 +244     ;;<Method name="defaultTimeoutGet">
 +245     ;;<ReturnType>%Integer</ReturnType>					 +245     ;;<ReturnType>%Integer</ReturnType>
 +246     ;;<Implementation><![CDATA[ quit $select(i%defaultTimeout:i%default	 +246     ;;<Implementation><![CDATA[ quit $select(i%defaultTimeout:i%default
 +247     ;;]]></Implementation>						 +247     ;;]]></Implementation>
 +248     ;;</Method>								 +248     ;;</Method>
 +249     ;;									 +249     ;;
 +250     ;;<Storage name="WebServerStorage">					 +250     ;;<Storage name="WebServerStorage">
 +251     ;;<Type>%CacheSQLStorage</Type>					 +251     ;;<Type>%CacheSQLStorage</Type>
 +252     ;;<StreamLocation>^xobw.WebServerS</StreamLocation>			 +252     ;;<StreamLocation>^xobw.WebServerS</StreamLocation>
 +253     ;;<ExtentSize>100000</ExtentSize>					 +253     ;;<ExtentSize>100000</ExtentSize>
 +254     ;;<SQLMap name="MasterMap">						 +254     ;;<SQLMap name="MasterMap">
 +255     ;;<Type>data</Type>							 +255     ;;<Type>data</Type>
 +256     ;;<Global>^XOB</Global>						 +256     ;;<Global>^XOB</Global>
 +257     ;;<Subscript name="1">						 +257     ;;<Subscript name="1">
 +258     ;;<Expression>18.12</Expression>					 +258     ;;<Expression>18.12</Expression>
 +259     ;;</Subscript>							 +259     ;;</Subscript>
 +260     ;;<Subscript name="2">						 +260     ;;<Subscript name="2">
 +261     ;;<Expression>{ien}</Expression>					 +261     ;;<Expression>{ien}</Expression>
 +262     ;;<LoopInitValue>0</LoopInitValue>					 +262     ;;<LoopInitValue>0</LoopInitValue>
 +263     ;;<StopExpression>'+{L2}</StopExpression>				 +263     ;;<StopExpression>'+{L2}</StopExpression>
 +264     ;;</Subscript>							 +264     ;;</Subscript>
 +265     ;;<RowIdSpec name="1">						 +265     ;;<RowIdSpec name="1">
 +266     ;;<Expression>{L2}</Expression>					 +266     ;;<Expression>{L2}</Expression>
 +267     ;;<Field>ien</Field>							 +267     ;;<Field>ien</Field>
 +268     ;;</RowIdSpec>							 +268     ;;</RowIdSpec>
 +269     ;;<Data name="defaultTimeout">					 +269     ;;<Data name="defaultTimeout">
 +270     ;;<Delimiter>"^"</Delimiter>						 +270     ;;<Delimiter>"^"</Delimiter>
 +271     ;;<Node>0</Node>							 +271     ;;<Node>0</Node>
 +272     ;;<Piece>7</Piece>							 +272     ;;<Piece>7</Piece>
 +273     ;;</Data>								 +273     ;;</Data>
 +274     ;;<Data name="loginRequired">						 +274     ;;<Data name="loginRequired">
 +275     ;;<Delimiter>"^"</Delimiter>						 +275     ;;<Delimiter>"^"</Delimiter>
 +276     ;;<Node>1</Node>							 +276     ;;<Node>1</Node>
 +277     ;;<Piece>1</Piece>							 +277     ;;<Piece>1</Piece>
 +278     ;;</Data>								 +278     ;;</Data>
 +279     ;;<Data name="name">							 +279     ;;<Data name="name">
 +280     ;;<Delimiter>"^"</Delimiter>						 +280     ;;<Delimiter>"^"</Delimiter>
 +281     ;;<Node>0</Node>							 +281     ;;<Node>0</Node>
 +282     ;;<Piece>1</Piece>							 +282     ;;<Piece>1</Piece>
 +283     ;;</Data>								 +283     ;;</Data>
 +284     ;;<Data name="password">						 +284     ;;<Data name="password">
 +285     ;;<Node>300</Node>							 +285     ;;<Node>300</Node>
 +286     ;;</Data>								 +286     ;;</Data>
 +287     ;;<Data name="port">							 +287     ;;<Data name="port">
 +288     ;;<Delimiter>"^"</Delimiter>						 +288     ;;<Delimiter>"^"</Delimiter>
 +289     ;;<Node>0</Node>							 +289     ;;<Node>0</Node>
 +290     ;;<Piece>3</Piece>							 +290     ;;<Piece>3</Piece>
 +291     ;;</Data>								 +291     ;;</Data>
 +292     ;;<Data name="server">						 +292     ;;<Data name="server">
 +293     ;;<Delimiter>"^"</Delimiter>						 +293     ;;<Delimiter>"^"</Delimiter>
 +294     ;;<Node>0</Node>							 +294     ;;<Node>0</Node>
 +295     ;;<Piece>4</Piece>							 +295     ;;<Piece>4</Piece>
 +296     ;;</Data>								 +296     ;;</Data>
 +297     ;;<Data name="sslConfiguration">					 +297     ;;<Data name="sslConfiguration">
 +298     ;;<Delimiter>"^"</Delimiter>						 +298     ;;<Delimiter>"^"</Delimiter>
 +299     ;;<Node>3</Node>							 +299     ;;<Node>3</Node>
 +300     ;;<Piece>2</Piece>							 +300     ;;<Piece>2</Piece>
 +301     ;;</Data>								 +301     ;;</Data>
 +302     ;;<Data name="sslEnabled">						 +302     ;;<Data name="sslEnabled">
 +303     ;;<Delimiter>"^"</Delimiter>						 +303     ;;<Delimiter>"^"</Delimiter>
 +304     ;;<Node>3</Node>							 +304     ;;<Node>3</Node>
 +305     ;;<Piece>1</Piece>							 +305     ;;<Piece>1</Piece>
 +306     ;;</Data>								 +306     ;;</Data>
 +307     ;;<Data name="sslPort">						 +307     ;;<Data name="sslPort">
 +308     ;;<Delimiter>"^"</Delimiter>						 +308     ;;<Delimiter>"^"</Delimiter>
 +309     ;;<Node>3</Node>							 +309     ;;<Node>3</Node>
 +310     ;;<Piece>3</Piece>							 +310     ;;<Piece>3</Piece>
 +311     ;;</Data>								 +311     ;;</Data>
 +312     ;;<Data name="status">						 +312     ;;<Data name="status">
 +313     ;;<Delimiter>"^"</Delimiter>						 +313     ;;<Delimiter>"^"</Delimiter>
 +314     ;;<Node>0</Node>							 +314     ;;<Node>0</Node>
 +315     ;;<Piece>6</Piece>							 +315     ;;<Piece>6</Piece>
 +316     ;;</Data>								 +316     ;;</Data>
 +317     ;;<Data name="userName">						 +317     ;;<Data name="userName">
 +318     ;;<Node>200</Node>							 +318     ;;<Node>200</Node>
 +319     ;;</Data>								 +319     ;;</Data>
 +320     ;;</SQLMap>								 +320     ;;</SQLMap>
 +321     ;;</Storage>								 +321     ;;</Storage>
 +322     ;;</Class>								 +322     ;;</Class>
 +323     ;;</Export>								 +323     ;;</Export>


*****   INDEX OF XOBWPB04   *****						*****   INDEX OF XOBWPB04   *****
										
										
									      >	*****   INDEX OF XOBWPB04   *****                                            

Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   I            GETDATA+1~,SETDATA+1~,SETDATA+3*				   I            GETDATA+1~,SETDATA+1~,SETDATA+3*
   IT           SETDATA+1~,SETDATA+3*						   IT           SETDATA+1~,SETDATA+3*
   X            GETDATA+1~,GETDATA+6*						   X            GETDATA+1~,GETDATA+6*
   XDIR         IMPDATA+1~,IMPDATA+2*,IMPDATA+4,IMPDATA+6*,IMPDATA+7,IMPDATA+	   XDIR         IMPDATA+1~,IMPDATA+2*,IMPDATA+4,IMPDATA+6*,IMPDATA+7,IMPDATA+
   XFILE        GETDATA+1~,GETDATA+3*,GETDATA+6					   XFILE        GETDATA+1~,GETDATA+3*,GETDATA+6
   XOBWY        IMPDATA+1~,IMPDATA+7*,IMPDATA+8,IMPDATA+12			   XOBWY        IMPDATA+1~,IMPDATA+7*,IMPDATA+8,IMPDATA+12
   XPATH        GETDATA+1~,GETDATA+4*,GETDATA+6					   XPATH        GETDATA+1~,GETDATA+4*,GETDATA+6
   XREF         GETDATA+1~,GETDATA+5*,GETDATA+6,IMPDATA+3*,IMPDATA+4		   XREF         GETDATA+1~,GETDATA+5*,GETDATA+6,IMPDATA+3*,IMPDATA+4
   Y            IMPDATA+1~,IMPDATA+4*						   Y            IMPDATA+1~,IMPDATA+4*

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP($J             GETDATA+2!,IMPDATA+5!,SETDATA+2!,SETDATA+3*		   ^TMP($J             GETDATA+2!,IMPDATA+5!,SETDATA+2!,SETDATA+3*

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   $T(DATA+I    SETDATA+3							   $T(DATA+I    SETDATA+3

Label References								Label References
   IMPDATA      POST+2								   IMPDATA      POST+2
   SETDATA      POST+1								   SETDATA      POST+1

External References								External References
   $$DEFDIR^%ZISH      GETDATA+4,IMPDATA+2,IMPDATA+6				   $$DEFDIR^%ZISH      GETDATA+4,IMPDATA+2,IMPDATA+6
   $$FTG^%ZISH         GETDATA+6						   $$FTG^%ZISH         GETDATA+6
   $$GTF^%ZISH         IMPDATA+4						   $$GTF^%ZISH         IMPDATA+4
   $$IMPORT^XOBWLIB1   IMPDATA+7						   $$IMPORT^XOBWLIB1   IMPDATA+7
   BMES^XPDUTL         IMPDATA+9						   BMES^XPDUTL         IMPDATA+9
   MES^XPDUTL          IMPDATA+10,IMPDATA+11,IMPDATA+12,IMPDATA+13,IMPDATA+15 |	   MES^XPDUTL          IMPDATA+10,IMPDATA+11,IMPDATA+12,IMPDATA+13,IMPDATA+15
                       IMPDATA+16					      <

*****   END   *****								*****   END   *****
									      |	
										XOBWPST   4130     printed  Apr 10, 2018@18:46:17                            
XOBWPST   4130     printed  Mar 13, 2018@10:55:07                      Page 9 <

XOBWPST   ;ALB/MJK - HWSC - Post-Init ; 09/13/10 4:00pm				XOBWPST   ;ALB/MJK - HWSC - Post-Init ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EN        ;  -- main entry point for post-init					EN        ;  -- main entry point for post-init
 +1        NEW XOBSTAT								 +1        NEW XOBSTAT
 +2       ;									 +2       ;
 +3       ; -- delete all classes in xobw package				 +3       ; -- delete all classes in xobw package
 +4        DO DELETE()								 +4        DO DELETE()
 +5       ;									 +5       ;
 +6       ; -- build primary key indices (for those who had installed early d	 +6       ; -- build primary key indices (for those who had installed early d
 +7        DO INDEX()								 +7        DO INDEX()
 +8       ;									 +8       ;
 +9       ; -- delete IP ADDRESS field (for those who had installed early dev	 +9       ; -- delete IP ADDRESS field (for those who had installed early dev
 +10       DO DELIP()								 +10       DO DELIP()
 +11      ;									 +11      ;
 +12      ; -- remove HtttpProxy* fields and 2 node (for those who had instal	 +12      ; -- remove HtttpProxy* fields and 2 node (for those who had instal
 +13       DO DELHP()								 +13       DO DELHP()
 +14      ;									 +14      ;
 +15      ; -- load hwsc support classes (mapped FM classes, etc.)		 +15      ; -- load hwsc support classes (mapped FM classes, etc.)
 +16       NEW XOBSTAT								 +16       NEW XOBSTAT
 +17       SET XOBSTAT=$$IMPORT^XOBWLIB1($$GETDIR(),$$SUPPORT^XOBWENV())	 +17       SET XOBSTAT=$$IMPORT^XOBWLIB1($$GETDIR(),$$SUPPORT^XOBWENV())
 +18       IF 'XOBSTAT								 +18       IF 'XOBSTAT
               Begin DoDot:1							               Begin DoDot:1
 +19               DO BMES^XPDUTL("Error occurred during the importing of sup	 +19               DO BMES^XPDUTL("Error occurred during the importing of sup
 +20               DO MES^XPDUTL("  Directory: "_$$GETDIR())			 +20               DO MES^XPDUTL("  Directory: "_$$GETDIR())
 +21               DO MES^XPDUTL("  File Name: "_$$SUPPORT^XOBWENV())		 +21               DO MES^XPDUTL("  File Name: "_$$SUPPORT^XOBWENV())
 +22               DO MES^XPDUTL("      Error: "_$PIECE(XOBSTAT,"^",2))		 +22               DO MES^XPDUTL("      Error: "_$PIECE(XOBSTAT,"^",2))
 +23               DO MES^XPDUTL(" o  Classes not imported.")			 +23               DO MES^XPDUTL(" o  Classes not imported.")
               End DoDot:1							               End DoDot:1
               GOTO ENQ								               GOTO ENQ
 +24      IF '$TEST								 +24      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +25               DO MES^XPDUTL(" o  Support classes imported successfully."	 +25               DO MES^XPDUTL(" o  Support classes imported successfully."
 +26               DO MES^XPDUTL(" ")						 +26               DO MES^XPDUTL(" ")
               End DoDot:1							               End DoDot:1
 +27      ;									 +27      ;
ENQ       ;									ENQ       ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
DELETE()  ; -- delete classes for clean slate and remove previous releases	DELETE()  ; -- delete classes for clean slate and remove previous releases
 +1        NEW XOBSTAT								 +1        NEW XOBSTAT
 +2       ; -- delete all classes in xobw package				 +2       ; -- delete all classes in xobw package
 +3        DO BMES^XPDUTL(" o  Deleting xobw classes:")				 +3        DO BMES^XPDUTL(" o  Deleting xobw classes:")
 +4       ;									 +4       ;
 +5        SET XOBSTAT=$SYSTEM.OBJ.DeletePackage("xobw")			 +5        SET XOBSTAT=$SYSTEM.OBJ.DeletePackage("xobw")
 +6        DO BMES^XPDUTL("       ...[xobw] deletion "_$SELECT(XOBSTAT:"finis	 +6        DO BMES^XPDUTL("       ...[xobw] deletion "_$SELECT(XOBSTAT:"finis
 +7        DO MES^XPDUTL("")							 +7        DO MES^XPDUTL("")
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
INDEX()   ; -- build indices if data exists but index not defined		INDEX()   ; -- build indices if data exists but index not defined
 +1        NEW XOBFILE,DIK,DA,XOBCNT						 +1        NEW XOBFILE,DIK,DA,XOBCNT
 +2       ; -- primary key indices for 18.02,18.12				 +2       ; -- primary key indices for 18.02,18.12
 +3        FOR XOBFILE=18.02,18.12						 +3        FOR XOBFILE=18.02,18.12
               Begin DoDot:1							               Begin DoDot:1
 +4                IF $ORDER(^XOB(XOBFILE,0))					 +4                IF $ORDER(^XOB(XOBFILE,0))
                       IF $ORDER(^XOB(XOBFILE,"PRIMARY",""))=""			                       IF $ORDER(^XOB(XOBFILE,"PRIMARY",""))=""
                           Begin DoDot:2					                           Begin DoDot:2
 +5                            SET DIK="^XOB("_XOBFILE_","			 +5                            SET DIK="^XOB("_XOBFILE_","
 +6                            SET DIK(1)=".01^PRIMARY"				 +6                            SET DIK(1)=".01^PRIMARY"
 +7                            DO ENALL^DIK				      |	 +7 
										XOBWPST   4130     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	                               DO ENALL^DIK
 +8                            DO BMES^XPDUTL(" o PRIMARY index set for "_$SE	 +8                            DO BMES^XPDUTL(" o PRIMARY index set for "_$SE
                           End DoDot:2						                           End DoDot:2
               End DoDot:1							               End DoDot:1
 +9       ; AB index for 18.121							 +9       ; AB index for 18.121
 +10       IF $ORDER(^XOB(18.12,0))						 +10       IF $ORDER(^XOB(18.12,0))
               IF $ORDER(^XOB(18.12,"AB",""))=""				               IF $ORDER(^XOB(18.12,"AB",""))=""
                   Begin DoDot:1						                   Begin DoDot:1
 +11                   SET XOBCNT=0						 +11                   SET XOBCNT=0
                       SET DA(1)=0						                       SET DA(1)=0
                       FOR 							                       FOR 
                           SET DA(1)=$ORDER(^XOB(18.12,DA(1)))			                           SET DA(1)=$ORDER(^XOB(18.12,DA(1)))
                           if DA(1)'>0					      |	                           IF DA(1)'>0
                               QUIT 						                               QUIT 
                           Begin DoDot:2					                           Begin DoDot:2
 +12                           SET DIK="^XOB(18.12,"_DA(1)_",100,"		 +12                           SET DIK="^XOB(18.12,"_DA(1)_",100,"
 +13                           SET DIK(1)=".01^AB"				 +13                           SET DIK(1)=".01^AB"
 +14                           DO ENALL^DIK					 +14                           DO ENALL^DIK
                               SET XOBCNT=XOBCNT+1				                               SET XOBCNT=XOBCNT+1
                           End DoDot:2						                           End DoDot:2
 +15                   DO BMES^XPDUTL(" o AB whole-file index set for "_XOBCN	 +15                   DO BMES^XPDUTL(" o AB whole-file index set for "_XOBCN
                   End DoDot:1							                   End DoDot:1
 +16       QUIT 								 +16       QUIT 
 +17      ;									 +17      ;
DELIP()   ; -- move IP ADDRESS to SERVER field if blank and delete IP ADDRESS	DELIP()   ; -- move IP ADDRESS to SERVER field if blank and delete IP ADDRESS
 +1        NEW XOBDA,XOBDA0,XOBY,XOBERR						 +1        NEW XOBDA,XOBDA0,XOBY,XOBERR
 +2       ; -- make sure IP ADDRESS field is present				 +2       ; -- make sure IP ADDRESS field is present
 +3        DO FIELD^DID(18.12,.02,"N","LABEL","XOBY","XOBERR")			 +3        DO FIELD^DID(18.12,.02,"N","LABEL","XOBY","XOBERR")
 +4        IF $GET(XOBY("LABEL"))'="IP ADDRESS"					 +4        IF $GET(XOBY("LABEL"))'="IP ADDRESS"
               GOTO DELIPQ							               GOTO DELIPQ
 +5       ;									 +5       ;
 +6       ; -- move data							 +6       ; -- move data
 +7        SET XOBDA=0								 +7        SET XOBDA=0
 +8        FOR 									 +8        FOR 
               SET XOBDA=$ORDER(^XOB(18.12,XOBDA))				               SET XOBDA=$ORDER(^XOB(18.12,XOBDA))
               if 'XOBDA						      |	               IF 'XOBDA
                   QUIT 							                   QUIT 
               SET XOBDA0=$GET(^(XOBDA,0))					               SET XOBDA0=$GET(^(XOBDA,0))
               Begin DoDot:1							               Begin DoDot:1
 +9                NEW SERVER,IP						 +9                NEW SERVER,IP
 +10               SET SERVER=$PIECE(XOBDA0,"^",4)				 +10               SET SERVER=$PIECE(XOBDA0,"^",4)
 +11               SET IP=$PIECE(XOBDA0,"^",2)					 +11               SET IP=$PIECE(XOBDA0,"^",2)
 +12               IF IP]""							 +12               IF IP]""
                       Begin DoDot:2						                       Begin DoDot:2
 +13                       NEW XOBIENS,XOBFDA,XOBERR				 +13                       NEW XOBIENS,XOBFDA,XOBERR
 +14                       SET XOBIENS=XOBDA_","				 +14                       SET XOBIENS=XOBDA_","
 +15      ; -- Set up array with field values					 +15      ; -- Set up array with field values
 +16                       IF SERVER=""						 +16                       IF SERVER=""
                               SET XOBFDA(18.12,XOBIENS,.04)=IP			                               SET XOBFDA(18.12,XOBIENS,.04)=IP
 +17                       SET XOBFDA(18.12,XOBIENS,.02)="@"			 +17                       SET XOBFDA(18.12,XOBIENS,.02)="@"
 +18                       DO FILE^DIE("","XOBFDA","XOBERR")			 +18                       DO FILE^DIE("","XOBFDA","XOBERR")
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +19       DO BMES^XPDUTL(" o  IP ADDRESS (#.02) field data moved to SERVER (	 +19       DO BMES^XPDUTL(" o  IP ADDRESS (#.02) field data moved to SERVER (
 +20       DO MES^XPDUTL("    in WEB SERVER (#18.12) file")			 +20       DO MES^XPDUTL("    in WEB SERVER (#18.12) file")
 +21      ;									 +21      ;
 +22      ; -- delete field							 +22      ; -- delete field
 +23       DO DELFLD(.02,"IP ADDRESS")						 +23       DO DELFLD(.02,"IP ADDRESS")
DELIPQ    ; 									DELIPQ    ; 
 +1        QUIT 								 +1        QUIT 
 +2       ; 									 +2       ; 
DELHP()   ; -- remove HtttpProxy* fields and 2 node				DELHP()   ; -- remove HtttpProxy* fields and 2 node
 +1        NEW XOBX							      |	 +1 
										XOBWPST   4130     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           NEW XOBX
 +2       ; -- delete HtttpProxy* field definitions				 +2       ; -- delete HtttpProxy* field definitions
 +3        DO DELFLD(2.01,"HttpProxyHTTPS")					 +3        DO DELFLD(2.01,"HttpProxyHTTPS")
 +4        DO DELFLD(2.02,"HttpProxyServer")					 +4        DO DELFLD(2.02,"HttpProxyServer")
 +5        DO DELFLD(2.03,"HttpProxyPort")					 +5        DO DELFLD(2.03,"HttpProxyPort")
 +6       ; -- remove 2 nodes							 +6       ; -- remove 2 nodes
 +7        NEW XOBDA								 +7        NEW XOBDA
 +8        SET XOBDA=0								 +8        SET XOBDA=0
 +9        FOR 									 +9        FOR 
               SET XOBDA=$ORDER(^XOB(18.12,XOBDA))				               SET XOBDA=$ORDER(^XOB(18.12,XOBDA))
               if 'XOBDA						      |	               IF 'XOBDA
                   QUIT 							                   QUIT 
               KILL ^XOB(18.12,XOBDA,2)						               KILL ^XOB(18.12,XOBDA,2)
 +10       QUIT 								 +10       QUIT 
 +11      ;									 +11      ;
DELFLD(XOBNUM,XOBLABEL) ; -- delete a field from WEB SERVER file		DELFLD(XOBNUM,XOBLABEL) ; -- delete a field from WEB SERVER file
 +1        NEW XOBY,XOBERR,DIK,DA						 +1        NEW XOBY,XOBERR,DIK,DA
 +2        DO FIELD^DID(18.12,XOBNUM,"N","LABEL","XOBY","XOBERR")		 +2        DO FIELD^DID(18.12,XOBNUM,"N","LABEL","XOBY","XOBERR")
 +3        IF $GET(XOBY("LABEL"))'=XOBLABEL					 +3        IF $GET(XOBY("LABEL"))'=XOBLABEL
               GOTO DELFLDQ							               GOTO DELFLDQ
 +4        SET DIK="^DD(18.12,"							 +4        SET DIK="^DD(18.12,"
 +5        SET DA=XOBNUM							 +5        SET DA=XOBNUM
 +6        SET DA(1)=18.12							 +6        SET DA(1)=18.12
 +7        DO ^DIK								 +7        DO ^DIK
 +8        DO BMES^XPDUTL(" o  "_XOBLABEL_" (#"_XOBNUM_") field deleted from 	 +8        DO BMES^XPDUTL(" o  "_XOBLABEL_" (#"_XOBNUM_") field deleted from 
DELFLDQ   ;									DELFLDQ   ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
GETDIR()  ; -- get directory where install files are located			GETDIR()  ; -- get directory where install files are located
 +1        QUIT $$DEFDIR^%ZISH($GET(XPDQUES("POSXMLDIR"),""))			 +1        QUIT $$DEFDIR^%ZISH($GET(XPDQUES("POSXMLDIR"),""))
 +2       ;									 +2       ;


*****   INDEX OF XOBWPST   *****						*****   INDEX OF XOBWPST   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   DA           INDEX+1~,DELFLD+1~,DELFLD+5*					   DA           INDEX+1~,DELFLD+1~,DELFLD+5*
   DA(1         INDEX+11*,INDEX+12,DELFLD+6*					   DA(1         INDEX+11*,INDEX+12,DELFLD+6*
   DIK          INDEX+1~,INDEX+5*,INDEX+12*,DELFLD+1~,DELFLD+4*			   DIK          INDEX+1~,INDEX+5*,INDEX+12*,DELFLD+1~,DELFLD+4*
   DIK(1        INDEX+6*,INDEX+13*						   DIK(1        INDEX+6*,INDEX+13*
   IP           DELIP+9~,DELIP+11*,DELIP+12,DELIP+16				   IP           DELIP+9~,DELIP+11*,DELIP+12,DELIP+16
   SERVER       DELIP+9~,DELIP+10*,DELIP+16					   SERVER       DELIP+9~,DELIP+10*,DELIP+16
   XOBCNT       INDEX+1~,INDEX+11*,INDEX+14*,INDEX+15				   XOBCNT       INDEX+1~,INDEX+11*,INDEX+14*,INDEX+15
   XOBDA        DELIP+1~,DELIP+7*,DELIP+8*,DELIP+14,DELHP+7~,DELHP+8*,DELHP+9	   XOBDA        DELIP+1~,DELIP+7*,DELIP+8*,DELIP+14,DELHP+7~,DELHP+8*,DELHP+9
   XOBDA0       DELIP+1~,DELIP+8*,DELIP+10,DELIP+11				   XOBDA0       DELIP+1~,DELIP+8*,DELIP+10,DELIP+11
   XOBERR       DELIP+1~,DELIP+13~,DELFLD+1~					   XOBERR       DELIP+1~,DELIP+13~,DELFLD+1~
   XOBFDA       DELIP+13~							   XOBFDA       DELIP+13~
   XOBFDA(      DELIP+16*,DELIP+17*						   XOBFDA(      DELIP+16*,DELIP+17*
   XOBFILE      INDEX+1~,INDEX+3*,INDEX+4,INDEX+5,INDEX+8			   XOBFILE      INDEX+1~,INDEX+3*,INDEX+4,INDEX+5,INDEX+8
   XOBIENS      DELIP+13~,DELIP+14*,DELIP+16,DELIP+17				   XOBIENS      DELIP+13~,DELIP+14*,DELIP+16,DELIP+17
   XOBLABEL     DELFLD~,DELFLD+3,DELFLD+8					   XOBLABEL     DELFLD~,DELFLD+3,DELFLD+8
   XOBNUM       DELFLD~,DELFLD+2,DELFLD+5,DELFLD+8				   XOBNUM       DELFLD~,DELFLD+2,DELFLD+5,DELFLD+8
   XOBSTAT      EN+1~,EN+16~,EN+17*,EN+18,EN+22,DELETE+1~,DELETE+5*,DELETE+6	   XOBSTAT      EN+1~,EN+16~,EN+17*,EN+18,EN+22,DELETE+1~,DELETE+5*,DELETE+6
   XOBX         DELHP+1~							   XOBX         DELHP+1~
   XOBY         DELIP+1~,DELFLD+1~						   XOBY         DELIP+1~,DELFLD+1~
   XOBY("LABEL" DELIP+4,DELFLD+3						   XOBY("LABEL" DELIP+4,DELFLD+3
>> XPDQUES("POSXMLDIR" 								>> XPDQUES("POSXMLDIR" 
                GETDIR+1							                GETDIR+1
										
									      >	*****   INDEX OF XOBWPST   *****                                             

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^XOB(               INDEX+4							   ^XOB(               INDEX+4
   ^XOB(18.12          INDEX+10,INDEX+11,DELIP+8,DELHP+9!			   ^XOB(18.12          INDEX+10,INDEX+11,DELIP+8,DELHP+9!

Naked Globals									Naked Globals
   ^(           DELIP+8								   ^(           DELIP+8

Cache Objects									Cache Objects
   $SYSTEM.OBJ.DeletePackage       DELETE+5					   $SYSTEM.OBJ.DeletePackage       DELETE+5

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$GETDIR     EN+17,EN+20							   $$GETDIR     EN+17,EN+20
   DELETE       EN+4								   DELETE       EN+4
   DELFLD       DELIP+23,DELHP+3,DELHP+4,DELHP+5				   DELFLD       DELIP+23,DELHP+3,DELHP+4,DELHP+5
   DELFLDQ      DELFLD+3							   DELFLDQ      DELFLD+3
   DELHP        EN+13								   DELHP        EN+13
   DELIP        EN+10								   DELIP        EN+10
   DELIPQ       DELIP+4								   DELIPQ       DELIP+4
   ENQ          EN+18								   ENQ          EN+18
   INDEX        EN+7								   INDEX        EN+7

External References								External References
   $$DEFDIR^%ZISH      GETDIR+1							   $$DEFDIR^%ZISH      GETDIR+1
   FIELD^DID           DELIP+3,DELFLD+2						   FIELD^DID           DELIP+3,DELFLD+2
   FILE^DIE            DELIP+18							   FILE^DIE            DELIP+18
   ^DIK                DELFLD+7							   ^DIK                DELFLD+7
   ENALL^DIK           INDEX+7,INDEX+14						   ENALL^DIK           INDEX+7,INDEX+14
   $$SUPPORT^XOBWENV   EN+17,EN+21						   $$SUPPORT^XOBWENV   EN+17,EN+21
   $$IMPORT^XOBWLIB1   EN+17							   $$IMPORT^XOBWLIB1   EN+17
   BMES^XPDUTL         EN+19,DELETE+3,DELETE+6,INDEX+8,INDEX+15,DELIP+19      |	   BMES^XPDUTL         EN+19,DELETE+3,DELETE+6,INDEX+8,INDEX+15,DELIP+19,DELF
                       DELFLD+8						      <
   MES^XPDUTL          EN+20,EN+21,EN+22,EN+23,EN+25,EN+26,DELETE+7,DELIP+20	   MES^XPDUTL          EN+20,EN+21,EN+22,EN+23,EN+25,EN+26,DELETE+7,DELIP+20

*****   END   *****								*****   END   *****
									      |	
										XOBWPWD   2997     printed  Apr 10, 2018@18:46:17                            
XOBWPWD   2997     printed  Mar 13, 2018@10:55:07                      Page 1 <

XOBWPWD   ;ALB/MJK - HWSC :: Private Password APIs ; 09/13/10 4:00pm		XOBWPWD   ;ALB/MJK - HWSC :: Private Password APIs ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3       ; -- used XOBVJC1 as seed						 +3       ; -- used XOBVJC1 as seed
 +4       ; 									 +4       ; 
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
EDIT      ; -- edit PASSWORD from DD						EDIT      ; -- edit PASSWORD from DD
 +1        NEW DIR,DIR0,XOBH,XOBMATCH						 +1        NEW DIR,DIR0,XOBH,XOBMATCH
 +2        SET XOBMATCH=0							 +2        SET XOBMATCH=0
 +3       ;									 +3       ;
 +4       ; -- if not 'y'es							 +4       ; -- if not 'y'es
 +5        IF "Nn"[$EXTRACT(X,1)						 +5        IF "Nn"[$EXTRACT(X,1)
               SET X=""								               SET X=""
               QUIT 								               QUIT 
 +6        IF "Yy"'[$EXTRACT(X,1)						 +6        IF "Yy"'[$EXTRACT(X,1)
               KILL X								               KILL X
               QUIT 								               QUIT 
 +7       ;									 +7       ;
 +8       ; -- get good hash or until abort by user 				 +8       ; -- get good hash or until abort by user 
 +9        FOR 									 +9        FOR 
               Begin DoDot:1							               Begin DoDot:1
 +10               DO CLR							 +10               DO CLR
 +11               SET XOBH=$$ASK()						 +11               SET XOBH=$$ASK()
 +12               IF $DATA(DIRUT)						 +12               IF $DATA(DIRUT)
                       QUIT 							                       QUIT 
 +13               SET XOBMATCH=$$REASK(XOBH)					 +13               SET XOBMATCH=$$REASK(XOBH)
               End DoDot:1							               End DoDot:1
               if XOBMATCH!($DATA(DIRUT))				      |	               IF XOBMATCH!($DATA(DIRUT))
                   QUIT 							                   QUIT 
 +14      ;									 +14      ;
 +15      ; -- if good hash set in file						 +15      ; -- if good hash set in file
 +16       IF XOBMATCH								 +16       IF XOBMATCH
               Begin DoDot:1							               Begin DoDot:1
 +17               DO CLR							 +17               DO CLR
 +18               DO SET(XOBH,1)						 +18               DO SET(XOBH,1)
               End DoDot:1							               End DoDot:1
 +19      ;									 +19      ;
 +20      ; -- clean up								 +20      ; -- clean up
 +21       KILL DUOUT								 +21       KILL DUOUT
 +22       IF $DATA(DIRUT)							 +22       IF $DATA(DIRUT)
               SET DUOUT=1							               SET DUOUT=1
 +23       XECUTE ^%ZOSF("EON")							 +23       XECUTE ^%ZOSF("EON")
           WRITE !								           WRITE !
 +24       KILL DIR,DIRUT							 +24       KILL DIR,DIRUT
           SET X=""								           SET X=""
 +25       QUIT 								 +25       QUIT 
 +26      ;									 +26      ;
CLR       ; -- clear to continue						CLR       ; -- clear to continue
 +1        IF '$DATA(DDS)							 +1        IF '$DATA(DDS)
               WRITE !								               WRITE !
               QUIT 								               QUIT 
 +2        NEW DX,DY								 +2        NEW DX,DY
 +3        DO CLRMSG^DDS							 +3        DO CLRMSG^DDS
           SET DX=0								           SET DX=0
           SET DY=DDSHBX+1							           SET DY=DDSHBX+1
           XECUTE IOXY								           XECUTE IOXY
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
SET(XOBH,XOBTALK) ; -- set password in entry					SET(XOBH,XOBTALK) ; -- set password in entry
 +1        IF $LENGTH(XOBH)							 +1        IF $LENGTH(XOBH)
									      >	
										XOBWPWD   2997     printed  Apr 10, 2018@18:46:17                            
									      >
               IF XOBTALK							               IF XOBTALK
                   WRITE !,"Ok, password has been changed!"			                   WRITE !,"Ok, password has been changed!"
 +2        NEW FDA,XOBERR							 +2        NEW FDA,XOBERR
 +3        IF XOBH=""								 +3        IF XOBH=""
               SET XOBH="@"							               SET XOBH="@"
 +4       ; -- password								 +4       ; -- password
 +5        SET FDA(18.12,$$IENS^DILF(.DA),300)=XOBH				 +5        SET FDA(18.12,$$IENS^DILF(.DA),300)=XOBH
 +6        DO FILE^DIE("","FDA","XOBERR")					 +6        DO FILE^DIE("","FDA","XOBERR")
 +7        IF $DATA(XOBERR)							 +7        IF $DATA(XOBERR)
               DO ^%ZTER							               DO ^%ZTER
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
DEL       ; -- make sure delete is desired					DEL       ; -- make sure delete is desired
 +1        XECUTE ^%ZOSF("EON")							 +1        XECUTE ^%ZOSF("EON")
 +2        WRITE "@",*7								 +2        WRITE "@",*7
 +3        SET DIR(0)="Y"							 +3        SET DIR(0)="Y"
           SET DIR("A")="Sure you want to delete"				           SET DIR("A")="Sure you want to delete"
 +4        DO ^DIR								 +4        DO ^DIR
 +5        IF Y'=1								 +5        IF Y'=1
               if $X>55							      |	               IF $X>55
                   WRITE !?9							                   WRITE !?9
               WRITE *7,"  <Nothing Deleted>"					               WRITE *7,"  <Nothing Deleted>"
 +6        QUIT 								 +6        QUIT 
 +7       ;									 +7       ;
DIRUT     ; -- set abort flag							DIRUT     ; -- set abort flag
 +1        SET DIRUT=1								 +1        SET DIRUT=1
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
ASK()     ; -- setup to ask user for password					ASK()     ; -- setup to ask user for password
 +1        NEW X,XOBX,XOBH							 +1        NEW X,XOBX,XOBH
 +2        XECUTE ^%ZOSF("EOFF")						 +2        XECUTE ^%ZOSF("EOFF")
 +3        DO CLR								 +3        DO CLR
 +4        WRITE "Enter a new PASSWORD: "					 +4        WRITE "Enter a new PASSWORD: "
 +5        SET XOBX=$$GET()							 +5        SET XOBX=$$GET()
 +6        IF $DATA(DIRUT)							 +6        IF $DATA(DIRUT)
               QUIT ""								               QUIT ""
 +7        IF XOBX="@"								 +7        IF XOBX="@"
               Begin DoDot:1							               Begin DoDot:1
 +8                DO DEL							 +8                DO DEL
 +9                IF Y'=1							 +9                IF Y'=1
                       DO DIRUT							                       DO DIRUT
               End DoDot:1							               End DoDot:1
               QUIT ""								               QUIT ""
 +10      ;									 +10      ;
 +11       DO CLR								 +11       DO CLR
 +12       QUIT $$ENCRYP(XOBX)							 +12       QUIT $$ENCRYP(XOBX)
 +13      ;									 +13      ;
REASK(XOBH) ; -- reask user for password					REASK(XOBH) ; -- reask user for password
 +1        NEW XOBX,XOBDONE,XOBMATCH,XOBI					 +1        NEW XOBX,XOBDONE,XOBMATCH,XOBI
 +2        SET XOBDONE=0							 +2        SET XOBDONE=0
 +3        SET XOBMATCH=1							 +3        SET XOBMATCH=1
 +4       ;									 +4       ;
 +5       ; -- if deleting then auto-match					 +5       ; -- if deleting then auto-match
 +6        IF XOBH=""								 +6        IF XOBH=""
               QUIT XOBMATCH							               QUIT XOBMATCH
 +7       ;									 +7       ;
 +8        SET XOBMATCH=0							 +8        SET XOBMATCH=0
 +9        DO CLR								 +9        DO CLR
 +10       XECUTE ^%ZOSF("EOFF")						 +10       XECUTE ^%ZOSF("EOFF")
 +11       FOR XOBI=3:-1:1							 +11       FOR XOBI=3:-1:1
               Begin DoDot:1							               Begin DoDot:1
 +12               WRITE "Please re-type the new password to show that I have |	 +12 
										XOBWPWD   2997     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	                   WRITE "Please re-type the new password to show that I have
 +13               SET XOBX=$$GET()						 +13               SET XOBX=$$GET()
 +14      ; -- user is up-arrowing out						 +14      ; -- user is up-arrowing out
 +15               IF $DATA(DIRUT)						 +15               IF $DATA(DIRUT)
                       SET XOBDONE=1						                       SET XOBDONE=1
                       QUIT 							                       QUIT 
 +16      ;									 +16      ;
 +17               IF XOBX'=$$DECRYP(XOBH)					 +17               IF XOBX'=$$DECRYP(XOBH)
                       Begin DoDot:2						                       Begin DoDot:2
 +18                       DO CLR						 +18                       DO CLR
 +19                       WRITE "This doesn't match.  Try again!",!,*7		 +19                       WRITE "This doesn't match.  Try again!",!,*7
                       End DoDot:2						                       End DoDot:2
                       QUIT 							                       QUIT 
 +20      ; -- match entered							 +20      ; -- match entered
 +21               SET XOBDONE=1						 +21               SET XOBDONE=1
 +22               SET XOBMATCH=1						 +22               SET XOBMATCH=1
               End DoDot:1							               End DoDot:1
               if XOBDONE						      |	               IF XOBDONE
                   QUIT 							                   QUIT 
 +23       QUIT XOBMATCH							 +23       QUIT XOBMATCH
 +24      ;									 +24      ;
GET()     ; -- get user input and process for '^' and ''			GET()     ; -- get user input and process for '^' and ''
 +1        SET X=$$ACCEPT(60)							 +1        SET X=$$ACCEPT(60)
 +2        IF X="@"								 +2        IF X="@"
               QUIT X								               QUIT X
 +3        IF (X["^")!('$LENGTH(X))						 +3        IF (X["^")!('$LENGTH(X))
               DO DIRUT								               DO DIRUT
 +4        QUIT X								 +4        QUIT X
 +5       ;									 +5       ;
ACCEPT(TO) ; -- read user input character a time; force exit on '^'; echo '*'	ACCEPT(TO) ; -- read user input character a time; force exit on '^'; echo '*'
 +1        NEW C,A,E								 +1        NEW C,A,E
 +2        KILL DUOUT								 +2        KILL DUOUT
 +3        SET A=""								 +3        SET A=""
           SET TO=$GET(TO,60)							           SET TO=$GET(TO,60)
           SET E=0								           SET E=0
 +4        FOR 									 +4        FOR 
               Begin DoDot:1							               Begin DoDot:1
 +5                READ "",*C:TO						 +5                READ "",*C:TO
                   if ('$TEST)						      |	                   IF ('$TEST)
                       SET DUOUT=1						                       SET DUOUT=1
                   if ('$TEST)!(C=94)					      |	                   IF ('$TEST)!(C=94)
                       SET A="^"						                       SET A="^"
 +6                IF (A="^")!(C=13)!($LENGTH(A)>100)				 +6                IF (A="^")!(C=13)!($LENGTH(A)>100)
                       SET E=1							                       SET E=1
                       QUIT 							                       QUIT 
 +7                IF C=127							 +7                IF C=127
                       if '$LENGTH(A)					      |	                       IF '$LENGTH(A)
                           QUIT 						                           QUIT 
                       SET A=$EXTRACT(A,1,$LENGTH(A)-1)				                       SET A=$EXTRACT(A,1,$LENGTH(A)-1)
                       WRITE $CHAR(8,32,8)					                       WRITE $CHAR(8,32,8)
                       QUIT 							                       QUIT 
 +8                SET A=A_$CHAR(C)						 +8                SET A=A_$CHAR(C)
                   WRITE *42							                   WRITE *42
 +9                QUIT 							 +9                QUIT 
               End DoDot:1							               End DoDot:1
               if E							      |	               IF E
                   QUIT 							                   QUIT 
 +10       QUIT A								 +10       QUIT A
 +11      ;									 +11      ;
ENCRYP(XOBX) ; -- Kernel encode							ENCRYP(XOBX) ; -- Kernel encode
 +1        QUIT $$ENCRYP^XUSRB1(XOBX)						 +1        QUIT $$ENCRYP^XUSRB1(XOBX)
 +2       ;									 +2       ;
DECRYP(XOBH) ; -- Kernel decode							DECRYP(XOBH) ; -- Kernel decode
 +1        QUIT $$DECRYP^XUSRB1(XOBH)					      |	 +1 
										XOBWPWD   2997     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           QUIT $$DECRYP^XUSRB1(XOBH)
 +2       ;									 +2       ;


*****   INDEX OF XOBWPWD   *****						*****   INDEX OF XOBWPWD   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   A            ACCEPT+1~,ACCEPT+3*,ACCEPT+5*,ACCEPT+6,ACCEPT+7*,ACCEPT+8*    |	   A            ACCEPT+1~,ACCEPT+3*,ACCEPT+5*,ACCEPT+6,ACCEPT+7*,ACCEPT+8*,AC
                ACCEPT+10						      <
   C            ACCEPT+1~,ACCEPT+5*,ACCEPT+6,ACCEPT+7,ACCEPT+8			   C            ACCEPT+1~,ACCEPT+5*,ACCEPT+6,ACCEPT+7,ACCEPT+8
>> DA           SET+5								>> DA           SET+5
>> DDS          CLR+1								>> DDS          CLR+1
>> DDSHBX       CLR+3								>> DDSHBX       CLR+3
   DIR          EDIT+1~,EDIT+24!						   DIR          EDIT+1~,EDIT+24!
   DIR("A"      DEL+3*								   DIR("A"      DEL+3*
   DIR(0        DEL+3*								   DIR(0        DEL+3*
   DIR0         EDIT+1~								   DIR0         EDIT+1~
   DIRUT        EDIT+9,EDIT+12,EDIT+22,EDIT+24!,DIRUT+1*,ASK+6,REASK+15		   DIRUT        EDIT+9,EDIT+12,EDIT+22,EDIT+24!,DIRUT+1*,ASK+6,REASK+15
   DUOUT        EDIT+21!,EDIT+22*,ACCEPT+2!,ACCEPT+5*				   DUOUT        EDIT+21!,EDIT+22*,ACCEPT+2!,ACCEPT+5*
   DX           CLR+2~,CLR+3*							   DX           CLR+2~,CLR+3*
   DY           CLR+2~,CLR+3*							   DY           CLR+2~,CLR+3*
   E            ACCEPT+1~,ACCEPT+3*,ACCEPT+4,ACCEPT+6*				   E            ACCEPT+1~,ACCEPT+3*,ACCEPT+4,ACCEPT+6*
   FDA          SET+2~								   FDA          SET+2~
   FDA(         SET+5*								   FDA(         SET+5*
>> IOXY         CLR+3								>> IOXY         CLR+3
   TO           ACCEPT~,ACCEPT+3*,ACCEPT+5					   TO           ACCEPT~,ACCEPT+3*,ACCEPT+5
   X            EDIT+5*,EDIT+6!,EDIT+24*,ASK+1~,GET+1*,GET+2,GET+3,GET+4	   X            EDIT+5*,EDIT+6!,EDIT+24*,ASK+1~,GET+1*,GET+2,GET+3,GET+4
   XOBDONE      REASK+1~,REASK+2*,REASK+11,REASK+15*,REASK+21*			   XOBDONE      REASK+1~,REASK+2*,REASK+11,REASK+15*,REASK+21*
   XOBERR       SET+2~,SET+7							   XOBERR       SET+2~,SET+7
   XOBH         EDIT+1~,EDIT+11*,EDIT+13,EDIT+18,SET~,SET+1,SET+3*,SET+5,ASK+ |	   XOBH         EDIT+1~,EDIT+11*,EDIT+13,EDIT+18,SET~,SET+1,SET+3*,SET+5,ASK+
                REASK~,REASK+6,REASK+17,DECRYP~,DECRYP+1		      <
   XOBI         REASK+1~,REASK+11*						   XOBI         REASK+1~,REASK+11*
   XOBMATCH     EDIT+1~,EDIT+2*,EDIT+9,EDIT+13*,EDIT+16,REASK+1~,REASK+3*     |	   XOBMATCH     EDIT+1~,EDIT+2*,EDIT+9,EDIT+13*,EDIT+16,REASK+1~,REASK+3*,REA
                REASK+6,REASK+8*,REASK+22*,REASK+23			      <
   XOBTALK      SET~,SET+1							   XOBTALK      SET~,SET+1
   XOBX         ASK+1~,ASK+5*,ASK+7,ASK+12,REASK+1~,REASK+13*,REASK+17,ENCRYP |	   XOBX         ASK+1~,ASK+5*,ASK+7,ASK+12,REASK+1~,REASK+13*,REASK+17,ENCRYP
                ENCRYP+1						      <
>> Y            DEL+5,ASK+9							>> Y            DEL+5,ASK+9

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^%ZOSF("EOFF"       ASK+2,REASK+10						   ^%ZOSF("EOFF"       ASK+2,REASK+10
   ^%ZOSF("EON"        EDIT+23,DEL+1						   ^%ZOSF("EON"        EDIT+23,DEL+1

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$ACCEPT     GET+1								   $$ACCEPT     GET+1
   $$ASK        EDIT+11								   $$ASK        EDIT+11
   $$DECRYP     REASK+17							   $$DECRYP     REASK+17
   $$ENCRYP     ASK+12								   $$ENCRYP     ASK+12
   $$GET        ASK+5,REASK+13							   $$GET        ASK+5,REASK+13
   $$REASK      EDIT+13								   $$REASK      EDIT+13
   CLR          EDIT+10,EDIT+17,ASK+3,ASK+11,REASK+9,REASK+18			   CLR          EDIT+10,EDIT+17,ASK+3,ASK+11,REASK+9,REASK+18
   DEL          ASK+8								   DEL          ASK+8
										
									      >	*****   INDEX OF XOBWPWD   *****                                             
									      >
									      >	Label References
   DIRUT        ASK+9,GET+3							   DIRUT        ASK+9,GET+3
   SET          EDIT+18								   SET          EDIT+18

External References								External References
   ^%ZTER              SET+7							   ^%ZTER              SET+7
   CLRMSG^DDS          CLR+3							   CLRMSG^DDS          CLR+3
   FILE^DIE            SET+6							   FILE^DIE            SET+6
   $$IENS^DILF         SET+5							   $$IENS^DILF         SET+5
   ^DIR                DEL+4							   ^DIR                DEL+4
   $$DECRYP^XUSRB1     DECRYP+1							   $$DECRYP^XUSRB1     DECRYP+1
   $$ENCRYP^XUSRB1     ENCRYP+1							   $$ENCRYP^XUSRB1     ENCRYP+1

*****   END   *****								*****   END   *****
									      |	
										XOBWSSL   3600     printed  Apr 10, 2018@18:46:17                            
XOBWSSL   3600     printed  Mar 13, 2018@10:55:07                      Page 1 <

XOBWSSL   ;ALB/MJK - HWSC :: SSL Integration Tools ; 09/13/10 4:00pm		XOBWSSL   ;ALB/MJK - HWSC :: SSL Integration Tools ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
CHKNAME(XOBCFGN) ; -- match configuration name / used by input transform (18.	CHKNAME(XOBCFGN) ; -- match configuration name / used by input transform (18.
 +1       ; skip match checking if Cache 2008/higher, can't check oustide %SY	 +1       ; skip match checking if Cache 2008/higher, can't check oustide %SY
           if $$CACH2008()						      |	           IF $$CACH2008()
               QUIT 1								               QUIT 1
 +2        NEW MATCH,STATUS,RS,MORE						 +2        NEW MATCH,STATUS,RS,MORE
 +3        SET MATCH=0								 +3        SET MATCH=0
 +4        SET RS=##class(%ResultSet).%New("%Net.SSL.Configuration:ListNames"	 +4        SET RS=##class(%ResultSet).%New("%Net.SSL.Configuration:ListNames"
 +5 										 +5 
*** ERROR ***									*** ERROR ***
           IF $system.Status.IsError(RS.Execute())				           IF $system.Status.IsError(RS.Execute())
               GOTO CHKNAMEQ							               GOTO CHKNAMEQ
 +6       ; -- see if there is a match						 +6       ; -- see if there is a match
 +7        FOR 									 +7        FOR 
               SET MORE=RS.Next(.STATUS)					               SET MORE=RS.Next(.STATUS)

*** ERROR ***									*** ERROR ***
               if 'MORE!($system.Status.IsError(STATUS))		      |	               IF 'MORE!($system.Status.IsError(STATUS))
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +8                IF XOBCFGN=$GET(RS.Data("Name"))				 +8                IF XOBCFGN=$GET(RS.Data("Name"))
                       SET MATCH=1						                       SET MATCH=1
                       QUIT 							                       QUIT 
               End DoDot:1							               End DoDot:1
               if MATCH							      |	               IF MATCH
                   QUIT 							                   QUIT 
CHKNAMEQ  ; -- check name quit point						CHKNAMEQ  ; -- check name quit point
 +1        QUIT MATCH								 +1        QUIT MATCH
 +2       ;									 +2       ;
DISPLAY   ; -- display list of SSL configuration names  / used by XECUTABLE H	DISPLAY   ; -- display list of SSL configuration names  / used by XECUTABLE H
 +1       ; skip display if Cache 2008/higher, can't check oustide %SYS 	 +1       ; skip display if Cache 2008/higher, can't check oustide %SYS 
           if $$CACH2008()						      |	           IF $$CACH2008()
               QUIT 								               QUIT 
 +2        NEW COUNT,RS,STATUS							 +2        NEW COUNT,RS,STATUS
 +3        SET COUNT=0								 +3        SET COUNT=0
 +4        DO EN^DDIOL("Possible SSL configurations are the following:")	 +4        DO EN^DDIOL("Possible SSL configurations are the following:")
 +5        SET RS=##class(%ResultSet).%New("%Net.SSL.Configuration:ListNames"	 +5        SET RS=##class(%ResultSet).%New("%Net.SSL.Configuration:ListNames"
 +6 										 +6 
*** ERROR ***									*** ERROR ***
           IF $system.Status.IsError(RS.Execute())				           IF $system.Status.IsError(RS.Execute())
               GOTO DISPLAYQ							               GOTO DISPLAYQ
 +7       ; -- display the names						 +7       ; -- display the names
 +8        FOR 									 +8        FOR 
               SET MORE=RS.Next(.STATUS)					               SET MORE=RS.Next(.STATUS)

*** ERROR ***									*** ERROR ***
               if 'MORE!($system.Status.IsError(STATUS))		      |	               IF 'MORE!($system.Status.IsError(STATUS))
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +9                DO EN^DDIOL("- "_$GET(RS.Data("Name")),"","!?5")		 +9                DO EN^DDIOL("- "_$GET(RS.Data("Name")),"","!?5")
 +10               SET COUNT=COUNT+1						 +10               SET COUNT=COUNT+1
               End DoDot:1							               End DoDot:1
DISPLAYQ  ; -- display list quit point						DISPLAYQ  ; -- display list quit point
 +1        IF COUNT=0								 +1        IF COUNT=0
               DO EN^DDIOL("<No SSL configurations defined>","","!?5")		               DO EN^DDIOL("<No SSL configurations defined>","","!?5")
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
GETCFG(XOBCFGN) ; -- get %Net.SSL.Configuration instance			GETCFG(XOBCFGN) ; -- get %Net.SSL.Configuration instance
 +1        NEW STATUS,RS,MORE,CFG					      |	 +1 
										XOBWSSL   3600     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           NEW STATUS,RS,MORE,CFG
 +2        SET CFG=""								 +2        SET CFG=""
 +3        SET RS=##class(%ResultSet).%New("%Net.SSL.Configuration:Extent")	 +3        SET RS=##class(%ResultSet).%New("%Net.SSL.Configuration:Extent")
 +4 										 +4 
*** ERROR ***									*** ERROR ***
           IF $system.Status.IsError(RS.Execute())				           IF $system.Status.IsError(RS.Execute())
               GOTO GETCFGQ							               GOTO GETCFGQ
 +5       ; -- see if there is a match						 +5       ; -- see if there is a match
 +6        FOR 									 +6        FOR 
               SET MORE=RS.Next(.STATUS)					               SET MORE=RS.Next(.STATUS)

*** ERROR ***									*** ERROR ***
               if 'MORE!($system.Status.IsError(STATUS))		      |	               IF 'MORE!($system.Status.IsError(STATUS))
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +7                SET CFG=##class(%Net.SSL.Configuration).%OpenId(RS.Data("I	 +7                SET CFG=##class(%Net.SSL.Configuration).%OpenId(RS.Data("I
 +8                IF XOBCFGN=CFG.Name						 +8                IF XOBCFGN=CFG.Name
                       QUIT 							                       QUIT 
 +9                SET CFG=""							 +9                SET CFG=""
               End DoDot:1							               End DoDot:1
               if CFG]""						      |	               IF CFG]""
                   QUIT 							                   QUIT 
GETCFGQ   ; -- get SSL config instance exit point				GETCFGQ   ; -- get SSL config instance exit point
 +1        QUIT CFG								 +1        QUIT CFG
 +2       ;									 +2       ;
SHOW(XOBCFGN) ; -- simple display of SSL Configuration				SHOW(XOBCFGN) ; -- simple display of SSL Configuration
 +1       ; skip if Cache 2008/higher, can't check oustide %SYS 		 +1       ; skip if Cache 2008/higher, can't check oustide %SYS 
           if $$CACH2008()						      |	           IF $$CACH2008()
               QUIT 								               QUIT 
 +2        NEW CFG								 +2        NEW CFG
 +3        SET CFG=$$GETCFG(XOBCFGN)						 +3        SET CFG=$$GETCFG(XOBCFGN)
 +4        IF CFG=""								 +4        IF CFG=""
               GOTO SHOWQ							               GOTO SHOWQ
 +5        WRITE !,"SSL Configuration Name: ",!?5," > ",CFG.Name		 +5        WRITE !,"SSL Configuration Name: ",!?5," > ",CFG.Name
 +6        WRITE !,"File containing X.509 certificate(s) of trusted CAs: ",!?	 +6        WRITE !,"File containing X.509 certificate(s) of trusted CAs: ",!?
 +7        WRITE !,"Directory containing file(s) with X.509 certificate(s) of	 +7        WRITE !,"Directory containing file(s) with X.509 certificate(s) of
 +8        WRITE !,"File containing this configuration's X.509 certificate: "	 +8        WRITE !,"File containing this configuration's X.509 certificate: "
 +9        WRITE !,"Ciphersuites: ",!?5," > ",$$GETSTR(CFG.CipherList)		 +9        WRITE !,"Ciphersuites: ",!?5," > ",$$GETSTR(CFG.CipherList)
 +10       WRITE !,"File containing this configuration's private key: ",!?5,"	 +10       WRITE !,"File containing this configuration's private key: ",!?5,"
 +11       WRITE !,"Private key type: ",!?5," > ",$$GETSTR($SELECT(CFG.Privat	 +11       WRITE !,"Private key type: ",!?5," > ",$$GETSTR($SELECT(CFG.Privat
 +12       WRITE !,"Intended role for this configuration: ",!?5," > ",$$GETST	 +12       WRITE !,"Intended role for this configuration: ",!?5," > ",$$GETST
 +13       WRITE !,"Peer certificate verification level: "			 +13       WRITE !,"Peer certificate verification level: "
           Begin DoDot:1							           Begin DoDot:1
 +14      ; -- client role							 +14      ; -- client role
 +15           IF CFG.Role=0							 +15           IF CFG.Role=0
                   WRITE !?5," > ",$$GETSTR($SELECT(CFG.VerifyPeer=0:"none",C	                   WRITE !?5," > ",$$GETSTR($SELECT(CFG.VerifyPeer=0:"none",C
                   QUIT 							                   QUIT 
 +16      ; -- server role							 +16      ; -- server role
 +17           IF CFG.Role=1							 +17           IF CFG.Role=1
                   WRITE !?5," > ",$$GETSTR($SELECT(CFG.VerifyPeer=0:"none",C	                   WRITE !?5," > ",$$GETSTR($SELECT(CFG.VerifyPeer=0:"none",C
                   QUIT 							                   QUIT 
           End DoDot:1								           End DoDot:1
 +18       WRITE !,"Maximum number of CA certificates allowed in peer certifi	 +18       WRITE !,"Maximum number of CA certificates allowed in peer certifi
SHOWQ     ;									SHOWQ     ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
GETSTR(STR) ; 									GETSTR(STR) ; 
 +1        QUIT $SELECT(STR]"":STR,1:"<null>")					 +1        QUIT $SELECT(STR]"":STR,1:"<null>")
 +2       ;									 +2       ;
CACH2008() ; quit 1 if OS is 2008 or higher					CACH2008() ; quit 1 if OS is 2008 or higher
 +1        NEW XOBVER								 +1        NEW XOBVER
 +2        SET XOBVER=$$VERSION^%ZOSV()					      |	 +2 
										XOBWSSL   3600     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           SET XOBVER=$$VERSION^%ZOSV()
 +3        IF +$PIECE(XOBVER,".")>2007						 +3        IF +$PIECE(XOBVER,".")>2007
               QUIT 1								               QUIT 1
 +4        QUIT 0								 +4        QUIT 0

									      >	*****   ERRORS & WARNINGS IN XOBWSSL   *****
									      >	   GETCFG+7     F - Cache Object doesn't exist.

*****   INDEX OF XOBWSSL   *****						*****   INDEX OF XOBWSSL   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   CFG          GETCFG+1~,GETCFG+2*,GETCFG+6,GETCFG+7*,GETCFG+9*,GETCFGQ+1    |	   CFG          GETCFG+1~,GETCFG+2*,GETCFG+6,GETCFG+7*,GETCFG+9*,GETCFGQ+1,SH
                SHOW+2~,SHOW+3*,SHOW+4					      <
   COUNT        DISPLAY+2~,DISPLAY+3*,DISPLAY+10*,DISPLAYQ+1			   COUNT        DISPLAY+2~,DISPLAY+3*,DISPLAY+10*,DISPLAYQ+1
   MATCH        CHKNAME+2~,CHKNAME+3*,CHKNAME+7,CHKNAME+8*,CHKNAMEQ+1		   MATCH        CHKNAME+2~,CHKNAME+3*,CHKNAME+7,CHKNAME+8*,CHKNAMEQ+1
   MORE         CHKNAME+2~,CHKNAME+7*,DISPLAY+8*,GETCFG+1~,GETCFG+6*		   MORE         CHKNAME+2~,CHKNAME+7*,DISPLAY+8*,GETCFG+1~,GETCFG+6*
   RS           CHKNAME+2~,CHKNAME+4*,DISPLAY+2~,DISPLAY+5*,GETCFG+1~,GETCFG+	   RS           CHKNAME+2~,CHKNAME+4*,DISPLAY+2~,DISPLAY+5*,GETCFG+1~,GETCFG+
   STATUS       CHKNAME+2~,CHKNAME+7,DISPLAY+2~,DISPLAY+8,GETCFG+1~,GETCFG+6	   STATUS       CHKNAME+2~,CHKNAME+7,DISPLAY+2~,DISPLAY+8,GETCFG+1~,GETCFG+6
   STR          GETSTR~,GETSTR+1						   STR          GETSTR~,GETSTR+1
   XOBCFGN      CHKNAME~,CHKNAME+8,GETCFG~,GETCFG+8,SHOW~,SHOW+3		   XOBCFGN      CHKNAME~,CHKNAME+8,GETCFG~,GETCFG+8,SHOW~,SHOW+3
   XOBVER       CACH2008+1~,CACH2008+2*,CACH2008+3				   XOBVER       CACH2008+1~,CACH2008+2*,CACH2008+3

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   NONE										   NONE

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   $system.Status.IsError          CHKNAME+5,CHKNAME+7,DISPLAY+6,DISPLAY+8    |	   $system.Status.IsError          CHKNAME+5,CHKNAME+7,DISPLAY+6,DISPLAY+8,GE
                                   GETCFG+4,GETCFG+6			      <
   %Net.SSL.Configuration          GETCFG+7					   %Net.SSL.Configuration          GETCFG+7
   %ResultSet                      CHKNAME+4,DISPLAY+5,GETCFG+3			   %ResultSet                      CHKNAME+4,DISPLAY+5,GETCFG+3
   CFG.CAFile                      SHOW+6					   CFG.CAFile                      SHOW+6
   CFG.CAPath                      SHOW+7					   CFG.CAPath                      SHOW+7
   CFG.CertificateFile             SHOW+8					   CFG.CertificateFile             SHOW+8
   CFG.CipherList                  SHOW+9					   CFG.CipherList                  SHOW+9
   CFG.Name                        GETCFG+8,SHOW+5				   CFG.Name                        GETCFG+8,SHOW+5
   CFG.PrivateKeyFile              SHOW+10					   CFG.PrivateKeyFile              SHOW+10
   CFG.PrivateKeyType              SHOW+11					   CFG.PrivateKeyType              SHOW+11
   CFG.Role                        SHOW+12,SHOW+15,SHOW+17			   CFG.Role                        SHOW+12,SHOW+15,SHOW+17
   CFG.VerifyDepth                 SHOW+18					   CFG.VerifyDepth                 SHOW+18
   CFG.VerifyPeer                  SHOW+15,SHOW+17				   CFG.VerifyPeer                  SHOW+15,SHOW+17
   RS.Data                         CHKNAME+8,DISPLAY+9,GETCFG+7			   RS.Data                         CHKNAME+8,DISPLAY+9,GETCFG+7
   RS.Execute                      CHKNAME+5,DISPLAY+6,GETCFG+4			   RS.Execute                      CHKNAME+5,DISPLAY+6,GETCFG+4
   RS.Next                         CHKNAME+7,DISPLAY+8,GETCFG+6			   RS.Next                         CHKNAME+7,DISPLAY+8,GETCFG+6

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$CACH2008   CHKNAME+1,DISPLAY+1,SHOW+1					   $$CACH2008   CHKNAME+1,DISPLAY+1,SHOW+1
   $$GETCFG     SHOW+3								   $$GETCFG     SHOW+3
   $$GETSTR     SHOW+6,SHOW+7,SHOW+8,SHOW+9,SHOW+10,SHOW+11,SHOW+12,SHOW+15   |	   $$GETSTR     SHOW+6,SHOW+7,SHOW+8,SHOW+9,SHOW+10,SHOW+11,SHOW+12,SHOW+15,S
                SHOW+17,SHOW+18						      <
   CHKNAMEQ     CHKNAME+5							   CHKNAMEQ     CHKNAME+5
   DISPLAYQ     DISPLAY+6							   DISPLAYQ     DISPLAY+6
   GETCFGQ      GETCFG+4							   GETCFGQ      GETCFG+4
   SHOWQ        SHOW+4								   SHOWQ        SHOW+4

External References								External References
										
									      >	*****   INDEX OF XOBWSSL   *****                                             
									      >
									      >	External References
   $$VERSION^%ZOSV     CACH2008+2						   $$VERSION^%ZOSV     CACH2008+2
   EN^DDIOL            DISPLAY+4,DISPLAY+9,DISPLAYQ+1				   EN^DDIOL            DISPLAY+4,DISPLAY+9,DISPLAYQ+1

*****   END   *****								*****   END   *****
									      |	
										XOBWU   2993     printed  Apr 10, 2018@18:46:17                              
XOBWU   2993     printed  Mar 13, 2018@10:55:07                        Page 1 <

XOBWU     ;ALB/MJK - HWSC :: Web Server Manager ; 09/13/10 4:00pm		XOBWU     ;ALB/MJK - HWSC :: Web Server Manager ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EN        ; -- main entry point for XOBW WEB SERVER				EN        ; -- main entry point for XOBW WEB SERVER
 +1        NEW VALMBCK								 +1        NEW VALMBCK
 +2        KILL ^TMP("XOB WEBSERVERS",$JOB)					 +2        KILL ^TMP("XOB WEBSERVERS",$JOB)
 +3        SET VALMBCK=""							 +3        SET VALMBCK=""
 +4        DO EN^VALM("XOBW WEB SERVER")					 +4        DO EN^VALM("XOBW WEB SERVER")
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
HDR       ; -- header code							HDR       ; -- header code
 +1        NEW Y								 +1        NEW Y
 +2        SET X="                       HWSC Web Server Manager"		 +2        SET X="                       HWSC Web Server Manager"
 +3        SET VALMHDR(1)=X							 +3        SET VALMHDR(1)=X
 +4        SET X="                      Version: "_$PIECE($TEXT(XOBWU+1),";",	 +4        SET X="                      Version: "_$PIECE($TEXT(XOBWU+1),";",
 +5        SET VALMHDR(2)=X							 +5        SET VALMHDR(2)=X
 +6        QUIT 								 +6        QUIT 
 +7       ;									 +7       ;
INIT      ; -- init variables and list array					INIT      ; -- init variables and list array
 +1        DO CLEAR								 +1        DO CLEAR
 +2        DO MSG								 +2        DO MSG
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
MSG       ; -- set default message						MSG       ; -- set default message
 +1        SET VALMSG="Legend:  *Enabled"					 +1        SET VALMSG="Legend:  *Enabled"
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
BUILD     ; -- build list							BUILD     ; -- build list
 +1        NEW I,XOBI,XOB0,X,XOBDATA,XOBROOT,XOBSITEI,Y				 +1        NEW I,XOBI,XOB0,X,XOBDATA,XOBROOT,XOBSITEI,Y
 +2        DO KILL								 +2        DO KILL
 +3       ;									 +3       ;
 +4        SET VALMCNT=0							 +4        SET VALMCNT=0
 +5        SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))				 +5        SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))
 +6        DO LIST^DIC(18.12,"",".01;.03;.04;.06;3.01;3.03","I","","","","","	 +6        DO LIST^DIC(18.12,"",".01;.03;.04;.06;3.01;3.03","I","","","","","
 +7        SET XOBI=0								 +7        SET XOBI=0
 +8        FOR 									 +8        FOR 
               SET XOBI=$ORDER(@XOBROOT@(XOBI))					               SET XOBI=$ORDER(@XOBROOT@(XOBI))
               if 'XOBI							      |	               IF 'XOBI
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +9                SET VALMCNT=VALMCNT+1					 +9                SET VALMCNT=VALMCNT+1
 +10               SET X=""							 +10               SET X=""
 +11               SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")				 +11               SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")
 +12               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.01)),X,"NAME")	 +12               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.01)),X,"NAME")
 +13               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.04))_":"_$$GETPO	 +13               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.04))_":"_$$GETPO
 +14               SET X=$$SETFLD^VALM1($SELECT(+$GET(@XOBROOT@(XOBI,.06)):"*	 +14               SET X=$$SETFLD^VALM1($SELECT(+$GET(@XOBROOT@(XOBI,.06)):"*
 +15               DO SET^VALM10(VALMCNT,X,VALMCNT)				 +15               DO SET^VALM10(VALMCNT,X,VALMCNT)
 +16               SET ^TMP("XOB WEBSERVERS","IDX",$JOB,VALMCNT,VALMCNT)=+$GE	 +16               SET ^TMP("XOB WEBSERVERS","IDX",$JOB,VALMCNT,VALMCNT)=+$GE
               End DoDot:1							               End DoDot:1
 +17      ;									 +17      ;
 +18       QUIT 								 +18       QUIT 
 +19      ;									 +19      ;
GETPORT(XOBROOT,XOBI) ; -- return reg or SSL port				GETPORT(XOBROOT,XOBI) ; -- return reg or SSL port
 +1        IF +$GET(@XOBROOT@(XOBI,3.01))					 +1        IF +$GET(@XOBROOT@(XOBI,3.01))
               QUIT $GET(@XOBROOT@(XOBI,3.03))_" (SSL)"				               QUIT $GET(@XOBROOT@(XOBI,3.03))_" (SSL)"
 +2        QUIT $GET(@XOBROOT@(XOBI,.03))					 +2        QUIT $GET(@XOBROOT@(XOBI,.03))
 +3       ;									 +3       ;
CLEAR     ; -- clean up entries							CLEAR     ; -- clean up entries
 +1        DO REFRESH								 +1        DO REFRESH
 +2        QUIT 							      |	 +2 
										XOBWU   2993     printed  Apr 10, 2018@18:46:17                              
									      >
									      >	           QUIT 
 +3       ;									 +3       ;
REFRESH   ; -- refresh display							REFRESH   ; -- refresh display
 +1        DO BUILD								 +1        DO BUILD
 +2        SET VALMBCK="R"							 +2        SET VALMBCK="R"
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
KILL      ; -- kill off list location						KILL      ; -- kill off list location
 +1        KILL ^TMP("XOB WEBSERVERS",$JOB)					 +1        KILL ^TMP("XOB WEBSERVERS",$JOB)
 +2        KILL ^TMP("XOB WEBSERVERS","IDX",$JOB)				 +2        KILL ^TMP("XOB WEBSERVERS","IDX",$JOB)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
HELP      ; -- help code							HELP      ; -- help code
 +1        SET X="?"								 +1        SET X="?"
           DO DISP^XQORM1							           DO DISP^XQORM1
           WRITE !!								           WRITE !!
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
EXIT      ; -- exit code							EXIT      ; -- exit code
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
ADD       ; -- add an web server entry						ADD       ; -- add an web server entry
 +1       ; -- Protocol: XOBW WEB SERVER ADD					 +1       ; -- Protocol: XOBW WEB SERVER ADD
 +2        DO ACTION("ADD",0)							 +2        DO ACTION("ADD",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EDIT      ; -- edit web server entry						EDIT      ; -- edit web server entry
 +1       ; -- Protocol: XOBW WEB SERVER EDIT					 +1       ; -- Protocol: XOBW WEB SERVER EDIT
 +2        DO ACTION("EDIT",0)							 +2        DO ACTION("EDIT",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
DEL       ; -- delete web server entry						DEL       ; -- delete web server entry
 +1       ; -- Protocol: XOBW WEB SERVER DELETE					 +1       ; -- Protocol: XOBW WEB SERVER DELETE
 +2        DO ACTION("DEL",0)							 +2        DO ACTION("DEL",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EXPAND    ; -- expand web server entry						EXPAND    ; -- expand web server entry
 +1        DO ACTION("EXPAND",1)						 +1        DO ACTION("EXPAND",1)
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
AVAIL     ; -- test web services availability					AVAIL     ; -- test web services availability
 +1       ; -- Protocol: XOBW WEB SERVER TEST WS AVAILABILITY			 +1       ; -- Protocol: XOBW WEB SERVER TEST WS AVAILABILITY
 +2        DO ACTION("AVAIL",0)							 +2        DO ACTION("AVAIL",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
WST       ; -- web server tester						WST       ; -- web server tester
 +1       ; -- Protocol: XOBW WEB SERVER TESTER					 +1       ; -- Protocol: XOBW WEB SERVER TESTER
 +2        DO EN1^XOBTWU							 +2        DO EN1^XOBTWU
 +3        DO REFRESH								 +3        DO REFRESH
 +4        DO MSG								 +4        DO MSG
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
WSM       ; -- web service manager						WSM       ; -- web service manager
 +1       ; -- Protocol: XOBW WEB SERVICE MANAGER				 +1       ; -- Protocol: XOBW WEB SERVICE MANAGER
 +2        DO EN^XOBWUS								 +2        DO EN^XOBWUS
 +3        DO REFRESH								 +3        DO REFRESH
 +4        DO MSG								 +4        DO MSG
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
LKM       ; -- lookup key manager						LKM       ; -- lookup key manager
 +1       ; -- Protocol: XOBW WEB SERVER LOOKUP KEY MANAGER			 +1       ; -- Protocol: XOBW WEB SERVER LOOKUP KEY MANAGER
 +2        DO EN^XOBWUA							      |	 +2 
										XOBWU   2993     printed  Apr 10, 2018@18:46:17                              
									      >
									      >	           DO EN^XOBWUA
 +3        DO REFRESH								 +3        DO REFRESH
 +4        DO MSG								 +4        DO MSG
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
ACTION(TYPE,XOBPAUSE) ; -- execute action					ACTION(TYPE,XOBPAUSE) ; -- execute action
 +1        DO FULL^VALM1							 +1        DO FULL^VALM1
 +2        NEW X,Y								 +2        NEW X,Y
 +3        SET X="DO "_TYPE_"^XOBWU1"						 +3        SET X="DO "_TYPE_"^XOBWU1"
 +4        XECUTE X								 +4        XECUTE X
 +5        IF XOBPAUSE								 +5        IF XOBPAUSE
               DO PAUSE^VALM1							               DO PAUSE^VALM1
 +6        DO REFRESH								 +6        DO REFRESH
 +7        DO MSG								 +7        DO MSG
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;

*****   ERRORS & WARNINGS IN XOBWU   *****					*****   ERRORS & WARNINGS IN XOBWU   *****
   WST+2        F - Reference to routine '^XOBTWU'. That isn't in this UCI.	   WST+2        F - Reference to routine '^XOBTWU'. That isn't in this UCI.

*****   INDEX OF XOBWU   *****							*****   INDEX OF XOBWU   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   I            BUILD+1~							   I            BUILD+1~
   TYPE         ACTION~,ACTION+3						   TYPE         ACTION~,ACTION+3
   VALMBCK      EN+1~,EN+3*,REFRESH+2*						   VALMBCK      EN+1~,EN+3*,REFRESH+2*
>> VALMCNT      BUILD+4*,BUILD+9*,BUILD+11,BUILD+15,BUILD+16			>> VALMCNT      BUILD+4*,BUILD+9*,BUILD+11,BUILD+15,BUILD+16
>> VALMHDR(1    HDR+3*								>> VALMHDR(1    HDR+3*
>> VALMHDR(2    HDR+5*								>> VALMHDR(2    HDR+5*
>> VALMSG       MSG+1*								>> VALMSG       MSG+1*
   X            HDR+2*,HDR+3,HDR+4*,HDR+5,BUILD+1~,BUILD+10*,BUILD+11*	      |	   X            HDR+2*,HDR+3,HDR+4*,HDR+5,BUILD+1~,BUILD+10*,BUILD+11*,BUILD+
                BUILD+12*,BUILD+13*,BUILD+14*,BUILD+15,HELP+1*,ACTION+2~      <
                ACTION+3*,ACTION+4						                ACTION+3*,ACTION+4
   XOB0         BUILD+1~							   XOB0         BUILD+1~
   XOBDATA      BUILD+1~,BUILD+6						   XOBDATA      BUILD+1~,BUILD+6
   XOBDATA("DILIST" 								   XOBDATA("DILIST" 
                BUILD+5,BUILD+16						                BUILD+5,BUILD+16
   XOBI         BUILD+1~,BUILD+7*,BUILD+8*,BUILD+12,BUILD+13,BUILD+14,BUILD+1 |	   XOBI         BUILD+1~,BUILD+7*,BUILD+8*,BUILD+12,BUILD+13,BUILD+14,BUILD+1
                GETPORT~,GETPORT+1,GETPORT+2				      <
   XOBPAUSE     ACTION~,ACTION+5						   XOBPAUSE     ACTION~,ACTION+5
   XOBROOT      BUILD+1~,BUILD+5*,BUILD+8,BUILD+12,BUILD+13,BUILD+14,GETPORT~ |	   XOBROOT      BUILD+1~,BUILD+5*,BUILD+8,BUILD+12,BUILD+13,BUILD+14,GETPORT~
                GETPORT+1,GETPORT+2					      <
   XOBSITEI     BUILD+1~							   XOBSITEI     BUILD+1~
   Y            HDR+1~,BUILD+1~,ACTION+2~					   Y            HDR+1~,BUILD+1~,ACTION+2~

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP("XOB WEBSERVERS"							   ^TMP("XOB WEBSERVERS"
                       EN+2!,BUILD+16*,KILL+1!,KILL+2!				                       EN+2!,BUILD+16*,KILL+1!,KILL+2!

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   $T(XOBWU+1   HDR+4								   $T(XOBWU+1   HDR+4

Label References								Label References
   $$GETPORT    BUILD+13							   $$GETPORT    BUILD+13
										
									      >	*****   INDEX OF XOBWU   *****                                               
									      >
									      >	Label References
   ACTION       ADD+2,EDIT+2,DEL+2,EXPAND+1,AVAIL+2				   ACTION       ADD+2,EDIT+2,DEL+2,EXPAND+1,AVAIL+2
   BUILD        REFRESH+1							   BUILD        REFRESH+1
   CLEAR        INIT+1								   CLEAR        INIT+1
   KILL         BUILD+2								   KILL         BUILD+2
   MSG          INIT+2,WST+4,WSM+4,LKM+4,ACTION+7				   MSG          INIT+2,WST+4,WSM+4,LKM+4,ACTION+7
   REFRESH      CLEAR+1,WST+3,WSM+3,LKM+3,ACTION+6				   REFRESH      CLEAR+1,WST+3,WSM+3,LKM+3,ACTION+6

External References								External References
   LIST^DIC            BUILD+6							   LIST^DIC            BUILD+6
   EN^VALM             EN+4							   EN^VALM             EN+4
   $$SETFLD^VALM1      BUILD+11,BUILD+12,BUILD+13,BUILD+14			   $$SETFLD^VALM1      BUILD+11,BUILD+12,BUILD+13,BUILD+14
   FULL^VALM1          ACTION+1							   FULL^VALM1          ACTION+1
   PAUSE^VALM1         ACTION+5							   PAUSE^VALM1         ACTION+5
   SET^VALM10          BUILD+15							   SET^VALM10          BUILD+15
   EN1^XOBTWU          WST+2							   EN1^XOBTWU          WST+2
   $$VERSION^XOBWENV   HDR+4							   $$VERSION^XOBWENV   HDR+4
   EN^XOBWUA           LKM+2							   EN^XOBWUA           LKM+2
   EN^XOBWUS           WSM+2							   EN^XOBWUS           WSM+2
   DISP^XQORM1         HELP+1							   DISP^XQORM1         HELP+1

*****   END   *****								*****   END   *****
									      |	
										XOBWU1   4119     printed  Apr 10, 2018@18:46:17                             
XOBWU1   4119     printed  Mar 13, 2018@10:55:07                       Page 1 <

XOBWU1    ;ALB/MJK - HWSC :: Web Server Manager ; 09/13/10 4:00pm		XOBWU1    ;ALB/MJK - HWSC :: Web Server Manager ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
ADD       ; -- add web server entry						ADD       ; -- add web server entry
 +1        NEW DIC,Y,XOBY,D							 +1        NEW DIC,Y,XOBY,D
 +2        WRITE !								 +2        WRITE !
 +3        SET DIC="^XOB(18.12,"						 +3        SET DIC="^XOB(18.12,"
           SET DIC(0)="AELQ"							           SET DIC(0)="AELQ"
           SET D="B"								           SET D="B"
           DO IX^DIC								           DO IX^DIC
           KILL DIC								           KILL DIC
 +4        SET XOBY=Y								 +4        SET XOBY=Y
 +5        IF +XOBY>0								 +5        IF +XOBY>0
               IF '$PIECE(XOBY,U,3)						               IF '$PIECE(XOBY,U,3)
                   Begin DoDot:1						                   Begin DoDot:1
 +6                    DO DISPLAY("",+XOBY)					 +6                    DO DISPLAY("",+XOBY)
 +7                    WRITE !!,"This is not a new entry! Please use 'Edit Se	 +7                    WRITE !!,"This is not a new entry! Please use 'Edit Se
 +8                    DO PAUSE^VALM1						 +8                    DO PAUSE^VALM1
                   End DoDot:1							                   End DoDot:1
                   GOTO ADDQ							                   GOTO ADDQ
 +9        IF +XOBY>0								 +9        IF +XOBY>0
               IF $PIECE(XOBY,U,3)						               IF $PIECE(XOBY,U,3)
                   DO DOEDIT(+XOBY)						                   DO DOEDIT(+XOBY)
ADDQ      ;									ADDQ      ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
EDIT      ; -- edit web server entry						EDIT      ; -- edit web server entry
 +1        NEW DA,DR,DIE,XOBI,VALMY						 +1        NEW DA,DR,DIE,XOBI,VALMY
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4        IF XOBI>0								 +4        IF XOBI>0
               DO DOEDIT(+$GET(^TMP("XOB WEBSERVERS","IDX",$JOB,XOBI,XOBI)))	               DO DOEDIT(+$GET(^TMP("XOB WEBSERVERS","IDX",$JOB,XOBI,XOBI)))
EDITQ     ;									EDITQ     ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
DOEDIT(DA) ; -- do actual web server edit					DOEDIT(DA) ; -- do actual web server edit
 +1        NEW DR,DIE								 +1        NEW DR,DIE
 +2        SET DR="[XOBW WEB SERVER SETUP]"					 +2        SET DR="[XOBW WEB SERVER SETUP]"
           SET DIE="^XOB(18.12,"						           SET DIE="^XOB(18.12,"
           DO ^DIE								           DO ^DIE
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
DEL       ; -- delete web server entry						DEL       ; -- delete web server entry
 +1        NEW XOBI,VALMY,Y,XOBDA						 +1        NEW XOBI,VALMY,Y,XOBDA
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4       ; -- quit if nothing selected						 +4       ; -- quit if nothing selected
 +5        IF XOBI'>0								 +5        IF XOBI'>0
               GOTO DELQ							               GOTO DELQ
 +6       ; -- display entry, ask if 'ok' and delete				 +6       ; -- display entry, ask if 'ok' and delete
 +7        SET XOBDA=+$GET(^TMP("XOB WEBSERVERS","IDX",$JOB,XOBI,XOBI))		 +7        SET XOBDA=+$GET(^TMP("XOB WEBSERVERS","IDX",$JOB,XOBI,XOBI))
 +8        DO DISPLAY(XOBI,XOBDA)						 +8        DO DISPLAY(XOBI,XOBDA)
 +9        IF $ORDER(^XOB(18.13,"WS",XOBDA,""))]""				 +9        IF $ORDER(^XOB(18.13,"WS",XOBDA,""))]""
               Begin DoDot:1							               Begin DoDot:1
 +10               WRITE !,*7							 +10               WRITE !,*7
 +11               WRITE !,"*************************************************	 +11               WRITE !,"*************************************************
 +12               WRITE !,"* Lookup keys are still associated with this web 	 +12               WRITE !,"* Lookup keys are still associated with this web 
 +13               WRITE !,"*                  Deletion prohibited!          	 +13               WRITE !,"*                  Deletion prohibited!          
 +14               WRITE !,"* Use the 'Lookup Key Manager' to change key asso	 +14               WRITE !,"* Use the 'Lookup Key Manager' to change key asso
 +15               WRITE !,"************************************************* |	 +15 
										XOBWU1   4119     printed  Apr 10, 2018@18:46:17                             
									      >
									      >	                   WRITE !,"*************************************************
 +16               DO PAUSE^VALM1						 +16               DO PAUSE^VALM1
               End DoDot:1							               End DoDot:1
               GOTO DELQ							               GOTO DELQ
 +17       Begin DoDot:1							 +17       Begin DoDot:1
 +18           NEW DIR								 +18           NEW DIR
 +19           SET DIR("A")="Are you sure you want to delete entry"		 +19           SET DIR("A")="Are you sure you want to delete entry"
 +20           SET DIR("B")="NO"						 +20           SET DIR("B")="NO"
               SET DIR(0)="Y"							               SET DIR(0)="Y"
 +21           WRITE !								 +21           WRITE !
 +22           DO ^DIR								 +22           DO ^DIR
           End DoDot:1								           End DoDot:1
 +23       IF '$GET(Y)								 +23       IF '$GET(Y)
               Begin DoDot:1							               Begin DoDot:1
 +24               WRITE !!,"Deletion aborted."					 +24               WRITE !!,"Deletion aborted."
 +25               DO PAUSE^VALM1						 +25               DO PAUSE^VALM1
               End DoDot:1							               End DoDot:1
               GOTO DELQ							               GOTO DELQ
 +26      ; -- execute deletion							 +26      ; -- execute deletion
 +27       DO DODEL(XOBDA)							 +27       DO DODEL(XOBDA)
 +28       WRITE !!,"Entry has been deleted."					 +28       WRITE !!,"Entry has been deleted."
 +29       DO PAUSE^VALM1							 +29       DO PAUSE^VALM1
DELQ      ;									DELQ      ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
DODEL(DA) ; -- do actual web server delete					DODEL(DA) ; -- do actual web server delete
 +1        NEW DIK								 +1        NEW DIK
 +2        SET DIK="^XOB(18.12,"						 +2        SET DIK="^XOB(18.12,"
           DO ^DIK								           DO ^DIK
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EXPAND    ; -- expand Protocol							EXPAND    ; -- expand Protocol
 +1        NEW DA,DIC,XOBI,VALMY						 +1        NEW DA,DIC,XOBI,VALMY
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4        IF XOBI>0								 +4        IF XOBI>0
               DO DISPLAY(XOBI,+$GET(^TMP("XOB WEBSERVERS","IDX",$JOB,XOBI,XO	               DO DISPLAY(XOBI,+$GET(^TMP("XOB WEBSERVERS","IDX",$JOB,XOBI,XO
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
DISPLAY(XOBI,DA) ; display web server informaton				DISPLAY(XOBI,DA) ; display web server informaton
 +1       ; input: XOBI == list entry number					 +1       ; input: XOBI == list entry number
 +2       ;        DA   == internal entry number in file 18.12			 +2       ;        DA   == internal entry number in file 18.12
 +3        NEW DIC,XOBLINE,XOBDASH,IEN,IEN0,KEY,XOBY				 +3        NEW DIC,XOBLINE,XOBDASH,IEN,IEN0,KEY,XOBY
 +4        SET $PIECE(XOBLINE,"=",$GET(IOM,80))=""				 +4        SET $PIECE(XOBLINE,"=",$GET(IOM,80))=""
 +5        SET $PIECE(XOBDASH,"-",$GET(IOM,80))=""				 +5        SET $PIECE(XOBDASH,"-",$GET(IOM,80))=""
 +6        DO CLEAR^VALM1							 +6        DO CLEAR^VALM1
 +7        WRITE !,XOBLINE							 +7        WRITE !,XOBLINE
 +8        IF $GET(XOBI)							 +8        IF $GET(XOBI)
               Begin DoDot:1							               Begin DoDot:1
 +9                WRITE !,@VALMAR@(XOBI,0)					 +9                WRITE !,@VALMAR@(XOBI,0)
 +10               WRITE !,XOBDASH						 +10               WRITE !,XOBDASH
               End DoDot:1							               End DoDot:1
 +11       SET DIC="^XOB(18.12,"						 +11       SET DIC="^XOB(18.12,"
 +12       DO EN^DIQ								 +12       DO EN^DIQ
 +13       WRITE XOBDASH							 +13       WRITE XOBDASH
 +14      ; -- display lookup keys associated with web server			 +14      ; -- display lookup keys associated with web server
 +15       WRITE !,"Lookup keys associated with server:"			 +15       WRITE !,"Lookup keys associated with server:"
 +16       SET IEN=""								 +16       SET IEN=""
 +17       FOR 									 +17       FOR 
               SET IEN=$ORDER(^XOB(18.13,"WS",DA,IEN))				               SET IEN=$ORDER(^XOB(18.13,"WS",DA,IEN))
               if 'IEN							      |	               IF 'IEN
									      >	
										XOBWU1   4119     printed  Apr 10, 2018@18:46:17                             
									      >
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +18               SET IEN0=$GET(^XOB(18.13,IEN,0))				 +18               SET IEN0=$GET(^XOB(18.13,IEN,0))
 +19               SET KEY=$PIECE(IEN0,"^")					 +19               SET KEY=$PIECE(IEN0,"^")
 +20               IF KEY]""							 +20               IF KEY]""
                       SET XOBY(KEY)=$PIECE(IEN0,"^",2)				                       SET XOBY(KEY)=$PIECE(IEN0,"^",2)
               End DoDot:1							               End DoDot:1
 +21       IF $ORDER(XOBY(""))]""						 +21       IF $ORDER(XOBY(""))]""
               Begin DoDot:1							               Begin DoDot:1
 +22               SET KEY=""							 +22               SET KEY=""
                   FOR 								                   FOR 
                       SET KEY=$ORDER(XOBY(KEY))				                       SET KEY=$ORDER(XOBY(KEY))
                       if KEY=""					      |	                       IF KEY=""
                           QUIT 						                           QUIT 
                       Begin DoDot:2						                       Begin DoDot:2
 +23                       WRITE !?2,"o ",KEY," - ",XOBY(KEY)			 +23                       WRITE !?2,"o ",KEY," - ",XOBY(KEY)
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +24      IF '$TEST								 +24      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +25               WRITE !?3,"<No lookup keys associations>"			 +25               WRITE !?3,"<No lookup keys associations>"
               End DoDot:1							               End DoDot:1
 +26       WRITE !,XOBLINE							 +26       WRITE !,XOBLINE
 +27       QUIT 								 +27       QUIT 
 +28      ;									 +28      ;
AVAIL     ; -- check web service availabilities					AVAIL     ; -- check web service availabilities
 +1        NEW XOBI,XOBY,VALMY							 +1        NEW XOBI,XOBY,VALMY
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4        IF $GET(XOBI)							 +4        IF $GET(XOBI)
               Begin DoDot:1							               Begin DoDot:1
 +5                SET XOBY("HEADER",1)="Web Server: "				 +5                SET XOBY("HEADER",1)="Web Server: "
 +6                SET XOBY("HEADER",2)=@VALMAR@(XOBI,0)			 +6                SET XOBY("HEADER",2)=@VALMAR@(XOBI,0)
 +7                SET XOBY("TITLE")="Web Service Availability"			 +7                SET XOBY("TITLE")="Web Service Availability"
 +8                SET XOBY("BUILD CALLBACK")="DO BUILD^XOBWU1("_+$GET(^TMP("	 +8                SET XOBY("BUILD CALLBACK")="DO BUILD^XOBWU1("_+$GET(^TMP("
 +9                DO EN^XOBWUS2(.XOBY)						 +9                DO EN^XOBWUS2(.XOBY)
               End DoDot:1							               End DoDot:1
 +10       QUIT 								 +10       QUIT 
 +11      ;									 +11      ;
BUILD(XOBDA) ; -- test web services availability				BUILD(XOBDA) ; -- test web services availability
 +1        NEW XOBSRVR,XOBY,XOBDOTS,XOBI,XOBX					 +1        NEW XOBSRVR,XOBY,XOBDOTS,XOBI,XOBX
 +2        DO CLEAN^VALM10							 +2        DO CLEAN^VALM10
 +3        SET XOBSRVR=##class(xobw.WebServer).%OpenId(XOBDA)			 +3        SET XOBSRVR=##class(xobw.WebServer).%OpenId(XOBDA)
 +4        SET VALMCNT=0							 +4        SET VALMCNT=0
 +5       ; -- write dots during check processing				 +5       ; -- write dots during check processing
           SET XOBDOTS=1							           SET XOBDOTS=1
 +6        SET XOBY=XOBSRVR.checkWebServicesAvailability(XOBDOTS)		 +6        SET XOBY=XOBSRVR.checkWebServicesAvailability(XOBDOTS)
 +7        IF XOBY]""								 +7        IF XOBY]""
               IF XOBY.Count()>0						               IF XOBY.Count()>0
                   Begin DoDot:1						                   Begin DoDot:1
 +8                    FOR XOBI=1:1:XOBY.Count()				 +8                    FOR XOBI=1:1:XOBY.Count()
                           SET XOBX=XOBY.GetAt(XOBI)				                           SET XOBX=XOBY.GetAt(XOBI)
                           if XOBI=""					      |	                           IF XOBI=""
                               QUIT 						                               QUIT 
                           DO ADDLN("  "_XOBX)					                           DO ADDLN("  "_XOBX)
                   End DoDot:1							                   End DoDot:1
 +9        QUIT 								 +9        QUIT 
 +10      ;									 +10      ;
ADDLN(XOBTEXT) ; -- add line utility						ADDLN(XOBTEXT) ; -- add line utility
 +1        SET VALMCNT=VALMCNT+1						 +1        SET VALMCNT=VALMCNT+1
 +2        DO SET^VALM10(VALMCNT,XOBTEXT)					 +2        DO SET^VALM10(VALMCNT,XOBTEXT)
 +3        QUIT 							      |	 +3 
										XOBWU1   4119     printed  Apr 10, 2018@18:46:17                             
									      >
									      >	           QUIT 
 +4       ;									 +4       ;


*****   INDEX OF XOBWU1   *****							*****   INDEX OF XOBWU1   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   D            ADD+1~,ADD+3*							   D            ADD+1~,ADD+3*
   DA           EDIT+1~,DOEDIT~,DODEL~,EXPAND+1~,DISPLAY~,DISPLAY+17		   DA           EDIT+1~,DOEDIT~,DODEL~,EXPAND+1~,DISPLAY~,DISPLAY+17
   DIC          ADD+1~,ADD+3*!,EXPAND+1~,DISPLAY+3~,DISPLAY+11*			   DIC          ADD+1~,ADD+3*!,EXPAND+1~,DISPLAY+3~,DISPLAY+11*
   DIC(0        ADD+3*								   DIC(0        ADD+3*
   DIE          EDIT+1~,DOEDIT+1~,DOEDIT+2*					   DIE          EDIT+1~,DOEDIT+1~,DOEDIT+2*
   DIK          DODEL+1~,DODEL+2*						   DIK          DODEL+1~,DODEL+2*
   DIR          DEL+18~								   DIR          DEL+18~
   DIR("A"      DEL+19*								   DIR("A"      DEL+19*
   DIR("B"      DEL+20*								   DIR("B"      DEL+20*
   DIR(0        DEL+20*								   DIR(0        DEL+20*
   DR           EDIT+1~,DOEDIT+1~,DOEDIT+2*					   DR           EDIT+1~,DOEDIT+1~,DOEDIT+2*
   IEN          DISPLAY+3~,DISPLAY+16*,DISPLAY+17*,DISPLAY+18			   IEN          DISPLAY+3~,DISPLAY+16*,DISPLAY+17*,DISPLAY+18
   IEN0         DISPLAY+3~,DISPLAY+18*,DISPLAY+19,DISPLAY+20			   IEN0         DISPLAY+3~,DISPLAY+18*,DISPLAY+19,DISPLAY+20
   IOM          DISPLAY+4,DISPLAY+5						   IOM          DISPLAY+4,DISPLAY+5
   KEY          DISPLAY+3~,DISPLAY+19*,DISPLAY+20,DISPLAY+22*,DISPLAY+23	   KEY          DISPLAY+3~,DISPLAY+19*,DISPLAY+20,DISPLAY+22*,DISPLAY+23
   U            ADD+5,ADD+9							   U            ADD+5,ADD+9
>> VALMAR       DISPLAY+9,AVAIL+6						>> VALMAR       DISPLAY+9,AVAIL+6
>> VALMCNT      BUILD+4*,ADDLN+1*,ADDLN+2					>> VALMCNT      BUILD+4*,ADDLN+1*,ADDLN+2
   VALMY        EDIT+1~,DEL+1~,EXPAND+1~,AVAIL+1~				   VALMY        EDIT+1~,DEL+1~,EXPAND+1~,AVAIL+1~
   VALMY(""     EDIT+3,DEL+3,EXPAND+3,AVAIL+3					   VALMY(""     EDIT+3,DEL+3,EXPAND+3,AVAIL+3
   XOBDA        DEL+1~,DEL+7*,DEL+8,DEL+9,DEL+27,BUILD~,BUILD+3			   XOBDA        DEL+1~,DEL+7*,DEL+8,DEL+9,DEL+27,BUILD~,BUILD+3
   XOBDASH      DISPLAY+3~,DISPLAY+5*,DISPLAY+10,DISPLAY+13			   XOBDASH      DISPLAY+3~,DISPLAY+5*,DISPLAY+10,DISPLAY+13
   XOBDOTS      BUILD+1~,BUILD+5*,BUILD+6					   XOBDOTS      BUILD+1~,BUILD+5*,BUILD+6
   XOBI         EDIT+1~,EDIT+3*,EDIT+4,DEL+1~,DEL+3*,DEL+5,DEL+7,DEL+8	      |	   XOBI         EDIT+1~,EDIT+3*,EDIT+4,DEL+1~,DEL+3*,DEL+5,DEL+7,DEL+8,EXPAND
                EXPAND+1~,EXPAND+3*,EXPAND+4,DISPLAY~,DISPLAY+8,DISPLAY+9     <
                AVAIL+1~,AVAIL+3*,AVAIL+4,AVAIL+6,AVAIL+8,BUILD+1~,BUILD+8*	                AVAIL+1~,AVAIL+3*,AVAIL+4,AVAIL+6,AVAIL+8,BUILD+1~,BUILD+8*
   XOBLINE      DISPLAY+3~,DISPLAY+4*,DISPLAY+7,DISPLAY+26			   XOBLINE      DISPLAY+3~,DISPLAY+4*,DISPLAY+7,DISPLAY+26
   XOBSRVR      BUILD+1~,BUILD+3*						   XOBSRVR      BUILD+1~,BUILD+3*
   XOBTEXT      ADDLN~,ADDLN+2							   XOBTEXT      ADDLN~,ADDLN+2
   XOBX         BUILD+1~,BUILD+8*						   XOBX         BUILD+1~,BUILD+8*
   XOBY         ADD+1~,ADD+4*,ADD+5,ADD+6,ADD+9,DISPLAY+3~,AVAIL+1~,AVAIL+9   |	   XOBY         ADD+1~,ADD+4*,ADD+5,ADD+6,ADD+9,DISPLAY+3~,AVAIL+1~,AVAIL+9,B
                BUILD+1~,BUILD+6*,BUILD+7				      <
   XOBY(        DISPLAY+20*,DISPLAY+22,DISPLAY+23				   XOBY(        DISPLAY+20*,DISPLAY+22,DISPLAY+23
   XOBY(""      DISPLAY+21							   XOBY(""      DISPLAY+21
   XOBY("BUILD CALLBACK" 							   XOBY("BUILD CALLBACK" 
                AVAIL+8*							                AVAIL+8*
   XOBY("HEADER" 								   XOBY("HEADER" 
                AVAIL+5*,AVAIL+6*						                AVAIL+5*,AVAIL+6*
   XOBY("TITLE" AVAIL+7*							   XOBY("TITLE" AVAIL+7*
>> XQORNOD(0    EDIT+2,DEL+2,EXPAND+2,AVAIL+2					>> XQORNOD(0    EDIT+2,DEL+2,EXPAND+2,AVAIL+2
   Y            ADD+1~,ADD+4,DEL+1~,DEL+23					   Y            ADD+1~,ADD+4,DEL+1~,DEL+23

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP("XOB WEBSERVERS"							   ^TMP("XOB WEBSERVERS"
                       EDIT+4,DEL+7,EXPAND+4,AVAIL+8				                       EDIT+4,DEL+7,EXPAND+4,AVAIL+8
   ^XOB(18.13          DEL+9,DISPLAY+17,DISPLAY+18				   ^XOB(18.13          DEL+9,DISPLAY+17,DISPLAY+18

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   XOBSRVR.checkWebServicesAvailability						   XOBSRVR.checkWebServicesAvailability
                                   BUILD+6					                                   BUILD+6
										
									      >	*****   INDEX OF XOBWU1   *****                                              
									      >
									      >	Cache Objects
   XOBY.Count                      BUILD+7,BUILD+8				   XOBY.Count                      BUILD+7,BUILD+8
   XOBY.GetAt                      BUILD+8					   XOBY.GetAt                      BUILD+8
   xobw.WebServer                  BUILD+3					   xobw.WebServer                  BUILD+3

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   ADDLN        BUILD+8								   ADDLN        BUILD+8
   ADDQ         ADD+5								   ADDQ         ADD+5
   DELQ         DEL+5,DEL+9,DEL+23						   DELQ         DEL+5,DEL+9,DEL+23
   DISPLAY      ADD+6,DEL+8,EXPAND+4						   DISPLAY      ADD+6,DEL+8,EXPAND+4
   DODEL        DEL+27								   DODEL        DEL+27
   DOEDIT       ADD+9,EDIT+4							   DOEDIT       ADD+9,EDIT+4

External References								External References
   IX^DIC              ADD+3							   IX^DIC              ADD+3
   ^DIE                DOEDIT+2							   ^DIE                DOEDIT+2
   ^DIK                DODEL+2							   ^DIK                DODEL+2
   EN^DIQ              DISPLAY+12						   EN^DIQ              DISPLAY+12
   ^DIR                DEL+22							   ^DIR                DEL+22
   CLEAR^VALM1         DISPLAY+6						   CLEAR^VALM1         DISPLAY+6
   PAUSE^VALM1         ADD+8,DEL+16,DEL+25,DEL+29				   PAUSE^VALM1         ADD+8,DEL+16,DEL+25,DEL+29
   CLEAN^VALM10        BUILD+2							   CLEAN^VALM10        BUILD+2
   SET^VALM10          ADDLN+2							   SET^VALM10          ADDLN+2
   EN^VALM2            EDIT+2,DEL+2,EXPAND+2,AVAIL+2				   EN^VALM2            EDIT+2,DEL+2,EXPAND+2,AVAIL+2
   EN^XOBWUS2          AVAIL+9							   EN^XOBWUS2          AVAIL+9

*****   END   *****								*****   END   *****
									      |	
										XOBWUA   3997     printed  Apr 10, 2018@18:46:17                             
XOBWUA   3997     printed  Mar 13, 2018@10:55:07                       Page 1 <

XOBWUA    ;OAK/KEC - HWSC :: Web Server Lookup Key Manager ; 09/13/10 4:00pm	XOBWUA    ;OAK/KEC - HWSC :: Web Server Lookup Key Manager ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EN        ; -- main entry point for XOBW WEB SERVER LOOKUPKEY			EN        ; -- main entry point for XOBW WEB SERVER LOOKUPKEY
 +1        NEW XOBSORT,XOBKFILT,XOBSFILT,X					 +1        NEW XOBSORT,XOBKFILT,XOBSFILT,X
 +2       ; default sort by KEY							 +2       ; default sort by KEY
           SET XOBSORT="K"							           SET XOBSORT="K"
 +3        SET XOBKFILT=""							 +3        SET XOBKFILT=""
 +4        SET XOBSFILT=""							 +4        SET XOBSFILT=""
 +5        DO KILL								 +5        DO KILL
 +6        SET VALMBCK=""							 +6        SET VALMBCK=""
 +7        DO EN^VALM("XOBW WEB SERVER LOOKUPKEY")				 +7        DO EN^VALM("XOBW WEB SERVER LOOKUPKEY")
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
HDR       ; -- header code							HDR       ; -- header code
 +1        SET X="                  HWSC Web Server Lookup Key Manager"		 +1        SET X="                  HWSC Web Server Lookup Key Manager"
 +2        SET VALMHDR(1)=X							 +2        SET VALMHDR(1)=X
 +3        SET X="                      Version: "_$PIECE($TEXT(XOBWUA+1),";"	 +3        SET X="                      Version: "_$PIECE($TEXT(XOBWUA+1),";"
 +4        SET VALMHDR(2)=X							 +4        SET VALMHDR(2)=X
 +5        SET X=$SELECT(XOBSFILT]"":XOBSFILT,1:"<no filter>")			 +5        SET X=$SELECT(XOBSFILT]"":XOBSFILT,1:"<no filter>")
 +6        SET VALMHDR(3)="Filters:  Key = "_$SELECT(XOBKFILT]"":XOBKFILT,1:"	 +6        SET VALMHDR(3)="Filters:  Key = "_$SELECT(XOBKFILT]"":XOBKFILT,1:"
 +7        QUIT 								 +7        QUIT 
 +8       ;									 +8       ;
CHGCAP    ; -- change captions to indicate sort					CHGCAP    ; -- change captions to indicate sort
 +1        NEW KEYCAP,SRVCAP							 +1        NEW KEYCAP,SRVCAP
 +2        SET KEYCAP="Lookup Key Name"						 +2        SET KEYCAP="Lookup Key Name"
 +3        SET SRVCAP="Web Server Name"						 +3        SET SRVCAP="Web Server Name"
 +4        IF XOBSORT="K"							 +4        IF XOBSORT="K"
               Begin DoDot:1							               Begin DoDot:1
 +5                DO CHGCAP^VALM("KEY",KEYCAP_" [Sorted By]")			 +5                DO CHGCAP^VALM("KEY",KEYCAP_" [Sorted By]")
 +6                DO CHGCAP^VALM("SERVER",SRVCAP)				 +6                DO CHGCAP^VALM("SERVER",SRVCAP)
               End DoDot:1							               End DoDot:1
 +7       IF '$TEST								 +7       IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +8                DO CHGCAP^VALM("SERVER",SRVCAP_" [Sorted By]")		 +8                DO CHGCAP^VALM("SERVER",SRVCAP_" [Sorted By]")
 +9                DO CHGCAP^VALM("KEY",KEYCAP)					 +9                DO CHGCAP^VALM("KEY",KEYCAP)
               End DoDot:1							               End DoDot:1
 +10       QUIT 								 +10       QUIT 
 +11      ;									 +11      ;
INIT      ; -- init variables and list array					INIT      ; -- init variables and list array
 +1        DO CLEAR								 +1        DO CLEAR
 +2        DO MSG								 +2        DO MSG
 +3        DO CHGCAP								 +3        DO CHGCAP
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
MSG       ; -- set default message						MSG       ; -- set default message
 +1        SET VALMSG=""							 +1        SET VALMSG=""
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
BUILD     ; -- build list							BUILD     ; -- build list
 +1        NEW I,XOBI,XOB0,X,XOBDATA,XOBROOT,XOBSITEI,Y,SORT,XOBX,XOBKEY,XOBS	 +1        NEW I,XOBI,XOB0,X,XOBDATA,XOBROOT,XOBSITEI,Y,SORT,XOBX,XOBKEY,XOBS
 +2        DO KILL								 +2        DO KILL
 +3       ;									 +3       ;
 +4        SET VALMCNT=0							 +4        SET VALMCNT=0
 +5        SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))				 +5        SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))
 +6        DO LIST^DIC(18.13,"",".01;.03","","","","","","","",$NAME(XOBDATA)	 +6        DO LIST^DIC(18.13,"",".01;.03","","","","","","","",$NAME(XOBDATA)
 +7       ; -- build sort							 +7       ; -- build sort
 +8        SET XOBI=0								 +8        SET XOBI=0
 +9        FOR 									 +9        FOR 
									      >	
										XOBWUA   3997     printed  Apr 10, 2018@18:46:17                             
									      >
               SET XOBI=$ORDER(@XOBROOT@(XOBI))					               SET XOBI=$ORDER(@XOBROOT@(XOBI))
               if 'XOBI							      |	               IF 'XOBI
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +10               SET XOBX=$SELECT(XOBSORT="S":$GET(@XOBROOT@(XOBI,.03)),1:$	 +10               SET XOBX=$SELECT(XOBSORT="S":$GET(@XOBROOT@(XOBI,.03)),1:$
 +11               SET SORT($SELECT(XOBX="":" ",1:XOBX),XOBI)=""		 +11               SET SORT($SELECT(XOBX="":" ",1:XOBX),XOBI)=""
               End DoDot:1							               End DoDot:1
 +12      ; -- build list off sort and apply filters				 +12      ; -- build list off sort and apply filters
 +13       SET XOBX=""								 +13       SET XOBX=""
 +14       FOR 									 +14       FOR 
               SET XOBX=$ORDER(SORT(XOBX))					               SET XOBX=$ORDER(SORT(XOBX))
               if XOBX=""						      |	               IF XOBX=""
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +15               SET XOBI=0							 +15               SET XOBI=0
 +16               FOR 								 +16               FOR 
                       SET XOBI=$ORDER(SORT(XOBX,XOBI))				                       SET XOBI=$ORDER(SORT(XOBX,XOBI))
                       if 'XOBI						      |	                       IF 'XOBI
                           QUIT 						                           QUIT 
                       Begin DoDot:2						                       Begin DoDot:2
 +17                       SET XOBKEY=$GET(@XOBROOT@(XOBI,.01))			 +17                       SET XOBKEY=$GET(@XOBROOT@(XOBI,.01))
 +18                       SET XOBSRVR=$GET(@XOBROOT@(XOBI,.03))		 +18                       SET XOBSRVR=$GET(@XOBROOT@(XOBI,.03))
 +19                       IF XOBSRVR=""					 +19                       IF XOBSRVR=""
                               SET XOBSRVR=$$NOTDEF()				                               SET XOBSRVR=$$NOTDEF()
 +20                       IF XOBKFILT]""					 +20                       IF XOBKFILT]""
                               IF $EXTRACT(XOBKEY,1,$LENGTH(XOBKFILT))'=XOBKF	                               IF $EXTRACT(XOBKEY,1,$LENGTH(XOBKFILT))'=XOBKF
                                   QUIT 					                                   QUIT 
 +21                       IF XOBSFILT]""					 +21                       IF XOBSFILT]""
                               IF $$UP^XLFSTR($EXTRACT(XOBSRVR,1,$LENGTH(XOBS	                               IF $$UP^XLFSTR($EXTRACT(XOBSRVR,1,$LENGTH(XOBS
                                   QUIT 					                                   QUIT 
 +22                       SET VALMCNT=VALMCNT+1				 +22                       SET VALMCNT=VALMCNT+1
 +23                       SET X=""						 +23                       SET X=""
 +24                       SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")			 +24                       SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")
 +25                       SET X=$$SETFLD^VALM1(XOBKEY,X,"KEY")			 +25                       SET X=$$SETFLD^VALM1(XOBKEY,X,"KEY")
 +26                       SET X=$$SETFLD^VALM1(XOBSRVR,X,"SERVER")		 +26                       SET X=$$SETFLD^VALM1(XOBSRVR,X,"SERVER")
 +27                       DO SET^VALM10(VALMCNT,X,VALMCNT)			 +27                       DO SET^VALM10(VALMCNT,X,VALMCNT)
 +28                       SET ^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,VALMCN	 +28                       SET ^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,VALMCN
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +29      ;									 +29      ;
 +30       QUIT 								 +30       QUIT 
 +31      ;									 +31      ;
NOTDEF()  ; -- constant text to use if server is not defined			NOTDEF()  ; -- constant text to use if server is not defined
 +1        QUIT "<server not defined>"						 +1        QUIT "<server not defined>"
 +2       ;									 +2       ;
CLEAR     ; -- clean up entries							CLEAR     ; -- clean up entries
 +1        DO REFRESH								 +1        DO REFRESH
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
REFRESH   ; -- refresh display							REFRESH   ; -- refresh display
 +1        DO BUILD								 +1        DO BUILD
 +2        SET VALMBCK="R"							 +2        SET VALMBCK="R"
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
KILL      ; -- kill off list location						KILL      ; -- kill off list location
 +1        KILL ^TMP("XOB WEB SERVER LOOKUP",$JOB)				 +1        KILL ^TMP("XOB WEB SERVER LOOKUP",$JOB)
 +2        KILL ^TMP("XOB WEB SERVER LOOKUP","XOB",$JOB)			 +2        KILL ^TMP("XOB WEB SERVER LOOKUP","XOB",$JOB)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
HELP      ; -- help code							HELP      ; -- help code
 +1        SET X="?"								 +1        SET X="?"
									      >	
										XOBWUA   3997     printed  Apr 10, 2018@18:46:17                             
									      >
           DO DISP^XQORM1							           DO DISP^XQORM1
           WRITE !!								           WRITE !!
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
EXIT      ; -- exit code							EXIT      ; -- exit code
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
ADD       ; -- add a web server lookup identifier entry				ADD       ; -- add a web server lookup identifier entry
 +1       ; -- Protocol: XOBW ASSOCIATE ADD					 +1       ; -- Protocol: XOBW ASSOCIATE ADD
 +2        DO ACTION("ADD",0)							 +2        DO ACTION("ADD",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EDIT      ; -- edit a web server lookup identifier entry			EDIT      ; -- edit a web server lookup identifier entry
 +1       ; -- Protocol: XOBW ASSOCIATE EDIT					 +1       ; -- Protocol: XOBW ASSOCIATE EDIT
 +2        DO ACTION("EDIT",0)							 +2        DO ACTION("EDIT",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
DEL       ; -- delete web server lookup identifier entry			DEL       ; -- delete web server lookup identifier entry
 +1       ; -- Protocol: XOBW ASSOCIATE DELETE					 +1       ; -- Protocol: XOBW ASSOCIATE DELETE
 +2        DO ACTION("DEL",0)							 +2        DO ACTION("DEL",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EXPAND    ; -- expand web server lookup identifier entry			EXPAND    ; -- expand web server lookup identifier entry
 +1        DO ACTION("EXPAND",1)						 +1        DO ACTION("EXPAND",1)
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
SORT      ; -- sort list							SORT      ; -- sort list
 +1       ; -- Protocol: XOBW ASSOCIATE SORT					 +1       ; -- Protocol: XOBW ASSOCIATE SORT
 +2        DO ACTION("SORT",0)							 +2        DO ACTION("SORT",0)
 +3        DO HDR								 +3        DO HDR
 +4        DO CHGCAP								 +4        DO CHGCAP
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
KFILTER   ; -- specify look up key filter					KFILTER   ; -- specify look up key filter
 +1       ; -- Protocol: XOBW ASSOCIATE FILTER KEY				 +1       ; -- Protocol: XOBW ASSOCIATE FILTER KEY
 +2        DO ACTION("KFILTER",0)						 +2        DO ACTION("KFILTER",0)
 +3        DO HDR								 +3        DO HDR
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
SFILTER   ; -- specify web server filter					SFILTER   ; -- specify web server filter
 +1       ; -- Protocol: XOBW ASSOCIATE FILTER SERVER				 +1       ; -- Protocol: XOBW ASSOCIATE FILTER SERVER
 +2        DO ACTION("SFILTER",0)						 +2        DO ACTION("SFILTER",0)
 +3        DO HDR								 +3        DO HDR
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
ACTION(TYPE,XOBPAUSE) ; -- execute action					ACTION(TYPE,XOBPAUSE) ; -- execute action
 +1        DO FULL^VALM1							 +1        DO FULL^VALM1
 +2        NEW X,Y								 +2        NEW X,Y
 +3        SET X="DO "_TYPE_"^XOBWUA1"						 +3        SET X="DO "_TYPE_"^XOBWUA1"
 +4        XECUTE X								 +4        XECUTE X
 +5        IF XOBPAUSE								 +5        IF XOBPAUSE
               DO PAUSE^VALM1							               DO PAUSE^VALM1
 +6        DO REFRESH								 +6        DO REFRESH
 +7        DO MSG								 +7        DO MSG
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;


*****   INDEX OF XOBWUA   *****							*****   INDEX OF XOBWUA   *****
										
										
									      >	*****   INDEX OF XOBWUA   *****                                              

Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   I            BUILD+1~							   I            BUILD+1~
   KEYCAP       CHGCAP+1~,CHGCAP+2*,CHGCAP+5,CHGCAP+9				   KEYCAP       CHGCAP+1~,CHGCAP+2*,CHGCAP+5,CHGCAP+9
   SORT         BUILD+1~							   SORT         BUILD+1~
   SORT(        BUILD+11*,BUILD+14,BUILD+16					   SORT(        BUILD+11*,BUILD+14,BUILD+16
   SRVCAP       CHGCAP+1~,CHGCAP+3*,CHGCAP+6,CHGCAP+8				   SRVCAP       CHGCAP+1~,CHGCAP+3*,CHGCAP+6,CHGCAP+8
   TYPE         ACTION~,ACTION+3						   TYPE         ACTION~,ACTION+3
>> VALMBCK      EN+6*,REFRESH+2*						>> VALMBCK      EN+6*,REFRESH+2*
>> VALMCNT      BUILD+4*,BUILD+22*,BUILD+24,BUILD+27,BUILD+28			>> VALMCNT      BUILD+4*,BUILD+22*,BUILD+24,BUILD+27,BUILD+28
>> VALMHDR(1    HDR+2*								>> VALMHDR(1    HDR+2*
>> VALMHDR(2    HDR+4*								>> VALMHDR(2    HDR+4*
>> VALMHDR(3    HDR+6*								>> VALMHDR(3    HDR+6*
>> VALMSG       MSG+1*								>> VALMSG       MSG+1*
   X            EN+1~,HDR+1*,HDR+2,HDR+3*,HDR+4,HDR+5*,HDR+6,BUILD+1~,BUILD+2 |	   X            EN+1~,HDR+1*,HDR+2,HDR+3*,HDR+4,HDR+5*,HDR+6,BUILD+1~,BUILD+2
                BUILD+24*,BUILD+25*,BUILD+26*,BUILD+27,HELP+1*,ACTION+2~      |	                ACTION+2~,ACTION+3*,ACTION+4
                ACTION+3*,ACTION+4					      <
   XOB0         BUILD+1~							   XOB0         BUILD+1~
   XOBDATA      BUILD+1~,BUILD+6						   XOBDATA      BUILD+1~,BUILD+6
   XOBDATA("DILIST" 								   XOBDATA("DILIST" 
                BUILD+5,BUILD+28						                BUILD+5,BUILD+28
   XOBI         BUILD+1~,BUILD+8*,BUILD+9*,BUILD+10,BUILD+11,BUILD+15*	      |	   XOBI         BUILD+1~,BUILD+8*,BUILD+9*,BUILD+10,BUILD+11,BUILD+15*,BUILD+
                BUILD+16*,BUILD+17,BUILD+18,BUILD+28			      <
   XOBKEY       BUILD+1~,BUILD+17*,BUILD+20,BUILD+25				   XOBKEY       BUILD+1~,BUILD+17*,BUILD+20,BUILD+25
   XOBKFILT     EN+1~,EN+3*,HDR+6,BUILD+20					   XOBKFILT     EN+1~,EN+3*,HDR+6,BUILD+20
   XOBPAUSE     ACTION~,ACTION+5						   XOBPAUSE     ACTION~,ACTION+5
   XOBROOT      BUILD+1~,BUILD+5*,BUILD+9,BUILD+10,BUILD+17,BUILD+18		   XOBROOT      BUILD+1~,BUILD+5*,BUILD+9,BUILD+10,BUILD+17,BUILD+18
   XOBSFILT     EN+1~,EN+4*,HDR+5,BUILD+21					   XOBSFILT     EN+1~,EN+4*,HDR+5,BUILD+21
   XOBSITEI     BUILD+1~							   XOBSITEI     BUILD+1~
   XOBSORT      EN+1~,EN+2*,CHGCAP+4,BUILD+10					   XOBSORT      EN+1~,EN+2*,CHGCAP+4,BUILD+10
   XOBSRVR      BUILD+1~,BUILD+18*,BUILD+19*,BUILD+21,BUILD+26			   XOBSRVR      BUILD+1~,BUILD+18*,BUILD+19*,BUILD+21,BUILD+26
   XOBX         BUILD+1~,BUILD+10*,BUILD+11,BUILD+13*,BUILD+14*,BUILD+16	   XOBX         BUILD+1~,BUILD+10*,BUILD+11,BUILD+13*,BUILD+14*,BUILD+16
   Y            BUILD+1~,ACTION+2~						   Y            BUILD+1~,ACTION+2~

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP("XOB WEB SERVER LOOKUP"							   ^TMP("XOB WEB SERVER LOOKUP"
                       BUILD+28*,KILL+1!,KILL+2!				                       BUILD+28*,KILL+1!,KILL+2!

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   $T(XOBWUA+1  HDR+3								   $T(XOBWUA+1  HDR+3

Label References								Label References
   $$NOTDEF     BUILD+19							   $$NOTDEF     BUILD+19
   ACTION       ADD+2,EDIT+2,DEL+2,EXPAND+1,SORT+2,KFILTER+2,SFILTER+2		   ACTION       ADD+2,EDIT+2,DEL+2,EXPAND+1,SORT+2,KFILTER+2,SFILTER+2
   BUILD        REFRESH+1							   BUILD        REFRESH+1
   CHGCAP       INIT+3,SORT+4							   CHGCAP       INIT+3,SORT+4
   CLEAR        INIT+1								   CLEAR        INIT+1
   HDR          SORT+3,KFILTER+3,SFILTER+3					   HDR          SORT+3,KFILTER+3,SFILTER+3
   KILL         EN+5,BUILD+2							   KILL         EN+5,BUILD+2
   MSG          INIT+2,ACTION+7							   MSG          INIT+2,ACTION+7
   REFRESH      CLEAR+1,ACTION+6						   REFRESH      CLEAR+1,ACTION+6

External References								External References
   LIST^DIC            BUILD+6							   LIST^DIC            BUILD+6
										
									      >	*****   INDEX OF XOBWUA   *****                                              
									      >
									      >	External References
   CHGCAP^VALM         CHGCAP+5,CHGCAP+6,CHGCAP+8,CHGCAP+9			   CHGCAP^VALM         CHGCAP+5,CHGCAP+6,CHGCAP+8,CHGCAP+9
   EN^VALM             EN+7							   EN^VALM             EN+7
   $$SETFLD^VALM1      BUILD+24,BUILD+25,BUILD+26				   $$SETFLD^VALM1      BUILD+24,BUILD+25,BUILD+26
   FULL^VALM1          ACTION+1							   FULL^VALM1          ACTION+1
   PAUSE^VALM1         ACTION+5							   PAUSE^VALM1         ACTION+5
   SET^VALM10          BUILD+27							   SET^VALM10          BUILD+27
   $$UP^XLFSTR         BUILD+21							   $$UP^XLFSTR         BUILD+21
   $$VERSION^XOBWENV   HDR+3							   $$VERSION^XOBWENV   HDR+3
   DISP^XQORM1         HELP+1							   DISP^XQORM1         HELP+1

*****   END   *****								*****   END   *****
									      |	
										XOBWUA1   3399     printed  Apr 10, 2018@18:46:17                            
XOBWUA1   3399     printed  Mar 13, 2018@10:55:07                      Page 1 <

XOBWUA1   ;OAK/KEC - HWSC :: Web Server Lookup Key Manager ; 09/13/10 4:00pm	XOBWUA1   ;OAK/KEC - HWSC :: Web Server Lookup Key Manager ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
ADD       ; -- add web server lookup key entry					ADD       ; -- add web server lookup key entry
 +1        NEW DIC,Y,XOBY,D							 +1        NEW DIC,Y,XOBY,D
 +2        WRITE !								 +2        WRITE !
 +3        SET DIC("A")="Enter name for a new web server lookup key: "		 +3        SET DIC("A")="Enter name for a new web server lookup key: "
 +4        SET DIC="^XOB(18.13,"						 +4        SET DIC="^XOB(18.13,"
           SET DIC(0)="AELQ"							           SET DIC(0)="AELQ"
           SET D="B"								           SET D="B"
           DO IX^DIC								           DO IX^DIC
           KILL DIC								           KILL DIC
 +5        SET XOBY=Y								 +5        SET XOBY=Y
 +6        IF +XOBY>0								 +6        IF +XOBY>0
               IF '$PIECE(XOBY,U,3)						               IF '$PIECE(XOBY,U,3)
                   Begin DoDot:1						                   Begin DoDot:1
 +7                    DO DISPLAY("",+XOBY)					 +7                    DO DISPLAY("",+XOBY)
 +8                    WRITE !!,"This is not a new entry! Please use 'Edit Se	 +8                    WRITE !!,"This is not a new entry! Please use 'Edit Se
 +9                    DO PAUSE^VALM1						 +9                    DO PAUSE^VALM1
                   End DoDot:1							                   End DoDot:1
                   GOTO ADDQ							                   GOTO ADDQ
 +10       IF +XOBY>0								 +10       IF +XOBY>0
               IF $PIECE(XOBY,U,3)						               IF $PIECE(XOBY,U,3)
                   DO DOEDIT(+XOBY)						                   DO DOEDIT(+XOBY)
ADDQ      ;									ADDQ      ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
EDIT      ; -- edit web server entry						EDIT      ; -- edit web server entry
 +1        NEW DA,DR,DIE,XOBI,VALMY						 +1        NEW DA,DR,DIE,XOBI,VALMY
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4        IF XOBI>0								 +4        IF XOBI>0
               DO DOEDIT(+$GET(^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,XOBI,X	               DO DOEDIT(+$GET(^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,XOBI,X
EDITQ     ;									EDITQ     ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
DOEDIT(DA) ; -- do actual web server lookup key edit				DOEDIT(DA) ; -- do actual web server lookup key edit
 +1        NEW DR,DIE								 +1        NEW DR,DIE
 +2        SET DR="[XOBW WEB SERVER KEY SETUP]"					 +2        SET DR="[XOBW WEB SERVER KEY SETUP]"
           SET DIE="^XOB(18.13,"						           SET DIE="^XOB(18.13,"
           DO ^DIE								           DO ^DIE
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
DEL       ; -- delete web server lookup key entry				DEL       ; -- delete web server lookup key entry
 +1        NEW XOBI,VALMY,Y,XOBDA						 +1        NEW XOBI,VALMY,Y,XOBDA
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4       ; -- quit if nothing selected						 +4       ; -- quit if nothing selected
 +5        IF XOBI'>0								 +5        IF XOBI'>0
               GOTO DELQ							               GOTO DELQ
 +6       ; -- display entry, ask if 'ok' and delete				 +6       ; -- display entry, ask if 'ok' and delete
 +7        SET XOBDA=+$GET(^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,XOBI,XOBI)	 +7        SET XOBDA=+$GET(^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,XOBI,XOBI)
 +8        DO DISPLAY(XOBI,XOBDA)						 +8        DO DISPLAY(XOBI,XOBDA)
 +9        Begin DoDot:1							 +9        Begin DoDot:1
 +10           NEW DIR								 +10           NEW DIR
 +11           SET DIR("A")="Are you sure you want to delete entry"		 +11           SET DIR("A")="Are you sure you want to delete entry"
 +12           SET DIR("B")="NO"						 +12           SET DIR("B")="NO"
               SET DIR(0)="Y"							               SET DIR(0)="Y"
 +13           WRITE !								 +13           WRITE !
 +14           DO ^DIR							      |	 +14 
										XOBWUA1   3399     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	               DO ^DIR
           End DoDot:1								           End DoDot:1
 +15       IF '$GET(Y)								 +15       IF '$GET(Y)
               Begin DoDot:1							               Begin DoDot:1
 +16               WRITE !!,"Deletion aborted."					 +16               WRITE !!,"Deletion aborted."
 +17               DO PAUSE^VALM1						 +17               DO PAUSE^VALM1
               End DoDot:1							               End DoDot:1
               GOTO DELQ							               GOTO DELQ
 +18      ; -- execute deletion							 +18      ; -- execute deletion
 +19       DO DODEL(XOBDA)							 +19       DO DODEL(XOBDA)
 +20       WRITE !!,"Entry has been deleted."					 +20       WRITE !!,"Entry has been deleted."
 +21       DO PAUSE^VALM1							 +21       DO PAUSE^VALM1
DELQ      ;									DELQ      ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
DODEL(DA) ; -- do actual web server lookup key delete				DODEL(DA) ; -- do actual web server lookup key delete
 +1        NEW DIK								 +1        NEW DIK
 +2        SET DIK="^XOB(18.13,"						 +2        SET DIK="^XOB(18.13,"
           DO ^DIK								           DO ^DIK
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
SORT      ; -- change sort order						SORT      ; -- change sort order
 +1        IF XOBSORT="K"							 +1        IF XOBSORT="K"
               Begin DoDot:1							               Begin DoDot:1
 +2                SET XOBSORT="S"						 +2                SET XOBSORT="S"
               End DoDot:1							               End DoDot:1
 +3       IF '$TEST								 +3       IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +4                SET XOBSORT="K"						 +4                SET XOBSORT="K"
               End DoDot:1							               End DoDot:1
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
KFILTER   ; -- specify lookup key filter					KFILTER   ; -- specify lookup key filter
 +1        NEW DIR,Y,X,XOBCLR,DTOUT,DUOUT,DIRUT,DIROUT				 +1        NEW DIR,Y,X,XOBCLR,DTOUT,DUOUT,DIRUT,DIROUT
 +2        SET XOBCLR="<clear filter>"						 +2        SET XOBCLR="<clear filter>"
 +3        SET DIR(0)="FO^1:30"							 +3        SET DIR(0)="FO^1:30"
 +4        SET DIR("A")="Enter lookup key 'starts with' filter text"		 +4        SET DIR("A")="Enter lookup key 'starts with' filter text"
 +5        IF $GET(XOBKFILT)]""							 +5        IF $GET(XOBKFILT)]""
               SET DIR("B")=XOBCLR						               SET DIR("B")=XOBCLR
 +6        DO ^DIR								 +6        DO ^DIR
 +7        IF '($DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIRUT)!$DATA(DIROUT))		 +7        IF '($DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIRUT)!$DATA(DIROUT))
               Begin DoDot:1							               Begin DoDot:1
 +8                SET XOBKFILT=$SELECT(Y=XOBCLR:"",1:$$UP^XLFSTR(Y))		 +8                SET XOBKFILT=$SELECT(Y=XOBCLR:"",1:$$UP^XLFSTR(Y))
               End DoDot:1							               End DoDot:1
 +9        QUIT 								 +9        QUIT 
 +10      ;									 +10      ;
SFILTER   ; -- specify web server filter					SFILTER   ; -- specify web server filter
 +1        NEW DIR,Y,X,XOBCLR,DTOUT,DUOUT,DIRUT,DIROUT				 +1        NEW DIR,Y,X,XOBCLR,DTOUT,DUOUT,DIRUT,DIROUT
 +2        SET XOBCLR="<clear filter>"						 +2        SET XOBCLR="<clear filter>"
 +3        SET DIR(0)="FO^1:30"							 +3        SET DIR(0)="FO^1:30"
 +4        SET DIR("A",1)=""							 +4        SET DIR("A",1)=""
 +5        SET DIR("A",2)="Specify web server name 'starts with' filter text.	 +5        SET DIR("A",2)="Specify web server name 'starts with' filter text.
 +6        SET DIR("A",3)="Note: Use <space> to list entries without a web se	 +6        SET DIR("A",3)="Note: Use <space> to list entries without a web se
 +7        SET DIR("A")="Enter filter text"					 +7        SET DIR("A")="Enter filter text"
 +8        IF $GET(XOBSFILT)]""							 +8        IF $GET(XOBSFILT)]""
               SET DIR("B")=XOBCLR						               SET DIR("B")=XOBCLR
 +9        DO ^DIR								 +9        DO ^DIR
 +10       IF '($DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIRUT)!$DATA(DIROUT))		 +10       IF '($DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIRUT)!$DATA(DIROUT))
               Begin DoDot:1							               Begin DoDot:1
 +11               SET XOBSFILT=$SELECT(Y=XOBCLR:"",Y=" ":$$NOTDEF^XOBWUA(),1	 +11               SET XOBSFILT=$SELECT(Y=XOBCLR:"",Y=" ":$$NOTDEF^XOBWUA(),1
               End DoDot:1							               End DoDot:1
 +12       QUIT 							      |	 +12 
										XOBWUA1   3399     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           QUIT 
 +13      ;									 +13      ;
EXPAND    ; -- expand Protocol							EXPAND    ; -- expand Protocol
 +1        NEW DA,DIC,XOBI,VALMY						 +1        NEW DA,DIC,XOBI,VALMY
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4        IF XOBI>0								 +4        IF XOBI>0
               DO DISPLAY(XOBI,+$GET(^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,	               DO DISPLAY(XOBI,+$GET(^TMP("XOB WEB SERVER LOOKUP","IDX",$JOB,
 +5        QUIT 								 +5        QUIT 
 +6       ;									 +6       ;
DISPLAY(XOBI,DA) ; display web server lookup key informaton			DISPLAY(XOBI,DA) ; display web server lookup key informaton
 +1       ; input: XOBI == list entry number					 +1       ; input: XOBI == list entry number
 +2       ;        DA   == internal entry number in file 18.12			 +2       ;        DA   == internal entry number in file 18.12
 +3        NEW DIC,XOBLINE,XOBDASH						 +3        NEW DIC,XOBLINE,XOBDASH
 +4        SET $PIECE(XOBLINE,"=",$GET(IOM,80))=""				 +4        SET $PIECE(XOBLINE,"=",$GET(IOM,80))=""
 +5        SET $PIECE(XOBDASH,"-",$GET(IOM,80))=""				 +5        SET $PIECE(XOBDASH,"-",$GET(IOM,80))=""
 +6        DO CLEAR^VALM1							 +6        DO CLEAR^VALM1
 +7        WRITE !,XOBLINE							 +7        WRITE !,XOBLINE
 +8        IF $GET(XOBI)							 +8        IF $GET(XOBI)
               Begin DoDot:1							               Begin DoDot:1
 +9                WRITE !,@VALMAR@(XOBI,0)					 +9                WRITE !,@VALMAR@(XOBI,0)
 +10               WRITE !,XOBDASH						 +10               WRITE !,XOBDASH
               End DoDot:1							               End DoDot:1
 +11       SET DIC="^XOB(18.13,"						 +11       SET DIC="^XOB(18.13,"
 +12       DO EN^DIQ								 +12       DO EN^DIQ
 +13       WRITE XOBLINE							 +13       WRITE XOBLINE
 +14       QUIT 								 +14       QUIT 
 +15      ;									 +15      ;


*****   INDEX OF XOBWUA1   *****						*****   INDEX OF XOBWUA1   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   D            ADD+1~,ADD+4*							   D            ADD+1~,ADD+4*
   DA           EDIT+1~,DOEDIT~,DODEL~,EXPAND+1~,DISPLAY~			   DA           EDIT+1~,DOEDIT~,DODEL~,EXPAND+1~,DISPLAY~
   DIC          ADD+1~,ADD+4*!,EXPAND+1~,DISPLAY+3~,DISPLAY+11*			   DIC          ADD+1~,ADD+4*!,EXPAND+1~,DISPLAY+3~,DISPLAY+11*
   DIC("A"      ADD+3*								   DIC("A"      ADD+3*
   DIC(0        ADD+4*								   DIC(0        ADD+4*
   DIE          EDIT+1~,DOEDIT+1~,DOEDIT+2*					   DIE          EDIT+1~,DOEDIT+1~,DOEDIT+2*
   DIK          DODEL+1~,DODEL+2*						   DIK          DODEL+1~,DODEL+2*
   DIR          DEL+10~,KFILTER+1~,SFILTER+1~					   DIR          DEL+10~,KFILTER+1~,SFILTER+1~
   DIR("A"      DEL+11*,KFILTER+4*,SFILTER+4*,SFILTER+5*,SFILTER+6*,SFILTER+7	   DIR("A"      DEL+11*,KFILTER+4*,SFILTER+4*,SFILTER+5*,SFILTER+6*,SFILTER+7
   DIR("B"      DEL+12*,KFILTER+5*,SFILTER+8*					   DIR("B"      DEL+12*,KFILTER+5*,SFILTER+8*
   DIR(0        DEL+12*,KFILTER+3*,SFILTER+3*					   DIR(0        DEL+12*,KFILTER+3*,SFILTER+3*
   DIROUT       KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10			   DIROUT       KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10
   DIRUT        KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10			   DIRUT        KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10
   DR           EDIT+1~,DOEDIT+1~,DOEDIT+2*					   DR           EDIT+1~,DOEDIT+1~,DOEDIT+2*
   DTOUT        KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10			   DTOUT        KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10
   DUOUT        KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10			   DUOUT        KFILTER+1~,KFILTER+7,SFILTER+1~,SFILTER+10
   IOM          DISPLAY+4,DISPLAY+5						   IOM          DISPLAY+4,DISPLAY+5
   U            ADD+6,ADD+10							   U            ADD+6,ADD+10
>> VALMAR       DISPLAY+9							>> VALMAR       DISPLAY+9
   VALMY        EDIT+1~,DEL+1~,EXPAND+1~					   VALMY        EDIT+1~,DEL+1~,EXPAND+1~
   VALMY(""     EDIT+3,DEL+3,EXPAND+3						   VALMY(""     EDIT+3,DEL+3,EXPAND+3
   X            KFILTER+1~,SFILTER+1~						   X            KFILTER+1~,SFILTER+1~
   XOBCLR       KFILTER+1~,KFILTER+2*,KFILTER+5,KFILTER+8,SFILTER+1~,SFILTER+ |	   XOBCLR       KFILTER+1~,KFILTER+2*,KFILTER+5,KFILTER+8,SFILTER+1~,SFILTER+
                SFILTER+8,SFILTER+11					      <
   XOBDA        DEL+1~,DEL+7*,DEL+8,DEL+19					   XOBDA        DEL+1~,DEL+7*,DEL+8,DEL+19
										
									      >	*****   INDEX OF XOBWUA1   *****                                             
									      >
									      >	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
   XOBDASH      DISPLAY+3~,DISPLAY+5*,DISPLAY+10				   XOBDASH      DISPLAY+3~,DISPLAY+5*,DISPLAY+10
   XOBI         EDIT+1~,EDIT+3*,EDIT+4,DEL+1~,DEL+3*,DEL+5,DEL+7,DEL+8	      |	   XOBI         EDIT+1~,EDIT+3*,EDIT+4,DEL+1~,DEL+3*,DEL+5,DEL+7,DEL+8,EXPAND
                EXPAND+1~,EXPAND+3*,EXPAND+4,DISPLAY~,DISPLAY+8,DISPLAY+9     <
>> XOBKFILT     KFILTER+5,KFILTER+8*						>> XOBKFILT     KFILTER+5,KFILTER+8*
   XOBLINE      DISPLAY+3~,DISPLAY+4*,DISPLAY+7,DISPLAY+13			   XOBLINE      DISPLAY+3~,DISPLAY+4*,DISPLAY+7,DISPLAY+13
>> XOBSFILT     SFILTER+8,SFILTER+11*						>> XOBSFILT     SFILTER+8,SFILTER+11*
>> XOBSORT      SORT+1,SORT+2*,SORT+4*						>> XOBSORT      SORT+1,SORT+2*,SORT+4*
   XOBY         ADD+1~,ADD+5*,ADD+6,ADD+7,ADD+10				   XOBY         ADD+1~,ADD+5*,ADD+6,ADD+7,ADD+10
>> XQORNOD(0    EDIT+2,DEL+2,EXPAND+2						>> XQORNOD(0    EDIT+2,DEL+2,EXPAND+2
   Y            ADD+1~,ADD+5,DEL+1~,DEL+15,KFILTER+1~,KFILTER+8,SFILTER+1~    |	   Y            ADD+1~,ADD+5,DEL+1~,DEL+15,KFILTER+1~,KFILTER+8,SFILTER+1~,SF
                SFILTER+11						      <

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP("XOB WEB SERVER LOOKUP"							   ^TMP("XOB WEB SERVER LOOKUP"
                       EDIT+4,DEL+7,EXPAND+4					                       EDIT+4,DEL+7,EXPAND+4

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   ADDQ         ADD+6								   ADDQ         ADD+6
   DELQ         DEL+5,DEL+15							   DELQ         DEL+5,DEL+15
   DISPLAY      ADD+7,DEL+8,EXPAND+4						   DISPLAY      ADD+7,DEL+8,EXPAND+4
   DODEL        DEL+19								   DODEL        DEL+19
   DOEDIT       ADD+10,EDIT+4							   DOEDIT       ADD+10,EDIT+4

External References								External References
   IX^DIC              ADD+4							   IX^DIC              ADD+4
   ^DIE                DOEDIT+2							   ^DIE                DOEDIT+2
   ^DIK                DODEL+2							   ^DIK                DODEL+2
   EN^DIQ              DISPLAY+12						   EN^DIQ              DISPLAY+12
   ^DIR                DEL+14,KFILTER+6,SFILTER+9				   ^DIR                DEL+14,KFILTER+6,SFILTER+9
   CLEAR^VALM1         DISPLAY+6						   CLEAR^VALM1         DISPLAY+6
   PAUSE^VALM1         ADD+9,DEL+17,DEL+21					   PAUSE^VALM1         ADD+9,DEL+17,DEL+21
   EN^VALM2            EDIT+2,DEL+2,EXPAND+2					   EN^VALM2            EDIT+2,DEL+2,EXPAND+2
   $$UP^XLFSTR         KFILTER+8,SFILTER+11					   $$UP^XLFSTR         KFILTER+8,SFILTER+11
   $$NOTDEF^XOBWUA     SFILTER+11						   $$NOTDEF^XOBWUA     SFILTER+11

*****   END   *****								*****   END   *****
									      |	
										XOBWUS   2306     printed  Apr 10, 2018@18:46:17                             
XOBWUS   2306     printed  Mar 13, 2018@10:55:07                       Page 1 <

XOBWUS    ;ALB/MJK - HWSC :: Web Service Manager ; 09/13/10 4:00pm		XOBWUS    ;ALB/MJK - HWSC :: Web Service Manager ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EN        ; -- main entry point for XOBW WEB SERVICE				EN        ; -- main entry point for XOBW WEB SERVICE
 +1        KILL ^TMP("XOB WEBSERVICES",$JOB)					 +1        KILL ^TMP("XOB WEBSERVICES",$JOB)
 +2        SET VALMBCK=""							 +2        SET VALMBCK=""
 +3        DO EN^VALM("XOBW WEB SERVICE")					 +3        DO EN^VALM("XOBW WEB SERVICE")
 +4        QUIT 								 +4        QUIT 
 +5       ;									 +5       ;
HDR       ; -- header code							HDR       ; -- header code
 +1        NEW Y								 +1        NEW Y
 +2        SET X="                       HWSC Web Service Manager"		 +2        SET X="                       HWSC Web Service Manager"
 +3        SET VALMHDR(1)=X							 +3        SET VALMHDR(1)=X
 +4        SET X="                      Version: "_$PIECE($TEXT(XOBWUS+1),";"	 +4        SET X="                      Version: "_$PIECE($TEXT(XOBWUS+1),";"
 +5        SET VALMHDR(2)=X							 +5        SET VALMHDR(2)=X
 +6        QUIT 								 +6        QUIT 
 +7       ;									 +7       ;
INIT      ; -- init variables and list array					INIT      ; -- init variables and list array
 +1        DO CLEAR								 +1        DO CLEAR
 +2        DO MSG								 +2        DO MSG
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
MSG       ; -- set default message						MSG       ; -- set default message
 +1        SET VALMSG=""							 +1        SET VALMSG=""
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
BUILD     ; -- build list							BUILD     ; -- build list
 +1        NEW XOBI,X,XOBDATA,XOBROOT,Y						 +1        NEW XOBI,X,XOBDATA,XOBROOT,Y
 +2        DO KILL								 +2        DO KILL
 +3       ;									 +3       ;
 +4        SET VALMCNT=0							 +4        SET VALMCNT=0
 +5        SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))				 +5        SET XOBROOT=$NAME(XOBDATA("DILIST","ID"))
 +6        DO LIST^DIC(18.02,"",".01;.02;200","","","","","","","",$NAME(XOBD	 +6        DO LIST^DIC(18.02,"",".01;.02;200","","","","","","","",$NAME(XOBD
 +7        SET XOBI=0								 +7        SET XOBI=0
 +8        FOR 									 +8        FOR 
               SET XOBI=$ORDER(@XOBROOT@(XOBI))					               SET XOBI=$ORDER(@XOBROOT@(XOBI))
               if 'XOBI							      |	               IF 'XOBI
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +9                SET VALMCNT=VALMCNT+1					 +9                SET VALMCNT=VALMCNT+1
 +10               SET X=""							 +10               SET X=""
 +11               SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")				 +11               SET X=$$SETFLD^VALM1(VALMCNT,X,"ID")
 +12               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.01)),X,"NAME")	 +12               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.01)),X,"NAME")
 +13               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.02)),X,"TYPE")	 +13               SET X=$$SETFLD^VALM1($GET(@XOBROOT@(XOBI,.02)),X,"TYPE")
 +14               SET Y=$GET(@XOBROOT@(XOBI,200))				 +14               SET Y=$GET(@XOBROOT@(XOBI,200))
 +15               IF $LENGTH(Y)>35						 +15               IF $LENGTH(Y)>35
                       SET Y=$EXTRACT(Y,1,35)_"..."				                       SET Y=$EXTRACT(Y,1,35)_"..."
 +16               SET X=$$SETFLD^VALM1(Y,X,"CONTEXT")				 +16               SET X=$$SETFLD^VALM1(Y,X,"CONTEXT")
 +17               DO SET^VALM10(VALMCNT,X,VALMCNT)				 +17               DO SET^VALM10(VALMCNT,X,VALMCNT)
 +18               SET ^TMP("XOB WEBSERVICES","IDX",$JOB,VALMCNT,VALMCNT)=+$G	 +18               SET ^TMP("XOB WEBSERVICES","IDX",$JOB,VALMCNT,VALMCNT)=+$G
               End DoDot:1							               End DoDot:1
 +19      ;									 +19      ;
 +20       QUIT 								 +20       QUIT 
 +21      ;									 +21      ;
CLEAR     ; -- clean up entries							CLEAR     ; -- clean up entries
 +1        DO REFRESH								 +1        DO REFRESH
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
REFRESH   ; -- refresh display							REFRESH   ; -- refresh display
 +1        DO BUILD							      |	 +1 
										XOBWUS   2306     printed  Apr 10, 2018@18:46:17                             
									      >
									      >	           DO BUILD
 +2        SET VALMBCK="R"							 +2        SET VALMBCK="R"
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
KILL      ; -- kill off list location						KILL      ; -- kill off list location
 +1        KILL ^TMP("XOB WEBSERVICES",$JOB)					 +1        KILL ^TMP("XOB WEBSERVICES",$JOB)
 +2        KILL ^TMP("XOB WEBSERVICES","IDX",$JOB)				 +2        KILL ^TMP("XOB WEBSERVICES","IDX",$JOB)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
HELP      ; -- help code							HELP      ; -- help code
 +1        SET X="?"								 +1        SET X="?"
           DO DISP^XQORM1							           DO DISP^XQORM1
           WRITE !!								           WRITE !!
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
EXIT      ; -- exit code							EXIT      ; -- exit code
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
ADD       ; -- add an web service entry						ADD       ; -- add an web service entry
 +1       ; -- Protocol: XOBW WEB SERVICE ADD					 +1       ; -- Protocol: XOBW WEB SERVICE ADD
 +2        DO ACTION("ADD",0)							 +2        DO ACTION("ADD",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EDIT      ; -- edit web service entry						EDIT      ; -- edit web service entry
 +1       ; -- Protocol: XOBW WEB SERVICE EDIT					 +1       ; -- Protocol: XOBW WEB SERVICE EDIT
 +2        DO ACTION("EDIT",0)							 +2        DO ACTION("EDIT",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
DEL       ; -- delete web service entry						DEL       ; -- delete web service entry
 +1       ; -- Protocol: XOBW WEB SERVICE DELETE				 +1       ; -- Protocol: XOBW WEB SERVICE DELETE
 +2        DO ACTION("DEL",0)							 +2        DO ACTION("DEL",0)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EXPAND    ; -- expand web service entry						EXPAND    ; -- expand web service entry
 +1        DO ACTION("EXPAND",0)						 +1        DO ACTION("EXPAND",0)
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
ACTION(TYPE,XOBPAUSE) ; -- execute action					ACTION(TYPE,XOBPAUSE) ; -- execute action
 +1        DO FULL^VALM1							 +1        DO FULL^VALM1
 +2        NEW X,Y								 +2        NEW X,Y
 +3        SET X="DO "_TYPE_"^XOBWUS1"						 +3        SET X="DO "_TYPE_"^XOBWUS1"
 +4        XECUTE X								 +4        XECUTE X
 +5        IF XOBPAUSE								 +5        IF XOBPAUSE
               DO PAUSE^VALM1							               DO PAUSE^VALM1
 +6        DO REFRESH								 +6        DO REFRESH
 +7        DO MSG								 +7        DO MSG
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;


*****   INDEX OF XOBWUS   *****							*****   INDEX OF XOBWUS   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   TYPE         ACTION~,ACTION+3						   TYPE         ACTION~,ACTION+3
>> VALMBCK      EN+2*,REFRESH+2*						>> VALMBCK      EN+2*,REFRESH+2*
>> VALMCNT      BUILD+4*,BUILD+9*,BUILD+11,BUILD+17,BUILD+18			>> VALMCNT      BUILD+4*,BUILD+9*,BUILD+11,BUILD+17,BUILD+18
>> VALMHDR(1    HDR+3*								>> VALMHDR(1    HDR+3*
										
									      >	*****   INDEX OF XOBWUS   *****                                              
									      >
									      >	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
>> VALMHDR(2    HDR+5*								>> VALMHDR(2    HDR+5*
>> VALMSG       MSG+1*								>> VALMSG       MSG+1*
   X            HDR+2*,HDR+3,HDR+4*,HDR+5,BUILD+1~,BUILD+10*,BUILD+11*	      |	   X            HDR+2*,HDR+3,HDR+4*,HDR+5,BUILD+1~,BUILD+10*,BUILD+11*,BUILD+
                BUILD+12*,BUILD+13*,BUILD+16*,BUILD+17,HELP+1*,ACTION+2~      <
                ACTION+3*,ACTION+4						                ACTION+3*,ACTION+4
   XOBDATA      BUILD+1~,BUILD+6						   XOBDATA      BUILD+1~,BUILD+6
   XOBDATA("DILIST" 								   XOBDATA("DILIST" 
                BUILD+5,BUILD+18						                BUILD+5,BUILD+18
   XOBI         BUILD+1~,BUILD+7*,BUILD+8*,BUILD+12,BUILD+13,BUILD+14,BUILD+1	   XOBI         BUILD+1~,BUILD+7*,BUILD+8*,BUILD+12,BUILD+13,BUILD+14,BUILD+1
   XOBPAUSE     ACTION~,ACTION+5						   XOBPAUSE     ACTION~,ACTION+5
   XOBROOT      BUILD+1~,BUILD+5*,BUILD+8,BUILD+12,BUILD+13,BUILD+14		   XOBROOT      BUILD+1~,BUILD+5*,BUILD+8,BUILD+12,BUILD+13,BUILD+14
   Y            HDR+1~,BUILD+1~,BUILD+14*,BUILD+15*,BUILD+16,ACTION+2~		   Y            HDR+1~,BUILD+1~,BUILD+14*,BUILD+15*,BUILD+16,ACTION+2~

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP("XOB WEBSERVICES"							   ^TMP("XOB WEBSERVICES"
                       EN+1!,BUILD+18*,KILL+1!,KILL+2!				                       EN+1!,BUILD+18*,KILL+1!,KILL+2!

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   $T(XOBWUS+1  HDR+4								   $T(XOBWUS+1  HDR+4

Label References								Label References
   ACTION       ADD+2,EDIT+2,DEL+2,EXPAND+1					   ACTION       ADD+2,EDIT+2,DEL+2,EXPAND+1
   BUILD        REFRESH+1							   BUILD        REFRESH+1
   CLEAR        INIT+1								   CLEAR        INIT+1
   KILL         BUILD+2								   KILL         BUILD+2
   MSG          INIT+2,ACTION+7							   MSG          INIT+2,ACTION+7
   REFRESH      CLEAR+1,ACTION+6						   REFRESH      CLEAR+1,ACTION+6

External References								External References
   LIST^DIC            BUILD+6							   LIST^DIC            BUILD+6
   EN^VALM             EN+3							   EN^VALM             EN+3
   $$SETFLD^VALM1      BUILD+11,BUILD+12,BUILD+13,BUILD+16			   $$SETFLD^VALM1      BUILD+11,BUILD+12,BUILD+13,BUILD+16
   FULL^VALM1          ACTION+1							   FULL^VALM1          ACTION+1
   PAUSE^VALM1         ACTION+5							   PAUSE^VALM1         ACTION+5
   SET^VALM10          BUILD+17							   SET^VALM10          BUILD+17
   $$VERSION^XOBWENV   HDR+4							   $$VERSION^XOBWENV   HDR+4
   DISP^XQORM1         HELP+1							   DISP^XQORM1         HELP+1

*****   END   *****								*****   END   *****
									      |	
										XOBWUS1   7665     printed  Apr 10, 2018@18:46:17                            
XOBWUS1   7665     printed  Mar 13, 2018@10:55:07                      Page 1 <

XOBWUS1   ;ALB/MJK - HWSC :: Web Service Manager ; 09/13/10 4:00pm		XOBWUS1   ;ALB/MJK - HWSC :: Web Service Manager ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
ADD       ; -- add web service entry						ADD       ; -- add web service entry
 +1        NEW DIC,Y,XOBY,D							 +1        NEW DIC,Y,XOBY,D
 +2        WRITE !								 +2        WRITE !
 +3        SET DIC="^XOB(18.02,"						 +3        SET DIC="^XOB(18.02,"
           SET DIC(0)="AELQ"							           SET DIC(0)="AELQ"
           SET D="B"								           SET D="B"
           DO IX^DIC								           DO IX^DIC
           KILL DIC								           KILL DIC
 +4        SET XOBY=Y								 +4        SET XOBY=Y
 +5        IF +XOBY>0								 +5        IF +XOBY>0
               IF '$PIECE(XOBY,U,3)						               IF '$PIECE(XOBY,U,3)
                   Begin DoDot:1						                   Begin DoDot:1
 +6                    DO DISPLAY("",+XOBY)					 +6                    DO DISPLAY("",+XOBY)
 +7                    WRITE !!,"This is not a new entry! Please use 'Edit Se	 +7                    WRITE !!,"This is not a new entry! Please use 'Edit Se
 +8                    DO PAUSE^VALM1						 +8                    DO PAUSE^VALM1
                   End DoDot:1							                   End DoDot:1
                   GOTO ADDQ							                   GOTO ADDQ
 +9        IF +XOBY>0								 +9        IF +XOBY>0
               IF $PIECE(XOBY,U,3)						               IF $PIECE(XOBY,U,3)
                   DO DOEDIT(+XOBY)						                   DO DOEDIT(+XOBY)
 +10       DO POSTEDIT(+XOBY)							 +10       DO POSTEDIT(+XOBY)
ADDQ      ;									ADDQ      ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
EDIT      ; -- edit web service entry						EDIT      ; -- edit web service entry
 +1        NEW XOBDA,XOBI,VALMY							 +1        NEW XOBDA,XOBI,VALMY
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4        IF XOBI>0								 +4        IF XOBI>0
               Begin DoDot:1							               Begin DoDot:1
 +5                SET XOBDA=+$GET(^TMP("XOB WEBSERVICES","IDX",$JOB,XOBI,XOB	 +5                SET XOBDA=+$GET(^TMP("XOB WEBSERVICES","IDX",$JOB,XOBI,XOB
 +6                DO DISPLAY(XOBI,XOBDA)					 +6                DO DISPLAY(XOBI,XOBDA)
 +7                DO DOEDIT(XOBDA)						 +7                DO DOEDIT(XOBDA)
 +8                DO POSTEDIT(XOBDA)						 +8                DO POSTEDIT(XOBDA)
               End DoDot:1							               End DoDot:1
EDITQ     ;									EDITQ     ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
DOEDIT(DA) ; -- do actual web service edit					DOEDIT(DA) ; -- do actual web service edit
 +1        NEW DR,DIE								 +1        NEW DR,DIE
 +2        SET DR="[XOBW WEB SERVICE EDIT]"					 +2        SET DR="[XOBW WEB SERVICE EDIT]"
           SET DIE="^XOB(18.02,"						           SET DIE="^XOB(18.02,"
           DO ^DIE								           DO ^DIE
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
POSTEDIT(XOBDA) ; -- warning checks after 'add' or 'edit'			POSTEDIT(XOBDA) ; -- warning checks after 'add' or 'edit'
 +1        NEW XOBCLASS,XOBSTAT,XOBISSUE					 +1        NEW XOBCLASS,XOBSTAT,XOBISSUE
 +2        SET XOBSTAT=$$CLSVAL(XOBDA,.XOBCLASS,.XOBISSUE)			 +2        SET XOBSTAT=$$CLSVAL(XOBDA,.XOBCLASS,.XOBISSUE)
 +3        IF 'XOBSTAT								 +3        IF 'XOBSTAT
               Begin DoDot:1							               Begin DoDot:1
 +4                IF $GET(XOBISSUE)=1						 +4                IF $GET(XOBISSUE)=1
                       WRITE !!,"Warning: No class name specified"		                       WRITE !!,"Warning: No class name specified"
 +5                IF $GET(XOBISSUE)=2						 +5                IF $GET(XOBISSUE)=2
                       WRITE !!,"Warning: Class name of '",$GET(XOBCLASS),"' 	                       WRITE !!,"Warning: Class name of '",$GET(XOBCLASS),"' 
 +6                IF $GET(XOBISSUE)=3						 +6                IF $GET(XOBISSUE)=3
                       WRITE !!,"Warning: Class '",$GET(XOBCLASS),"' does not	                       WRITE !!,"Warning: Class '",$GET(XOBCLASS),"' does not
 +7                DO PAUSE^VALM1					      |	 +7 
										XOBWUS1   7665     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	                   DO PAUSE^VALM1
               End DoDot:1							               End DoDot:1
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
CLSCHK(XOBDA) ; -- class check warning message					CLSCHK(XOBDA) ; -- class check warning message
 +1        NEW XOBCLASS,XOBSTAT,XOBISSUE,XOBMSG					 +1        NEW XOBCLASS,XOBSTAT,XOBISSUE,XOBMSG
 +2        SET XOBMSG=""							 +2        SET XOBMSG=""
 +3        SET XOBSTAT=$$CLSVAL(XOBDA,.XOBCLASS,.XOBISSUE)			 +3        SET XOBSTAT=$$CLSVAL(XOBDA,.XOBCLASS,.XOBISSUE)
 +4        IF 'XOBSTAT								 +4        IF 'XOBSTAT
               Begin DoDot:1							               Begin DoDot:1
 +5                IF $GET(XOBISSUE)=1						 +5                IF $GET(XOBISSUE)=1
                       SET XOBMSG=" o  Class name not specified"		                       SET XOBMSG=" o  Class name not specified"
                       QUIT 							                       QUIT 
 +6                IF $GET(XOBISSUE)=2						 +6                IF $GET(XOBISSUE)=2
                       SET XOBMSG=" o  Class is not a defined class"		                       SET XOBMSG=" o  Class is not a defined class"
                       QUIT 							                       QUIT 
 +7                IF $GET(XOBISSUE)=3						 +7                IF $GET(XOBISSUE)=3
                       SET XOBMSG=" o  Class does not extend %SOAP.WebClient"	                       SET XOBMSG=" o  Class does not extend %SOAP.WebClient"
                       QUIT 							                       QUIT 
               End DoDot:1							               End DoDot:1
 +8        QUIT XOBMSG								 +8        QUIT XOBMSG
 +9       ;									 +9       ;
CLSVAL(XOBDA,XOBCLASS,XOBISSUE) ; -- do actual validation check			CLSVAL(XOBDA,XOBCLASS,XOBISSUE) ; -- do actual validation check
 +1        NEW XOBWCDEF,XOBDA0,XOBOK						 +1        NEW XOBWCDEF,XOBDA0,XOBOK
 +2        SET XOBOK=0								 +2        SET XOBOK=0
           SET XOBISSUE=0							           SET XOBISSUE=0
 +3        SET XOBDA0=$GET(^XOB(18.02,+XOBDA,0))				 +3        SET XOBDA0=$GET(^XOB(18.02,+XOBDA,0))
 +4       ; -- no need to do check for REST-type [2]; quit w/ok			 +4       ; -- no need to do check for REST-type [2]; quit w/ok
 +5        IF $PIECE(XOBDA0,"^",2)=2						 +5        IF $PIECE(XOBDA0,"^",2)=2
               SET XOBOK=1							               SET XOBOK=1
               GOTO CLSVALQ							               GOTO CLSVALQ
 +6       ; -- do checks for SOAP-type [1] 					 +6       ; -- do checks for SOAP-type [1] 
 +7        SET XOBCLASS=$PIECE($GET(^XOB(18.02,+XOBDA,100)),"^")		 +7        SET XOBCLASS=$PIECE($GET(^XOB(18.02,+XOBDA,100)),"^")
 +8       ; -- no class name defined						 +8       ; -- no class name defined
 +9        IF XOBCLASS=""							 +9        IF XOBCLASS=""
               SET XOBOK=0							               SET XOBOK=0
               SET XOBISSUE=1							               SET XOBISSUE=1
               GOTO CLSVALQ							               GOTO CLSVALQ
 +10       SET XOBWCDEF=##class(%Dictionary.ClassDefinition).%OpenId(XOBCLASS	 +10       SET XOBWCDEF=##class(%Dictionary.ClassDefinition).%OpenId(XOBCLASS
 +11      ; -- not a class							 +11      ; -- not a class
 +12       IF XOBWCDEF=""							 +12       IF XOBWCDEF=""
               SET XOBOK=0							               SET XOBOK=0
               SET XOBISSUE=2							               SET XOBISSUE=2
               GOTO CLSVALQ							               GOTO CLSVALQ
 +13      ; -- not a SOAP client class						 +13      ; -- not a SOAP client class
 +14       IF XOBWCDEF.Super'="%SOAP.WebClient"					 +14       IF XOBWCDEF.Super'="%SOAP.WebClient"
               SET XOBOK=0							               SET XOBOK=0
               SET XOBISSUE=3							               SET XOBISSUE=3
               GOTO CLSVALQ							               GOTO CLSVALQ
 +15       SET XOBOK=1								 +15       SET XOBOK=1
           SET XOBISSUE=0							           SET XOBISSUE=0
CLSVALQ   ;									CLSVALQ   ;
 +1        QUIT XOBOK								 +1        QUIT XOBOK
 +2       ;									 +2       ;
DEL       ; -- delete web service entry						DEL       ; -- delete web service entry
 +1        NEW XOBI,VALMY,Y,XOBDA						 +1        NEW XOBI,VALMY,Y,XOBDA
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4       ; -- quit if nothing selected						 +4       ; -- quit if nothing selected
 +5        IF XOBI'>0								 +5        IF XOBI'>0
               GOTO DELQ							               GOTO DELQ
 +6       ; -- display entry, ask if 'ok' and delete				 +6       ; -- display entry, ask if 'ok' and delete
 +7        SET XOBDA=+$GET(^TMP("XOB WEBSERVICES","IDX",$JOB,XOBI,XOBI))      |	 +7 
										XOBWUS1   7665     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           SET XOBDA=+$GET(^TMP("XOB WEBSERVICES","IDX",$JOB,XOBI,XOBI))
 +8        DO DISPLAY(XOBI,XOBDA)						 +8        DO DISPLAY(XOBI,XOBDA)
 +9        IF $ORDER(^XOB(18.12,"AB",XOBDA,""))]""				 +9        IF $ORDER(^XOB(18.12,"AB",XOBDA,""))]""
               Begin DoDot:1							               Begin DoDot:1
 +10               WRITE *7							 +10               WRITE *7
 +11               WRITE !,"    *********************************************	 +11               WRITE !,"    *********************************************
 +12               WRITE !,"    * ATTENTION: This web service is still author	 +12               WRITE !,"    * ATTENTION: This web service is still author
 +13               WRITE !,"    *            to 1 or more servers.           	 +13               WRITE !,"    *            to 1 or more servers.           
 +14               WRITE !,"    *********************************************	 +14               WRITE !,"    *********************************************
               End DoDot:1							               End DoDot:1
 +15       Begin DoDot:1							 +15       Begin DoDot:1
 +16           NEW DIR								 +16           NEW DIR
 +17           SET DIR("A")="Are you sure you want to delete entry"		 +17           SET DIR("A")="Are you sure you want to delete entry"
 +18           SET DIR("B")="NO"						 +18           SET DIR("B")="NO"
               SET DIR(0)="Y"							               SET DIR(0)="Y"
 +19           WRITE !								 +19           WRITE !
 +20           DO ^DIR								 +20           DO ^DIR
           End DoDot:1								           End DoDot:1
 +21       IF '$GET(Y)								 +21       IF '$GET(Y)
               Begin DoDot:1							               Begin DoDot:1
 +22               WRITE !!,"Deletion aborted."					 +22               WRITE !!,"Deletion aborted."
 +23               DO PAUSE^VALM1						 +23               DO PAUSE^VALM1
               End DoDot:1							               End DoDot:1
               GOTO DELQ							               GOTO DELQ
 +24      ; -- execute deletion							 +24      ; -- execute deletion
 +25       DO UNREG^XOBWLIB($PIECE(^XOB(18.02,XOBDA,0),"^"))			 +25       DO UNREG^XOBWLIB($PIECE(^XOB(18.02,XOBDA,0),"^"))
 +26       WRITE !!,"Entry has been deleted."					 +26       WRITE !!,"Entry has been deleted."
 +27       DO PAUSE^VALM1							 +27       DO PAUSE^VALM1
DELQ      ;									DELQ      ;
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;
DISPLAY(XOBI,DA) ; display web service informaton				DISPLAY(XOBI,DA) ; display web service informaton
 +1       ; input: XOBI == list entry number					 +1       ; input: XOBI == list entry number
 +2       ;        DA   == internal entry number in file 18.02			 +2       ;        DA   == internal entry number in file 18.02
 +3        NEW X,DIQ,XOBY,DR,DIC,XOBLINE,XOBDASH,XOBTYPE,XOBCMSG,XOBSRVDA,XOB	 +3        NEW X,DIQ,XOBY,DR,DIC,XOBLINE,XOBDASH,XOBTYPE,XOBCMSG,XOBSRVDA,XOB
 +4        SET $PIECE(XOBLINE,"=",$GET(IOM,80))=""				 +4        SET $PIECE(XOBLINE,"=",$GET(IOM,80))=""
 +5        SET $PIECE(XOBDASH,"-",$GET(IOM,80))=""				 +5        SET $PIECE(XOBDASH,"-",$GET(IOM,80))=""
 +6        DO CLEAR^VALM1							 +6        DO CLEAR^VALM1
 +7        WRITE !,XOBLINE							 +7        WRITE !,XOBLINE
 +8        IF $GET(XOBI)							 +8        IF $GET(XOBI)
               Begin DoDot:1							               Begin DoDot:1
 +9                WRITE !,@VALMAR@(XOBI,0)					 +9                WRITE !,@VALMAR@(XOBI,0)
 +10               WRITE !,XOBDASH						 +10               WRITE !,XOBDASH
               End DoDot:1							               End DoDot:1
 +11       SET DIC="^XOB(18.02,"						 +11       SET DIC="^XOB(18.02,"
 +12       SET DIQ="XOBY("							 +12       SET DIQ="XOBY("
 +13       SET DIQ(0)="E"							 +13       SET DIQ(0)="E"
 +14       SET DR=".01;.02;.03;100;200;201;"					 +14       SET DR=".01;.02;.03;100;200;201;"
 +15       DO EN^DIQ1								 +15       DO EN^DIQ1
 +16       SET XOBTYPE=$GET(XOBY(18.02,DA,.02,"E"))				 +16       SET XOBTYPE=$GET(XOBY(18.02,DA,.02,"E"))
 +17       WRITE !?5,"                Name: ",$GET(XOBY(18.02,DA,.01,"E"))	 +17       WRITE !?5,"                Name: ",$GET(XOBY(18.02,DA,.01,"E"))
 +18       WRITE !?5,"                Type: ",$GET(XOBY(18.02,DA,.02,"E"))	 +18       WRITE !?5,"                Type: ",$GET(XOBY(18.02,DA,.02,"E"))
 +19       WRITE !?5,"Registered Date/Time: ",$GET(XOBY(18.02,DA,.03,"E"))	 +19       WRITE !?5,"Registered Date/Time: ",$GET(XOBY(18.02,DA,.03,"E"))
 +20       IF XOBTYPE="SOAP"							 +20       IF XOBTYPE="SOAP"
               Begin DoDot:1							               Begin DoDot:1
 +21               WRITE !?5,"    Proxy Class Name: ",$GET(XOBY(18.02,DA,100,	 +21               WRITE !?5,"    Proxy Class Name: ",$GET(XOBY(18.02,DA,100,
 +22               SET XOBCMSG=$$CLSCHK(DA)					 +22               SET XOBCMSG=$$CLSCHK(DA)
 +23               IF XOBCMSG]""						 +23               IF XOBCMSG]""
                       WRITE !?5,"                      ",XOBCMSG		                       WRITE !?5,"                      ",XOBCMSG
               End DoDot:1							               End DoDot:1
 +24       WRITE !?5,"        Context Root: ",$GET(XOBY(18.02,DA,200,"E"))	 +24       WRITE !?5,"        Context Root: ",$GET(XOBY(18.02,DA,200,"E"))
 +25       WRITE !?4,"Availability Resource: "_$GET(XOBY(18.02,DA,201,"E"))   |	 +25 
										XOBWUS1   7665     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           WRITE !?4,"Availability Resource: "_$GET(XOBY(18.02,DA,201,"E"))
 +26       SET X="----------- Web servers '"_$GET(XOBY(18.02,DA,.01,"E"))_"' 	 +26       SET X="----------- Web servers '"_$GET(XOBY(18.02,DA,.01,"E"))_"' 
 +27       WRITE !!,X_$EXTRACT(XOBDASH,$LENGTH(X)+1,999)			 +27       WRITE !!,X_$EXTRACT(XOBDASH,$LENGTH(X)+1,999)
 +28       IF $ORDER(^XOB(18.12,"AB",DA,""))']""				 +28       IF $ORDER(^XOB(18.12,"AB",DA,""))']""
               Begin DoDot:1							               Begin DoDot:1
 +29               WRITE !!,"        <<<none>>>"				 +29               WRITE !!,"        <<<none>>>"
               End DoDot:1							               End DoDot:1
 +30      IF '$TEST								 +30      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +31               WRITE !							 +31               WRITE !
                   SET XOBSRVDA=0						                   SET XOBSRVDA=0
                   SET XOBMULDA=0						                   SET XOBMULDA=0
 +32               FOR 								 +32               FOR 
                       SET XOBSRVDA=$ORDER(^XOB(18.12,"AB",DA,XOBSRVDA))	                       SET XOBSRVDA=$ORDER(^XOB(18.12,"AB",DA,XOBSRVDA))
                       if XOBSRVDA']""					      |	                       IF XOBSRVDA']""
                           QUIT 						                           QUIT 
                       Begin DoDot:2						                       Begin DoDot:2
 +33                       FOR 							 +33                       FOR 
                               SET XOBMULDA=$ORDER(^XOB(18.12,"AB",DA,XOBSRVD	                               SET XOBMULDA=$ORDER(^XOB(18.12,"AB",DA,XOBSRVD
                               if XOBMULDA']""				      |	                               IF XOBMULDA']""
                                   QUIT 					                                   QUIT 
                               Begin DoDot:3					                               Begin DoDot:3
 +34                               WRITE !," - ",$PIECE($GET(^XOB(18.12,XOBSR	 +34                               WRITE !," - ",$PIECE($GET(^XOB(18.12,XOBSR
                               End DoDot:3					                               End DoDot:3
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +35       WRITE !!,XOBDASH,!							 +35       WRITE !!,XOBDASH,!
 +36       QUIT 								 +36       QUIT 
 +37      ;									 +37      ;
EXPAND    ; -- expand Protocol							EXPAND    ; -- expand Protocol
 +1        NEW XOBI,XOBY,VALMY							 +1        NEW XOBI,XOBY,VALMY
 +2        DO EN^VALM2(XQORNOD(0),"OS")						 +2        DO EN^VALM2(XQORNOD(0),"OS")
 +3        SET XOBI=+$ORDER(VALMY(""))						 +3        SET XOBI=+$ORDER(VALMY(""))
 +4        IF $GET(XOBI)							 +4        IF $GET(XOBI)
               Begin DoDot:1							               Begin DoDot:1
 +5                SET XOBY("HEADER",1)=""					 +5                SET XOBY("HEADER",1)=""
 +6                SET XOBY("HEADER",2)=@VALMAR@(XOBI,0)			 +6                SET XOBY("HEADER",2)=@VALMAR@(XOBI,0)
 +7                SET XOBY("TITLE")="Web Service Metadata Display"		 +7                SET XOBY("TITLE")="Web Service Metadata Display"
 +8                SET XOBY("BUILD CALLBACK")="DO BUILD^XOBWUS1("_+$GET(^TMP(	 +8                SET XOBY("BUILD CALLBACK")="DO BUILD^XOBWUS1("_+$GET(^TMP(
 +9                DO EN^XOBWUS2(.XOBY)						 +9                DO EN^XOBWUS2(.XOBY)
               End DoDot:1							               End DoDot:1
 +10       QUIT 								 +10       QUIT 
 +11      ;									 +11      ;
BUILD(XOBDA) ; -- build display array with WSDL content (callback)		BUILD(XOBDA) ; -- build display array with WSDL content (callback)
 +1        NEW DIQ,XOBY,DR,DIC,DA,XOBJ,XOBWSDL,XOBDOTS,X,XOBTYPE,XOBCMSG,XOBS	 +1        NEW DIQ,XOBY,DR,DIC,DA,XOBJ,XOBWSDL,XOBDOTS,X,XOBTYPE,XOBCMSG,XOBS
 +2        SET $PIECE(XOBDOTS,".",$GET(IOM,80))="."				 +2        SET $PIECE(XOBDOTS,".",$GET(IOM,80))="."
 +3        DO CLEAN^VALM10							 +3        DO CLEAN^VALM10
 +4        SET DIC="^XOB(18.02,"						 +4        SET DIC="^XOB(18.02,"
 +5        SET DIQ="XOBY("							 +5        SET DIQ="XOBY("
 +6        SET DIQ(0)="E"							 +6        SET DIQ(0)="E"
 +7        SET DR=".01;.02;.03;100;200;201;300"					 +7        SET DR=".01;.02;.03;100;200;201;300"
 +8        SET DA=$GET(XOBDA)							 +8        SET DA=$GET(XOBDA)
 +9        DO EN^DIQ1								 +9        DO EN^DIQ1
 +10       SET VALMCNT=0							 +10       SET VALMCNT=0
 +11       SET XOBTYPE=$GET(XOBY(18.02,DA,.02,"E"))				 +11       SET XOBTYPE=$GET(XOBY(18.02,DA,.02,"E"))
 +12       DO ADDLN("                     Name: "_$GET(XOBY(18.02,DA,.01,"E")	 +12       DO ADDLN("                     Name: "_$GET(XOBY(18.02,DA,.01,"E")
 +13       DO ADDLN("             Service Type: "_$GET(XOBY(18.02,DA,.02,"E")	 +13       DO ADDLN("             Service Type: "_$GET(XOBY(18.02,DA,.02,"E")
 +14       DO ADDLN("     Registered Date/Time: "_$GET(XOBY(18.02,DA,.03,"E")	 +14       DO ADDLN("     Registered Date/Time: "_$GET(XOBY(18.02,DA,.03,"E")
 +15       IF XOBTYPE="SOAP"							 +15       IF XOBTYPE="SOAP"
               Begin DoDot:1							               Begin DoDot:1
 +16               DO ADDLN("         Proxy Class Name: "_$GET(XOBY(18.02,DA,	 +16               DO ADDLN("         Proxy Class Name: "_$GET(XOBY(18.02,DA,
 +17               SET XOBCMSG=$$CLSCHK(DA)				      |	 +17 
										XOBWUS1   7665     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	                   SET XOBCMSG=$$CLSCHK(DA)
 +18               IF XOBCMSG]""						 +18               IF XOBCMSG]""
                       DO ADDLN("                           "_XOBCMSG)		                       DO ADDLN("                           "_XOBCMSG)
               End DoDot:1							               End DoDot:1
 +19       DO ADDLN("             Context Root: "_$GET(XOBY(18.02,DA,200,"E")	 +19       DO ADDLN("             Context Root: "_$GET(XOBY(18.02,DA,200,"E")
 +20       DO ADDLN("    Availability Resource: "_$GET(XOBY(18.02,DA,201,"E")	 +20       DO ADDLN("    Availability Resource: "_$GET(XOBY(18.02,DA,201,"E")
 +21       SET X="............Web servers '"_$GET(XOBY(18.02,DA,.01,"E"))_"' 	 +21       SET X="............Web servers '"_$GET(XOBY(18.02,DA,.01,"E"))_"' 
 +22       DO ADDLN(" ")							 +22       DO ADDLN(" ")
           DO ADDLN(X_$EXTRACT(XOBDOTS,$LENGTH(X)+1,999))			           DO ADDLN(X_$EXTRACT(XOBDOTS,$LENGTH(X)+1,999))
 +23       IF $ORDER(^XOB(18.12,"AB",XOBDA,""))']""				 +23       IF $ORDER(^XOB(18.12,"AB",XOBDA,""))']""
               Begin DoDot:1							               Begin DoDot:1
 +24               DO ADDLN(" ")						 +24               DO ADDLN(" ")
                   DO ADDLN("        <<<none>>>")				                   DO ADDLN("        <<<none>>>")
               End DoDot:1							               End DoDot:1
 +25      IF '$TEST								 +25      IF '$TEST
               Begin DoDot:1							               Begin DoDot:1
 +26               DO ADDLN(" ")						 +26               DO ADDLN(" ")
                   SET XOBSRVDA=0						                   SET XOBSRVDA=0
                   SET XOBMULDA=0						                   SET XOBMULDA=0
 +27               FOR 								 +27               FOR 
                       SET XOBSRVDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBSRVDA))	                       SET XOBSRVDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBSRVDA))
                       if XOBSRVDA']""					      |	                       IF XOBSRVDA']""
                           QUIT 						                           QUIT 
                       Begin DoDot:2						                       Begin DoDot:2
 +28                       FOR 							 +28                       FOR 
                               SET XOBMULDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBS	                               SET XOBMULDA=$ORDER(^XOB(18.12,"AB",XOBDA,XOBS
                               if XOBMULDA']""				      |	                               IF XOBMULDA']""
                                   QUIT 					                                   QUIT 
                               Begin DoDot:3					                               Begin DoDot:3
 +29                               DO ADDLN(" - "_$PIECE($GET(^XOB(18.12,XOBS	 +29                               DO ADDLN(" - "_$PIECE($GET(^XOB(18.12,XOBS
                               End DoDot:3					                               End DoDot:3
                       End DoDot:2						                       End DoDot:2
               End DoDot:1							               End DoDot:1
 +30       DO ADDLN(" ")							 +30       DO ADDLN(" ")
 +31      ;									 +31      ;
 +32      ; -- no need to do WSDL display info for REST services		 +32      ; -- no need to do WSDL display info for REST services
 +33       IF XOBTYPE="REST"							 +33       IF XOBTYPE="REST"
               GOTO BUILDQ							               GOTO BUILDQ
 +34      ;									 +34      ;
 +35      ; -- build WSDL lines							 +35      ; -- build WSDL lines
 +36       SET X="............WSDL Document:"					 +36       SET X="............WSDL Document:"
 +37       DO ADDLN(X_$EXTRACT(XOBDOTS,$LENGTH(X)+1,999))			 +37       DO ADDLN(X_$EXTRACT(XOBDOTS,$LENGTH(X)+1,999))
 +38       SET XOBJ=0								 +38       SET XOBJ=0
 +39       FOR 									 +39       FOR 
               SET XOBJ=$ORDER(XOBY(18.02,DA,300,XOBJ))				               SET XOBJ=$ORDER(XOBY(18.02,DA,300,XOBJ))
               if XOBJ=""						      |	               IF XOBJ=""
                   QUIT 							                   QUIT 
               Begin DoDot:1							               Begin DoDot:1
 +40               DO ADDLN($GET(XOBY(18.02,DA,300,XOBJ)))			 +40               DO ADDLN($GET(XOBY(18.02,DA,300,XOBJ)))
 +41               SET XOBWSDL=1						 +41               SET XOBWSDL=1
               End DoDot:1							               End DoDot:1
 +42      ;									 +42      ;
 +43       IF '$GET(XOBWSDL)							 +43       IF '$GET(XOBWSDL)
               Begin DoDot:1							               Begin DoDot:1
 +44               DO ADDLN("")							 +44               DO ADDLN("")
 +45               DO ADDLN("        <<< No WSDL document available for this 	 +45               DO ADDLN("        <<< No WSDL document available for this 
 +46               DO ADDLN("")							 +46               DO ADDLN("")
               End DoDot:1							               End DoDot:1
BUILDQ    ;									BUILDQ    ;
 +1        DO ADDLN(XOBDOTS)							 +1        DO ADDLN(XOBDOTS)
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
ADDLN(XOBTEXT) ; -- add line utility						ADDLN(XOBTEXT) ; -- add line utility
 +1        SET VALMCNT=VALMCNT+1					      |	 +1 
										XOBWUS1   7665     printed  Apr 10, 2018@18:46:17                            
									      >
									      >	           SET VALMCNT=VALMCNT+1
 +2        DO SET^VALM10(VALMCNT,XOBTEXT)					 +2        DO SET^VALM10(VALMCNT,XOBTEXT)
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;


*****   INDEX OF XOBWUS1   *****						*****   INDEX OF XOBWUS1   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   D            ADD+1~,ADD+3*							   D            ADD+1~,ADD+3*
   DA           DOEDIT~,DISPLAY~,DISPLAY+16,DISPLAY+17,DISPLAY+18,DISPLAY+19  |	   DA           DOEDIT~,DISPLAY~,DISPLAY+16,DISPLAY+17,DISPLAY+18,DISPLAY+19,
                DISPLAY+21,DISPLAY+22,DISPLAY+24,DISPLAY+25,DISPLAY+26	      |	                DISPLAY+28,DISPLAY+32,DISPLAY+33,BUILD+1~,BUILD+8*,BUILD+11,B
                DISPLAY+28,DISPLAY+32,DISPLAY+33,BUILD+1~,BUILD+8*,BUILD+11   |	                BUILD+20
                BUILD+12,BUILD+13,BUILD+14,BUILD+16,BUILD+17,BUILD+19,BUILD+2 <
                BUILD+21,BUILD+39,BUILD+40					                BUILD+21,BUILD+39,BUILD+40
   DIC          ADD+1~,ADD+3*!,DISPLAY+3~,DISPLAY+11*,BUILD+1~,BUILD+4*		   DIC          ADD+1~,ADD+3*!,DISPLAY+3~,DISPLAY+11*,BUILD+1~,BUILD+4*
   DIC(0        ADD+3*								   DIC(0        ADD+3*
   DIE          DOEDIT+1~,DOEDIT+2*						   DIE          DOEDIT+1~,DOEDIT+2*
   DIQ          DISPLAY+3~,DISPLAY+12*,BUILD+1~,BUILD+5*			   DIQ          DISPLAY+3~,DISPLAY+12*,BUILD+1~,BUILD+5*
   DIQ(0        DISPLAY+13*,BUILD+6*						   DIQ(0        DISPLAY+13*,BUILD+6*
   DIR          DEL+16~								   DIR          DEL+16~
   DIR("A"      DEL+17*								   DIR("A"      DEL+17*
   DIR("B"      DEL+18*								   DIR("B"      DEL+18*
   DIR(0        DEL+18*								   DIR(0        DEL+18*
   DR           DOEDIT+1~,DOEDIT+2*,DISPLAY+3~,DISPLAY+14*,BUILD+1~,BUILD+7*	   DR           DOEDIT+1~,DOEDIT+2*,DISPLAY+3~,DISPLAY+14*,BUILD+1~,BUILD+7*
   IOM          DISPLAY+4,DISPLAY+5,BUILD+2					   IOM          DISPLAY+4,DISPLAY+5,BUILD+2
   U            ADD+5,ADD+9,DISPLAY+34,BUILD+29					   U            ADD+5,ADD+9,DISPLAY+34,BUILD+29
>> VALMAR       DISPLAY+9,EXPAND+6						>> VALMAR       DISPLAY+9,EXPAND+6
>> VALMCNT      BUILD+10*,ADDLN+1*,ADDLN+2					>> VALMCNT      BUILD+10*,ADDLN+1*,ADDLN+2
   VALMY        EDIT+1~,DEL+1~,EXPAND+1~					   VALMY        EDIT+1~,DEL+1~,EXPAND+1~
   VALMY(""     EDIT+3,DEL+3,EXPAND+3						   VALMY(""     EDIT+3,DEL+3,EXPAND+3
   X            DISPLAY+3~,DISPLAY+26*,DISPLAY+27,BUILD+1~,BUILD+21*,BUILD+22 |	   X            DISPLAY+3~,DISPLAY+26*,DISPLAY+27,BUILD+1~,BUILD+21*,BUILD+22
                BUILD+36*,BUILD+37					      |	   XOBCLASS     POSTEDIT+1~,POSTEDIT+2,POSTEDIT+5,POSTEDIT+6,CLSCHK+1~,CLSCHK
   XOBCLASS     POSTEDIT+1~,POSTEDIT+2,POSTEDIT+5,POSTEDIT+6,CLSCHK+1~,CLSCHK <
                CLSVAL~,CLSVAL+7*,CLSVAL+9,CLSVAL+10			      <
   XOBCMSG      DISPLAY+3~,DISPLAY+22*,DISPLAY+23,BUILD+1~,BUILD+17*,BUILD+18	   XOBCMSG      DISPLAY+3~,DISPLAY+22*,DISPLAY+23,BUILD+1~,BUILD+17*,BUILD+18
   XOBDA        EDIT+1~,EDIT+5*,EDIT+6,EDIT+7,EDIT+8,POSTEDIT~,POSTEDIT+2     |	   XOBDA        EDIT+1~,EDIT+5*,EDIT+6,EDIT+7,EDIT+8,POSTEDIT~,POSTEDIT+2,CLS
                CLSCHK~,CLSCHK+3,CLSVAL~,CLSVAL+3,CLSVAL+7,DEL+1~,DEL+7*,DEL+ |	                DEL+8,DEL+9,DEL+25,BUILD~,BUILD+8,BUILD+23,BUILD+27,BUILD+28
                DEL+9,DEL+25,BUILD~,BUILD+8,BUILD+23,BUILD+27,BUILD+28	      <
   XOBDA0       CLSVAL+1~,CLSVAL+3*,CLSVAL+5					   XOBDA0       CLSVAL+1~,CLSVAL+3*,CLSVAL+5
   XOBDASH      DISPLAY+3~,DISPLAY+5*,DISPLAY+10,DISPLAY+27,DISPLAY+35		   XOBDASH      DISPLAY+3~,DISPLAY+5*,DISPLAY+10,DISPLAY+27,DISPLAY+35
   XOBDOTS      BUILD+1~,BUILD+2*,BUILD+22,BUILD+37,BUILDQ+1			   XOBDOTS      BUILD+1~,BUILD+2*,BUILD+22,BUILD+37,BUILDQ+1
   XOBI         EDIT+1~,EDIT+3*,EDIT+4,EDIT+5,EDIT+6,DEL+1~,DEL+3*,DEL+5,DEL+ |	   XOBI         EDIT+1~,EDIT+3*,EDIT+4,EDIT+5,EDIT+6,DEL+1~,DEL+3*,DEL+5,DEL+
                DEL+8,DISPLAY~,DISPLAY+8,DISPLAY+9,EXPAND+1~,EXPAND+3*,EXPAND |	                EXPAND+3*,EXPAND+4,EXPAND+6,EXPAND+8
                EXPAND+6,EXPAND+8					      |	   XOBISSUE     POSTEDIT+1~,POSTEDIT+2,POSTEDIT+4,POSTEDIT+5,POSTEDIT+6,CLSCH
   XOBISSUE     POSTEDIT+1~,POSTEDIT+2,POSTEDIT+4,POSTEDIT+5,POSTEDIT+6	      |	                CLSVAL+2*,CLSVAL+9*,CLSVAL+12*,CLSVAL+14*,CLSVAL+15*
                CLSCHK+1~,CLSCHK+3,CLSCHK+5,CLSCHK+6,CLSCHK+7,CLSVAL~,CLSVAL+ <
                CLSVAL+9*,CLSVAL+12*,CLSVAL+14*,CLSVAL+15*		      <
   XOBJ         BUILD+1~,BUILD+38*,BUILD+39*,BUILD+40				   XOBJ         BUILD+1~,BUILD+38*,BUILD+39*,BUILD+40
   XOBLINE      DISPLAY+3~,DISPLAY+4*,DISPLAY+7					   XOBLINE      DISPLAY+3~,DISPLAY+4*,DISPLAY+7
   XOBMSG       CLSCHK+1~,CLSCHK+2*,CLSCHK+5*,CLSCHK+6*,CLSCHK+7*,CLSCHK+8	   XOBMSG       CLSCHK+1~,CLSCHK+2*,CLSCHK+5*,CLSCHK+6*,CLSCHK+7*,CLSCHK+8
   XOBMULDA     DISPLAY+3~,DISPLAY+31*,DISPLAY+33*,BUILD+1~,BUILD+26*,BUILD+2	   XOBMULDA     DISPLAY+3~,DISPLAY+31*,DISPLAY+33*,BUILD+1~,BUILD+26*,BUILD+2
   XOBOK        CLSVAL+1~,CLSVAL+2*,CLSVAL+5*,CLSVAL+9*,CLSVAL+12*,CLSVAL+14* |	   XOBOK        CLSVAL+1~,CLSVAL+2*,CLSVAL+5*,CLSVAL+9*,CLSVAL+12*,CLSVAL+14*
                CLSVAL+15*,CLSVALQ+1					      |	   XOBSRVDA     DISPLAY+3~,DISPLAY+31*,DISPLAY+32*,DISPLAY+33,DISPLAY+34,BUIL
   XOBSRVDA     DISPLAY+3~,DISPLAY+31*,DISPLAY+32*,DISPLAY+33,DISPLAY+34      <
                BUILD+1~,BUILD+26*,BUILD+27*,BUILD+28,BUILD+29		      <
   XOBSTAT      POSTEDIT+1~,POSTEDIT+2*,POSTEDIT+3,CLSCHK+1~,CLSCHK+3*,CLSCHK	   XOBSTAT      POSTEDIT+1~,POSTEDIT+2*,POSTEDIT+3,CLSCHK+1~,CLSCHK+3*,CLSCHK
   XOBTEXT      ADDLN~,ADDLN+2							   XOBTEXT      ADDLN~,ADDLN+2
   XOBTYPE      DISPLAY+3~,DISPLAY+16*,DISPLAY+20,BUILD+1~,BUILD+11*,BUILD+15 |	   XOBTYPE      DISPLAY+3~,DISPLAY+16*,DISPLAY+20,BUILD+1~,BUILD+11*,BUILD+15
                BUILD+33						      <
   XOBWCDEF     CLSVAL+1~,CLSVAL+10*,CLSVAL+12					   XOBWCDEF     CLSVAL+1~,CLSVAL+10*,CLSVAL+12
   XOBWSDL      BUILD+1~,BUILD+41*,BUILD+43					   XOBWSDL      BUILD+1~,BUILD+41*,BUILD+43
   XOBY         ADD+1~,ADD+4*,ADD+5,ADD+6,ADD+9,ADD+10,DISPLAY+3~,EXPAND+1~   |	   XOBY         ADD+1~,ADD+4*,ADD+5,ADD+6,ADD+9,ADD+10,DISPLAY+3~,EXPAND+1~,E
                EXPAND+9,BUILD+1~					      |	   XOBY(        DISPLAY+16,DISPLAY+17,DISPLAY+18,DISPLAY+19,DISPLAY+21,DISPLA
   XOBY(        DISPLAY+16,DISPLAY+17,DISPLAY+18,DISPLAY+19,DISPLAY+21	      <
                DISPLAY+24,DISPLAY+25,DISPLAY+26,BUILD+11,BUILD+12,BUILD+13   <
                BUILD+14,BUILD+16,BUILD+19,BUILD+20,BUILD+21,BUILD+39,BUILD+4	                BUILD+14,BUILD+16,BUILD+19,BUILD+20,BUILD+21,BUILD+39,BUILD+4
   XOBY("BUILD CALLBACK" 							   XOBY("BUILD CALLBACK" 
                EXPAND+8*							                EXPAND+8*
										
									      >	*****   INDEX OF XOBWUS1   *****                                             
									      >
									      >	Local Variables      Line Occurrences   ( >> not killed explicitly)
									      >	                                        ( * Changed  ! Killed  ~ Newed)
   XOBY("HEADER" 								   XOBY("HEADER" 
                EXPAND+5*,EXPAND+6*						                EXPAND+5*,EXPAND+6*
   XOBY("TITLE" EXPAND+7*							   XOBY("TITLE" EXPAND+7*
>> XQORNOD(0    EDIT+2,DEL+2,EXPAND+2						>> XQORNOD(0    EDIT+2,DEL+2,EXPAND+2
   Y            ADD+1~,ADD+4,DEL+1~,DEL+21					   Y            ADD+1~,ADD+4,DEL+1~,DEL+21

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^TMP("XOB WEBSERVICES"							   ^TMP("XOB WEBSERVICES"
                       EDIT+5,DEL+7,EXPAND+8					                       EDIT+5,DEL+7,EXPAND+8
   ^XOB(18.02          CLSVAL+3,CLSVAL+7,DEL+25					   ^XOB(18.02          CLSVAL+3,CLSVAL+7,DEL+25
   ^XOB(18.12          DEL+9,DISPLAY+28,DISPLAY+32,DISPLAY+33,DISPLAY+34      |	   ^XOB(18.12          DEL+9,DISPLAY+28,DISPLAY+32,DISPLAY+33,DISPLAY+34,BUIL
                       BUILD+23,BUILD+27,BUILD+28,BUILD+29		      <

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   %Dictionary.ClassDefinition     CLSVAL+10					   %Dictionary.ClassDefinition     CLSVAL+10
   XOBWCDEF.Super                  CLSVAL+14					   XOBWCDEF.Super                  CLSVAL+14

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   $$CLSCHK     DISPLAY+22,BUILD+17						   $$CLSCHK     DISPLAY+22,BUILD+17
   $$CLSVAL     POSTEDIT+2,CLSCHK+3						   $$CLSVAL     POSTEDIT+2,CLSCHK+3
   ADDLN        BUILD+12,BUILD+13,BUILD+14,BUILD+16,BUILD+18,BUILD+19,BUILD+2 |	   ADDLN        BUILD+12,BUILD+13,BUILD+14,BUILD+16,BUILD+18,BUILD+19,BUILD+2
                BUILD+22,BUILD+24,BUILD+26,BUILD+29,BUILD+30,BUILD+37,BUILD+4 |	                BUILD+37,BUILD+40,BUILD+44,BUILD+45,BUILD+46,BUILDQ+1
                BUILD+44,BUILD+45,BUILD+46,BUILDQ+1			      <
   ADDQ         ADD+5								   ADDQ         ADD+5
   BUILDQ       BUILD+33							   BUILDQ       BUILD+33
   CLSVALQ      CLSVAL+5,CLSVAL+9,CLSVAL+12,CLSVAL+14				   CLSVALQ      CLSVAL+5,CLSVAL+9,CLSVAL+12,CLSVAL+14
   DELQ         DEL+5,DEL+21							   DELQ         DEL+5,DEL+21
   DISPLAY      ADD+6,EDIT+6,DEL+8						   DISPLAY      ADD+6,EDIT+6,DEL+8
   DOEDIT       ADD+9,EDIT+7							   DOEDIT       ADD+9,EDIT+7
   POSTEDIT     ADD+10,EDIT+8							   POSTEDIT     ADD+10,EDIT+8

External References								External References
   IX^DIC              ADD+3							   IX^DIC              ADD+3
   ^DIE                DOEDIT+2							   ^DIE                DOEDIT+2
   EN^DIQ1             DISPLAY+15,BUILD+9					   EN^DIQ1             DISPLAY+15,BUILD+9
   ^DIR                DEL+20							   ^DIR                DEL+20
   CLEAR^VALM1         DISPLAY+6						   CLEAR^VALM1         DISPLAY+6
   PAUSE^VALM1         ADD+8,POSTEDIT+7,DEL+23,DEL+27				   PAUSE^VALM1         ADD+8,POSTEDIT+7,DEL+23,DEL+27
   CLEAN^VALM10        BUILD+3							   CLEAN^VALM10        BUILD+3
   SET^VALM10          ADDLN+2							   SET^VALM10          ADDLN+2
   EN^VALM2            EDIT+2,DEL+2,EXPAND+2					   EN^VALM2            EDIT+2,DEL+2,EXPAND+2
   UNREG^XOBWLIB       DEL+25							   UNREG^XOBWLIB       DEL+25
   EN^XOBWUS2          EXPAND+9							   EN^XOBWUS2          EXPAND+9

*****   END   *****								*****   END   *****
									      |	
										XOBWUS2   925     printed  Apr 10, 2018@18:46:17                             
XOBWUS2   925     printed  Mar 13, 2018@10:55:07                       Page 1 <

XOBWUS2   ;ALB/MJK - HWSC :: Generic Info Display Tool ; 09/13/10 4:00pm	XOBWUS2   ;ALB/MJK - HWSC :: Generic Info Display Tool ; 09/13/10 4:00pm
 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31		 +1       ;;1.0;HwscWebServiceClient;;September 13, 2010;Build 31
 +2       ;									 +2       ;
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
EN(XOBY)  ; -- main entry point for XOBW WEB SERVICE DISPLAY			EN(XOBY)  ; -- main entry point for XOBW WEB SERVICE DISPLAY
 +1       ;   Input Array Subscripts:						 +1       ;   Input Array Subscripts:
 +2       ;      XOBY("TITLE")          = title for List Manager		 +2       ;      XOBY("TITLE")          = title for List Manager
 +3       ;      XOBY("HEADER")         = Header line				 +3       ;      XOBY("HEADER")         = Header line
 +4       ;      XOBY("BUILD CALLBACK") = code to build list to display		 +4       ;      XOBY("BUILD CALLBACK") = code to build list to display
 +5       ;         example: XOBY("BUILD CALLBACK"="DO BUILD^XOBWUS1(2)"	 +5       ;         example: XOBY("BUILD CALLBACK"="DO BUILD^XOBWUS1(2)"
 +6       ;      								 +6       ;      
 +7        DO EN^VALM("XOBW WEB SERVICE DISPLAY")				 +7        DO EN^VALM("XOBW WEB SERVICE DISPLAY")
 +8        QUIT 								 +8        QUIT 
 +9       ;									 +9       ;
HDR       ; -- header code							HDR       ; -- header code
 +1        SET VALMHDR(1)=$GET(XOBY("HEADER",1))				 +1        SET VALMHDR(1)=$GET(XOBY("HEADER",1))
 +2        SET VALMHDR(2)=$GET(XOBY("HEADER",2))				 +2        SET VALMHDR(2)=$GET(XOBY("HEADER",2))
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
INIT      ; -- init variables and list array					INIT      ; -- init variables and list array
 +1        SET VALM("TITLE")=$GET(XOBY("TITLE"))				 +1        SET VALM("TITLE")=$GET(XOBY("TITLE"))
 +2        IF $GET(XOBY("BUILD CALLBACK"))]""					 +2        IF $GET(XOBY("BUILD CALLBACK"))]""
               XECUTE XOBY("BUILD CALLBACK")					               XECUTE XOBY("BUILD CALLBACK")
 +3        QUIT 								 +3        QUIT 
 +4       ;									 +4       ;
HELP      ; -- help code							HELP      ; -- help code
 +1        SET X="?"								 +1        SET X="?"
           DO DISP^XQORM1							           DO DISP^XQORM1
           WRITE !!								           WRITE !!
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
EXIT      ; -- exit code							EXIT      ; -- exit code
 +1        DO CLEAN^VALM10							 +1        DO CLEAN^VALM10
 +2        QUIT 								 +2        QUIT 
 +3       ;									 +3       ;
EXPND     ; -- expand code							EXPND     ; -- expand code
 +1        QUIT 								 +1        QUIT 
 +2       ;									 +2       ;


*****   INDEX OF XOBWUS2   *****						*****   INDEX OF XOBWUS2   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
>> VALM("TITLE" INIT+1*								>> VALM("TITLE" INIT+1*
>> VALMHDR(1    HDR+1*								>> VALMHDR(1    HDR+1*
>> VALMHDR(2    HDR+2*								>> VALMHDR(2    HDR+2*
>> X            HELP+1*								>> X            HELP+1*
   XOBY         EN~								   XOBY         EN~
   XOBY("BUILD CALLBACK" 							   XOBY("BUILD CALLBACK" 
                INIT+2								                INIT+2
   XOBY("HEADER" 								   XOBY("HEADER" 
                HDR+1,HDR+2							                HDR+1,HDR+2
   XOBY("TITLE" INIT+1								   XOBY("TITLE" INIT+1

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   NONE										   NONE
										
									      >	*****   INDEX OF XOBWUS2   *****                                             

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   NONE										   NONE

External References								External References
   EN^VALM             EN+7							   EN^VALM             EN+7
   CLEAN^VALM10        EXIT+1							   CLEAN^VALM10        EXIT+1
   DISP^XQORM1         HELP+1							   DISP^XQORM1         HELP+1

*****   END   *****								*****   END   *****
									      |	
										|dd18.02   447     printed  Apr 10, 2018@18:46:17                            
|dd18.02   629     printed  Mar 13, 2018@10:55:07                      Page 1 <

|dd18.02  ;DD of the WEB SERVICE file.						|dd18.02  ;DD of the WEB SERVICE file.
IXPRIMARYSL ; SET LOGIC							      <
 +1        SET ^XOB(18.02,"PRIMARY",X,DA)=""				      <
IXPRIMARYKL ; KILL LOGIC						      <
 +1        KILL ^XOB(18.02,"PRIMARY",X,DA)				      <
IXPRIMARYKEIC ; KILL ENTIRE INDEX CODE					      <
 +1        KILL ^XOB(18.02,"PRIMARY")					      <
.01       ; NAME								.01       ; NAME
 +1        if $LENGTH(X)>30!(X?.N)!($LENGTH(X)<3)!'(X'?1P.E)		      |	 +1        IF $LENGTH(X)>30!(X?.N)!($LENGTH(X)<3)!'(X'?1P.E)
               KILL X								               KILL X
.01XRF1S  ; SET LOGIC FOR 'B' XREF						.01XRF1S  ; SET LOGIC FOR 'B' XREF
 +1        SET ^XOB(18.02,"B",$EXTRACT(X,1,30),DA)=""				 +1        SET ^XOB(18.02,"B",$EXTRACT(X,1,30),DA)=""
.01XRF1K  ; KILL LOGIC FOR 'B' XREF						.01XRF1K  ; KILL LOGIC FOR 'B' XREF
 +1        KILL ^XOB(18.02,"B",$EXTRACT(X,1,30),DA)				 +1        KILL ^XOB(18.02,"B",$EXTRACT(X,1,30),DA)
.03       ; DATE REGISTERED							.03       ; DATE REGISTERED
 +1        SET %DT="ESTXR"							 +1        SET %DT="ESTXR"
           DO ^%DT								           DO ^%DT
           SET X=Y								           SET X=Y
           if X<1							      |	           IF X<1
               KILL X								               KILL X
100       ; PROXY CLASS NAME							100       ; PROXY CLASS NAME
 +1        if $LENGTH(X)>245!($LENGTH(X)<3)				      |	 +1        IF $LENGTH(X)>245!($LENGTH(X)<3)
               KILL X								               KILL X
200       ; CONTEXT ROOT							200       ; CONTEXT ROOT
 +1        if $LENGTH(X)>245!($LENGTH(X)<1)				      |	 +1        IF $LENGTH(X)>245!($LENGTH(X)<1)
               KILL X								               KILL X
201       ; AVAILABILITY RESOURCE						201       ; AVAILABILITY RESOURCE
 +1        if $LENGTH(X)>245!($LENGTH(X)<1)				      |	 +1        IF $LENGTH(X)>245!($LENGTH(X)<1)
               KILL X								               KILL X


*****   INDEX OF |dd18.02   *****						*****   INDEX OF |dd18.02   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
>> %DT          .03+1*								>> %DT          .03+1*
>> DA           IXPRIMARYSL+1,IXPRIMARYKL+1,.01XRF1S+1,.01XRF1K+1	      |	>> DA           .01XRF1S+1,.01XRF1K+1
   X            IXPRIMARYSL+1,IXPRIMARYKL+1,.01+1!,.01XRF1S+1,.01XRF1K+1      |	   X            .01+1!,.01XRF1S+1,.01XRF1K+1,.03+1*!,100+1!,200+1!,201+1!
                .03+1*!,100+1!,200+1!,201+1!				      <
>> Y            .03+1								>> Y            .03+1

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^XOB(18.02          IXPRIMARYSL+1*,IXPRIMARYKL+1!,IXPRIMARYKEIC+1!	      |	   ^XOB(18.02          .01XRF1S+1*,.01XRF1K+1!
                       .01XRF1S+1*,.01XRF1K+1!				      <

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   NONE										   NONE

External References								External References
   ^%DT                .03+1							   ^%DT                .03+1

*****   END   *****								*****   END   *****
									      |	
										|dd18.022   70     printed  Apr 10, 2018@18:46:17                            
|dd18.022   70     printed  Mar 13, 2018@10:55:07                      Page 2 <

|dd18.022 ;DD of the WSDL sub-file of the WEB SERVICE (#18.02) file.		|dd18.022 ;DD of the WSDL sub-file of the WEB SERVICE (#18.02) file.


*****   INDEX OF |dd18.022   *****						*****   INDEX OF |dd18.022   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   NONE										   NONE

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   NONE										   NONE

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   NONE										   NONE

External References								External References
   NONE										   NONE

*****   END   *****								*****   END   *****
									      |	
										|dd18.12   1270     printed  Apr 10, 2018@18:46:17                           
|dd18.12   1452     printed  Mar 13, 2018@10:55:07                     Page 2 <

|dd18.12  ;DD of the WEB SERVER file.						|dd18.12  ;DD of the WEB SERVER file.
IXPRIMARYSL ; SET LOGIC							      <
 +1        SET ^XOB(18.12,"PRIMARY",X,DA)=""				      <
IXPRIMARYKL ; KILL LOGIC						      <
 +1        KILL ^XOB(18.12,"PRIMARY",X,DA)				      <
IXPRIMARYKEIC ; KILL ENTIRE INDEX CODE					      <
 +1        KILL ^XOB(18.12,"PRIMARY")					      <
.01       ; NAME								.01       ; NAME
 +1        if $LENGTH(X)>30!($LENGTH(X)<3)!'(X'?1P.E)			      |	 +1        IF $LENGTH(X)>30!($LENGTH(X)<3)!'(X'?1P.E)
               KILL X								               KILL X
.01XRF1S  ; SET LOGIC FOR 'B' XREF						.01XRF1S  ; SET LOGIC FOR 'B' XREF
 +1        SET ^XOB(18.12,"B",$EXTRACT(X,1,30),DA)=""				 +1        SET ^XOB(18.12,"B",$EXTRACT(X,1,30),DA)=""
.01XRF1K  ; KILL LOGIC FOR 'B' XREF						.01XRF1K  ; KILL LOGIC FOR 'B' XREF
 +1        KILL ^XOB(18.12,"B",$EXTRACT(X,1,30),DA)				 +1        KILL ^XOB(18.12,"B",$EXTRACT(X,1,30),DA)
.03       ; PORT								.03       ; PORT
 +1        if +X'=X!(X>64000)!(X<1)!(X?.E1"."1N.N)			      |	 +1        IF +X'=X!(X>64000)!(X<1)!(X?.E1"."1N.N)
               KILL X								               KILL X
.04       ; SERVER								.04       ; SERVER
 +1        if $LENGTH(X)>60!($LENGTH(X)<3)				      |	 +1        IF $LENGTH(X)>60!($LENGTH(X)<3)
               KILL X								               KILL X
.07       ; DEFAULT HTTP TIMEOUT						.07       ; DEFAULT HTTP TIMEOUT
 +1        if +X'=X!(X>7200)!(X<5)!(X?.E1"."1.N)			      |	 +1        IF +X'=X!(X>7200)!(X<5)!(X?.E1"."1.N)
               KILL X								               KILL X
1.02      ; Want to edit PASSWORD (Y/N)						1.02      ; Want to edit PASSWORD (Y/N)
 +1        DO EDIT^XOBWPWD							 +1        DO EDIT^XOBWPWD
1.03      ; DATE PASSWORD LAST CHANGED						1.03      ; DATE PASSWORD LAST CHANGED
 +1        SET %DT="ESTX"							 +1        SET %DT="ESTX"
           DO ^%DT								           DO ^%DT
           SET X=Y								           SET X=Y
           if Y<1							      |	           IF Y<1
               KILL X								               KILL X
3.02      ; SSL CONFIGURATION							3.02      ; SSL CONFIGURATION
 +1        if $LENGTH(X)>40!($LENGTH(X)<1)				      |	 +1        IF $LENGTH(X)>40!($LENGTH(X)<1)
               KILL X								               KILL X
           IF $DATA(X)								           IF $DATA(X)
               IF '$$CHKNAME^XOBWSSL(X)						               IF '$$CHKNAME^XOBWSSL(X)
                   KILL X							                   KILL X
3.02HELP  ; EXECUTABLE HELP CODE						3.02HELP  ; EXECUTABLE HELP CODE
 +1        DO DISPLAY^XOBWSSL							 +1        DO DISPLAY^XOBWSSL
3.03      ; SSL PORT								3.03      ; SSL PORT
 +1        if +X'=X!(X>64000)!(X<1)!(X?.E1"."1N.N)			      |	 +1        IF +X'=X!(X>64000)!(X<1)!(X?.E1"."1N.N)
               KILL X								               KILL X
200       ; USERNAME								200       ; USERNAME
 +1        if $LENGTH(X)>50!($LENGTH(X)<3)				      |	 +1        IF $LENGTH(X)>50!($LENGTH(X)<3)
               KILL X								               KILL X
300       ; PASSWORD								300       ; PASSWORD
 +1        if $LENGTH(X)>50!($LENGTH(X)<1)				      |	 +1        IF $LENGTH(X)>50!($LENGTH(X)<1)
               KILL X								               KILL X
300OT     ; OUTPUT TRANSFORM CODE						300OT     ; OUTPUT TRANSFORM CODE
 +1        SET Y(0)=Y								 +1        SET Y(0)=Y
           SET Y(0)=Y								           SET Y(0)=Y
           SET Y="<Hidden>"							           SET Y="<Hidden>"
300XRF1S  ; SET LOGIC FOR '1' XREF						300XRF1S  ; SET LOGIC FOR '1' XREF
 +1        KILL DIV								 +1        KILL DIV
           SET DIV=X								           SET DIV=X
           SET D0=DA								           SET D0=DA
           SET DIV(0)=D0							           SET DIV(0)=D0
           SET Y(1)=$SELECT($DATA(^XOB(18.12,D0,1)):^(1),1:"")			           SET Y(1)=$SELECT($DATA(^XOB(18.12,D0,1)):^(1),1:"")
           SET X=$PIECE(Y(1),U,3)						           SET X=$PIECE(Y(1),U,3)
           SET X=X								           SET X=X
           SET DIU=X								           SET DIU=X
           KILL Y								           KILL Y
           SET X=DIV								           SET X=DIV
           SET %=$PIECE($HOROLOG,",",2)						           SET %=$PIECE($HOROLOG,",",2)
           SET X=DT_(%\60#60/100+(%\3600)+(%#60/10000)/100)			           SET X=DT_(%\60#60/100+(%\3600)+(%#60/10000)/100)
           XECUTE ^DD(18.12,300,1,1,1.4)					           XECUTE ^DD(18.12,300,1,1,1.4)
300XRF1n1.4 ; SET LOGIC FOR '1' XREF						300XRF1n1.4 ; SET LOGIC FOR '1' XREF
 +1        SET DIH=$GET(^XOB(18.12,DIV(0),1))				      |	 +1 
										|dd18.12   1270     printed  Apr 10, 2018@18:46:17                           
									      >
									      >	           SET DIH=$GET(^XOB(18.12,DIV(0),1))
           SET DIV=X								           SET DIV=X
           SET $PIECE(^(1),U,3)=DIV						           SET $PIECE(^(1),U,3)=DIV
           SET DIH=18.12							           SET DIH=18.12
           SET DIG=1.03								           SET DIG=1.03
           DO ^DICR								           DO ^DICR
300XRF1K  ; KILL LOGIC FOR '1' XREF						300XRF1K  ; KILL LOGIC FOR '1' XREF
 +1        QUIT 								 +1        QUIT 


*****   INDEX OF |dd18.12   *****						*****   INDEX OF |dd18.12   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
>> %            300XRF1S+1*							>> %            300XRF1S+1*
>> %DT          1.03+1*								>> %DT          1.03+1*
>> D0           300XRF1S+1*							>> D0           300XRF1S+1*
>> DA           IXPRIMARYSL+1,IXPRIMARYKL+1,.01XRF1S+1,.01XRF1K+1,300XRF1S+1  |	>> DA           .01XRF1S+1,.01XRF1K+1,300XRF1S+1
>> DIG          300XRF1n1.4+1*							>> DIG          300XRF1n1.4+1*
>> DIH          300XRF1n1.4+1*							>> DIH          300XRF1n1.4+1*
>> DIU          300XRF1S+1*							>> DIU          300XRF1S+1*
   DIV          300XRF1S+1!*,300XRF1n1.4+1*					   DIV          300XRF1S+1!*,300XRF1n1.4+1*
   DIV(0        300XRF1S+1*,300XRF1n1.4+1					   DIV(0        300XRF1S+1*,300XRF1n1.4+1
   DT           300XRF1S+1							   DT           300XRF1S+1
   U            300XRF1S+1,300XRF1n1.4+1					   U            300XRF1S+1,300XRF1n1.4+1
   X            IXPRIMARYSL+1,IXPRIMARYKL+1,.01+1!,.01XRF1S+1,.01XRF1K+1,.03+ |	   X            .01+1!,.01XRF1S+1,.01XRF1K+1,.03+1!,.04+1!,.07+1!,1.03+1*!,3.
                .04+1!,.07+1!,1.03+1*!,3.02+1!,3.03+1!,200+1!,300+1!	      <
                300XRF1S+1*,300XRF1n1.4+1				      <
   Y            1.03+1,300OT+1*,300XRF1S+1!					   Y            1.03+1,300OT+1*,300XRF1S+1!
   Y(0          300OT+1*							   Y(0          300OT+1*
   Y(1          300XRF1S+1*							   Y(1          300XRF1S+1*

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^DD(18.12           300XRF1S+1						   ^DD(18.12           300XRF1S+1
   ^XOB(18.12          IXPRIMARYSL+1*,IXPRIMARYKL+1!,IXPRIMARYKEIC+1!	      |	   ^XOB(18.12          .01XRF1S+1*,.01XRF1K+1!,300XRF1S+1,300XRF1n1.4+1
                       .01XRF1S+1*,.01XRF1K+1!,300XRF1S+1,300XRF1n1.4+1	      <

Naked Globals									Naked Globals
   ^(1          300XRF1S+1,300XRF1n1.4+1*					   ^(1          300XRF1S+1,300XRF1n1.4+1*

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   NONE										   NONE

External References								External References
   ^%DT                1.03+1							   ^%DT                1.03+1
   ^DICR               300XRF1n1.4+1						   ^DICR               300XRF1n1.4+1
   EDIT^XOBWPWD        1.02+1							   EDIT^XOBWPWD        1.02+1
   $$CHKNAME^XOBWSSL   3.02+1							   $$CHKNAME^XOBWSSL   3.02+1
   DISPLAY^XOBWSSL     3.02HELP+1						   DISPLAY^XOBWSSL     3.02HELP+1

*****   END   *****								*****   END   *****
									      |	
										|dd18.121   431     printed  Apr 10, 2018@18:46:17                           
|dd18.121   431     printed  Mar 13, 2018@10:55:07                     Page 2 <

|dd18.121 ;DD of the AUTHORIZED WEB SERVICES sub-file of the WEB SERVER (#18.	|dd18.121 ;DD of the AUTHORIZED WEB SERVICES sub-file of the WEB SERVER (#18.
.01       ; WEB SERVICE								.01       ; WEB SERVICE
 +1        QUIT 								 +1        QUIT 
.01XRF1S  ; SET LOGIC FOR 'B' XREF						.01XRF1S  ; SET LOGIC FOR 'B' XREF
 +1        SET ^XOB(18.12,DA(1),100,"B",$EXTRACT(X,1,30),DA)=""			 +1        SET ^XOB(18.12,DA(1),100,"B",$EXTRACT(X,1,30),DA)=""
.01XRF1K  ; KILL LOGIC FOR 'B' XREF						.01XRF1K  ; KILL LOGIC FOR 'B' XREF
 +1        KILL ^XOB(18.12,DA(1),100,"B",$EXTRACT(X,1,30),DA)			 +1        KILL ^XOB(18.12,DA(1),100,"B",$EXTRACT(X,1,30),DA)
.01XRF2S  ; SET LOGIC FOR 'AB' XREF						.01XRF2S  ; SET LOGIC FOR 'AB' XREF
 +1        SET ^XOB(18.12,"AB",$EXTRACT(X,1,30),DA(1),DA)=""			 +1        SET ^XOB(18.12,"AB",$EXTRACT(X,1,30),DA(1),DA)=""
.01XRF2K  ; KILL LOGIC FOR 'AB' XREF						.01XRF2K  ; KILL LOGIC FOR 'AB' XREF
 +1        KILL ^XOB(18.12,"AB",$EXTRACT(X,1,30),DA(1),DA)			 +1        KILL ^XOB(18.12,"AB",$EXTRACT(X,1,30),DA(1),DA)


*****   INDEX OF |dd18.121   *****						*****   INDEX OF |dd18.121   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
>> DA           .01XRF1S+1,.01XRF1K+1,.01XRF2S+1,.01XRF2K+1			>> DA           .01XRF1S+1,.01XRF1K+1,.01XRF2S+1,.01XRF2K+1
>> DA(1         .01XRF1S+1,.01XRF1K+1,.01XRF2S+1,.01XRF2K+1			>> DA(1         .01XRF1S+1,.01XRF1K+1,.01XRF2S+1,.01XRF2K+1
>> X            .01XRF1S+1,.01XRF1K+1,.01XRF2S+1,.01XRF2K+1			>> X            .01XRF1S+1,.01XRF1K+1,.01XRF2S+1,.01XRF2K+1

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^XOB(18.12          .01XRF1S+1*,.01XRF1K+1!,.01XRF2S+1*,.01XRF2K+1!		   ^XOB(18.12          .01XRF1S+1*,.01XRF1K+1!,.01XRF2S+1*,.01XRF2K+1!

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   NONE										   NONE

External References								External References
   NONE										   NONE

*****   END   *****								*****   END   *****
									      |	
										|dd18.13   491     printed  Apr 10, 2018@18:46:17                            
|dd18.13   673     printed  Mar 13, 2018@10:55:07                      Page 2 <

|dd18.13  ;DD of the WEB SERVER LOOKUP KEY file.				|dd18.13  ;DD of the WEB SERVER LOOKUP KEY file.
IXPRIMARYSL ; SET LOGIC							      <
 +1        SET ^XOB(18.13,"PRIMARY",X,DA)=""				      <
IXPRIMARYKL ; KILL LOGIC						      <
 +1        KILL ^XOB(18.13,"PRIMARY",X,DA)				      <
IXPRIMARYKEIC ; KILL ENTIRE INDEX CODE					      <
 +1        KILL ^XOB(18.13,"PRIMARY")					      <
.01       ; KEY NAME								.01       ; KEY NAME
 +1        SET X=$$UP^XLFSTR(X)							 +1        SET X=$$UP^XLFSTR(X)
           if $LENGTH(X)>30!($LENGTH(X)<3)!'(X'?1P.E)			      |	           IF $LENGTH(X)>30!($LENGTH(X)<3)!'(X'?1P.E)
               KILL X								               KILL X
.01XRF1S  ; SET LOGIC FOR 'B' XREF						.01XRF1S  ; SET LOGIC FOR 'B' XREF
 +1        SET ^XOB(18.13,"B",$EXTRACT(X,1,30),DA)=""				 +1        SET ^XOB(18.13,"B",$EXTRACT(X,1,30),DA)=""
.01XRF1K  ; KILL LOGIC FOR 'B' XREF						.01XRF1K  ; KILL LOGIC FOR 'B' XREF
 +1        KILL ^XOB(18.13,"B",$EXTRACT(X,1,30),DA)				 +1        KILL ^XOB(18.13,"B",$EXTRACT(X,1,30),DA)
.02       ; BRIEF DESCRIPTION							.02       ; BRIEF DESCRIPTION
 +1        if $LENGTH(X)>50!($LENGTH(X)<2)				      |	 +1        IF $LENGTH(X)>50!($LENGTH(X)<2)
               KILL X								               KILL X
.03       ; ASSOCIATED WEB SERVER						.03       ; ASSOCIATED WEB SERVER
 +1        QUIT 								 +1        QUIT 
.03XRF1S  ; SET LOGIC FOR 'WS' XREF						.03XRF1S  ; SET LOGIC FOR 'WS' XREF
 +1        SET ^XOB(18.13,"WS",$EXTRACT(X,1,30),DA)=""				 +1        SET ^XOB(18.13,"WS",$EXTRACT(X,1,30),DA)=""
.03XRF1K  ; KILL LOGIC FOR 'WS' XREF						.03XRF1K  ; KILL LOGIC FOR 'WS' XREF
 +1        KILL ^XOB(18.13,"WS",$EXTRACT(X,1,30),DA)				 +1        KILL ^XOB(18.13,"WS",$EXTRACT(X,1,30),DA)


*****   INDEX OF |dd18.13   *****						*****   INDEX OF |dd18.13   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
>> DA           IXPRIMARYSL+1,IXPRIMARYKL+1,.01XRF1S+1,.01XRF1K+1,.03XRF1S+1  |	>> DA           .01XRF1S+1,.01XRF1K+1,.03XRF1S+1,.03XRF1K+1
                .03XRF1K+1						      |	   X            .01+1*!,.01XRF1S+1,.01XRF1K+1,.02+1!,.03XRF1S+1,.03XRF1K+1
   X            IXPRIMARYSL+1,IXPRIMARYKL+1,.01+1*!,.01XRF1S+1,.01XRF1K+1     <
                .02+1!,.03XRF1S+1,.03XRF1K+1				      <

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   ^XOB(18.13          IXPRIMARYSL+1*,IXPRIMARYKL+1!,IXPRIMARYKEIC+1!	      |	   ^XOB(18.13          .01XRF1S+1*,.01XRF1K+1!,.03XRF1S+1*,.03XRF1K+1!
                       .01XRF1S+1*,.01XRF1K+1!,.03XRF1S+1*,.03XRF1K+1!	      <

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   NONE										   NONE

External References								External References
   $$UP^XLFSTR         .01+1							   $$UP^XLFSTR         .01+1

*****   END   *****								*****   END   *****
									      >	
										|opt   128     printed  Apr 10, 2018@18:46:17                                

|inpt   403     printed  Mar 13, 2018@10:55:07                         Page 2 |	|opt      ; 'Build file' Options.
									      <
|inpt     ; '' Input Templates.						      <
 +1       ;								      <
1749      ; XOBW WEB SERVER KEY SETUP - EXECUTABLE CODE			      <
 +1       ;								      <
1747      ; XOBW WEB SERVER SETUP - EXECUTABLE CODE			      <
 +1       ;								      <
 +2        WRITE !!,"Security Credentials"				      <
 +3        WRITE !,"===================="				      <
 +4        IF +X=0							      <
               SET Y="@100"						      <
 +5        IF '$$SSLOK^XOBWENV()					      <
               SET Y="@200"						      <
 +6        WRITE !!,"SSL Setup"						      <
 +7        WRITE !,"========="						      <
1748      ; XOBW WEB SERVICE EDIT - EXECUTABLE CODE			      <
 +1        WRITE !,"========="						      <
 +2        IF X'=1							      <
               SET Y=200						      <
									      <
									      <
*****   INDEX OF |inpt   *****						      <
									      <
									      <
Local Variables      Line Occurrences   ( >> not killed explicitly)	      <
                                        ( * Changed  ! Killed  ~ Newed)	      <
>> X            1747+4,1748+2						      <
>> Y            1747+4*,1747+5*,1748+2*					      <
									      <
Global Variables  ( * Changed  ! Killed)				      <
   NONE									      <
									      <
Naked Globals								      <
   NONE									      <
									      <
Cache Objects								      <
   NONE									      <
									      <
Marked Items								      <
   NONE									      <
									      <
Label References							      <
   NONE									      <
									      <
External References							      <
   $$SSLOK^XOBWENV     1747+5						      <
									      <
*****   END   *****							      <
									      <
|list   1572     printed  Mar 13, 2018@10:55:07                        Page 2 <
									      <
|list     ; '' List Templates.						      <
 +1       ;									 +1       ;
666       ; XOBW WEB SERVER - HEADER CODE (#100)			      |	14004     ; XOBW WEB SERVER MANAGER - Web Server Manager (action)
 +1        DO HDR^XOBWU							      <
 +2       ; XOBW WEB SERVER - EXPAND CODE (#102)			      <
 +3        DO EXPAND^XOBWU						      <
 +4       ; XOBW WEB SERVER - HELP CODE (#103)				      <
 +5        DO HELP^XOBWU						      <
 +6       ; XOBW WEB SERVER - EXIT CODE (#105)				      <
 +7        DO EXIT^XOBWU						      <
 +8       ; XOBW WEB SERVER - ENTRY CODE (#106)				      <
 +9        DO INIT^XOBWU						      <
 +10      ; XOBW WEB SERVER - ARRAY NAME (#107)				      <
 +11       IF $LENGTH(^TMP("XOB WEBSERVERS",$JOB))			      <
               QUIT 							      <
669       ; XOBW WEB SERVER LOOKUPKEY - HEADER CODE (#100)		      <
 +1        DO HDR^XOBWUA						      <
 +2       ; XOBW WEB SERVER LOOKUPKEY - EXPAND CODE (#102)		      <
 +3        DO EXPAND^XOBWUA						      <
 +4       ; XOBW WEB SERVER LOOKUPKEY - HELP CODE (#103)		      <
 +5        DO HELP^XOBWUA						      <
 +6       ; XOBW WEB SERVER LOOKUPKEY - EXIT CODE (#105)		      <
 +7        DO EXIT^XOBWUA						      <
 +8       ; XOBW WEB SERVER LOOKUPKEY - ENTRY CODE (#106)		      <
 +9        DO INIT^XOBWUA						      <
 +10      ; XOBW WEB SERVER LOOKUPKEY - ARRAY NAME (#107)		      <
 +11       IF $LENGTH(^TMP("XOB WEB SERVER LOOKUP",$JOB))		      <
               QUIT 							      <
667       ; XOBW WEB SERVICE - HEADER CODE (#100)			      <
 +1        DO HDR^XOBWUS						      <
 +2       ; XOBW WEB SERVICE - EXPAND CODE (#102)			      <
 +3        DO EXPAND^XOBWUS						      <
 +4       ; XOBW WEB SERVICE - HELP CODE (#103)				      <
 +5        DO HELP^XOBWUS						      <
 +6       ; XOBW WEB SERVICE - EXIT CODE (#105)				      <
 +7        DO EXIT^XOBWUS						      <
 +8       ; XOBW WEB SERVICE - ENTRY CODE (#106)			      <
 +9        DO INIT^XOBWUS						      <
 +10      ; XOBW WEB SERVICE - ARRAY NAME (#107)			      <
 +11       IF $LENGTH(^TMP("XOB WEBSERVICES",$JOB))			      <
               QUIT 							      <
668       ; XOBW WEB SERVICE DISPLAY - HEADER CODE (#100)		      <
 +1        DO HDR^XOBWUS2						      <
 +2       ; XOBW WEB SERVICE DISPLAY - EXPAND CODE (#102)		      <
 +3       ;								      <
 +4       ; XOBW WEB SERVICE DISPLAY - HELP CODE (#103)			      <
 +5        DO HELP^XOBWUS2						      <
 +6       ; XOBW WEB SERVICE DISPLAY - EXIT CODE (#105)			      <
 +7        DO EXIT^XOBWUS2						      <
 +8       ; XOBW WEB SERVICE DISPLAY - ENTRY CODE (#106)		      <
 +9        DO INIT^XOBWUS2						      <
 +10      ; XOBW WEB SERVICE DISPLAY - ARRAY NAME (#107)		      <
 +11      ;								      <
									      <
									      <
*****   INDEX OF |list   *****						      <
									      <
									      <
Local Variables      Line Occurrences   ( >> not killed explicitly)	      <
                                        ( * Changed  ! Killed  ~ Newed)	      <
   NONE									      <
									      <
Global Variables  ( * Changed  ! Killed)				      <
   ^TMP("XOB WEB SERVER LOOKUP"						      <
                       669+11						      <
   ^TMP("XOB WEBSERVERS"						      <
                       666+11						      <
   ^TMP("XOB WEBSERVICES"						      <
                       667+11						      <
									      <
Naked Globals								      <
   NONE									      <
									      <
Cache Objects								      <
   NONE									      <
									      <
Marked Items								      <
   NONE									      <
									      <
Label References							      <
   NONE									      <
									      <
External References							      <
   EXIT^XOBWU          666+7						      <
   EXPAND^XOBWU        666+3						      <
   HDR^XOBWU           666+1						      <
   HELP^XOBWU          666+5						      <
   INIT^XOBWU          666+9						      <
   EXIT^XOBWUA         669+7						      <
   EXPAND^XOBWUA       669+3						      <
   HDR^XOBWUA          669+1						      <
   HELP^XOBWUA         669+5						      <
   INIT^XOBWUA         669+9						      <
   EXIT^XOBWUS         667+7						      <
   EXPAND^XOBWUS       667+3						      <
   HDR^XOBWUS          667+1						      <
   HELP^XOBWUS         667+5						      <
   INIT^XOBWUS         667+9						      <
   EXIT^XOBWUS2        668+7						      <
   HDR^XOBWUS2         668+1						      <
   HELP^XOBWUS2        668+5						      <
   INIT^XOBWUS2        668+9						      <
									      <
*****   END   *****							      <
									      <
|opt   118     printed  Mar 13, 2018@10:55:07                          Page 2 <
									      <
|opt      ; '' Options.							      <
 +1       ;								      <
11222     ; XOBW WEB SERVER MANAGER - Web Server Manager (action)	      <
 +1       ; ENTRY ACTION							 +1       ; ENTRY ACTION
 +2        DO EN^XOBWU								 +2        DO EN^XOBWU


*****   INDEX OF |opt   *****							*****   INDEX OF |opt   *****


Local Variables      Line Occurrences   ( >> not killed explicitly)		Local Variables      Line Occurrences   ( >> not killed explicitly)
                                        ( * Changed  ! Killed  ~ Newed)		                                        ( * Changed  ! Killed  ~ Newed)
   NONE										   NONE

Global Variables  ( * Changed  ! Killed)					Global Variables  ( * Changed  ! Killed)
   NONE										   NONE

Naked Globals									Naked Globals
   NONE										   NONE

Cache Objects									Cache Objects
   NONE										   NONE

Marked Items									Marked Items
   NONE										   NONE

Label References								Label References
   NONE										   NONE

External References								External References
   EN^XOBWU            11222+2						      |	   EN^XOBWU            14004+2

*****   END   *****								*****   END   *****
										
										
|ptcl   11930     printed  Mar 13, 2018@10:55:07                       Page 2 |	*****   Cross Reference of all Routines   *****                              
									      <
|ptcl     ; '' Protocols.						      <
 +1       ;								      <
4433      ; XOBW ASSOCIATE ADD - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW ASSOCIATE ADD - ENTRY ACTION (#20)			      <
 +3        DO ADD^XOBWUA						      <
 +4       ; XOBW ASSOCIATE ADD - SCREEN (#24)				      <
 +5       ;								      <
 +6       ; XOBW ASSOCIATE ADD - HEADER (#26)				      <
 +7       ;								      <
 +8       ; XOBW ASSOCIATE ADD - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW ASSOCIATE ADD - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW ASSOCIATE ADD - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW ASSOCIATE ADD - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW ASSOCIATE ADD - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW ASSOCIATE ADD - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW ASSOCIATE ADD - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4435      ; XOBW ASSOCIATE DELETE - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW ASSOCIATE DELETE - ENTRY ACTION (#20)			      <
 +3        DO DEL^XOBWUA						      <
 +4       ; XOBW ASSOCIATE DELETE - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW ASSOCIATE DELETE - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW ASSOCIATE DELETE - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW ASSOCIATE DELETE - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW ASSOCIATE DELETE - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW ASSOCIATE DELETE - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW ASSOCIATE DELETE - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW ASSOCIATE DELETE - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW ASSOCIATE DELETE - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4434      ; XOBW ASSOCIATE EDIT - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW ASSOCIATE EDIT - ENTRY ACTION (#20)			      <
 +3        DO EDIT^XOBWUA						      <
 +4       ; XOBW ASSOCIATE EDIT - SCREEN (#24)				      <
 +5       ;								      <
 +6       ; XOBW ASSOCIATE EDIT - HEADER (#26)				      <
 +7       ;								      <
 +8       ; XOBW ASSOCIATE EDIT - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW ASSOCIATE EDIT - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW ASSOCIATE EDIT - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW ASSOCIATE EDIT - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW ASSOCIATE EDIT - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW ASSOCIATE EDIT - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW ASSOCIATE EDIT - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4437      ; XOBW ASSOCIATE FILTER KEY - EXIT ACTION (#15)		      <
 +1       ;								      <
 +2       ; XOBW ASSOCIATE FILTER KEY - ENTRY ACTION (#20)		      <
 +3        DO KFILTER^XOBWUA						      <
 +4       ; XOBW ASSOCIATE FILTER KEY - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW ASSOCIATE FILTER KEY - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW ASSOCIATE FILTER KEY - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW ASSOCIATE FILTER KEY - ORDER PRINT ACTION (#100)	      <
 +11      ;								      <
 +12      ; XOBW ASSOCIATE FILTER KEY - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW ASSOCIATE FILTER KEY - ORDER PURGE ACTION (#100.2)	      <
 +15      ;								      <
 +16      ; XOBW ASSOCIATE FILTER KEY - PROCESSING ROUTINE (#771)	      <
 +17      ;								      <
 +18      ; XOBW ASSOCIATE FILTER KEY - ORDER PURGE ACTION (#772)	      <
 +19      ;								      <
 +20      ; XOBW ASSOCIATE FILTER KEY - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4438      ; XOBW ASSOCIATE FILTER SERVER - EXIT ACTION (#15)		      <
 +1       ;								      <
 +2       ; XOBW ASSOCIATE FILTER SERVER - ENTRY ACTION (#20)		      <
 +3        DO SFILTER^XOBWUA						      <
 +4       ; XOBW ASSOCIATE FILTER SERVER - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW ASSOCIATE FILTER SERVER - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW ASSOCIATE FILTER SERVER - MENU HELP (#27)		      <
 +9       ;								      <
 +10      ; XOBW ASSOCIATE FILTER SERVER - ORDER PRINT ACTION (#100)	      <
 +11      ;								      <
 +12      ; XOBW ASSOCIATE FILTER SERVER - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW ASSOCIATE FILTER SERVER - ORDER PURGE ACTION (#100.2)	      <
 +15      ;								      <
 +16      ; XOBW ASSOCIATE FILTER SERVER - PROCESSING ROUTINE (#771)	      <
 +17      ;								      <
 +18      ; XOBW ASSOCIATE FILTER SERVER - ORDER PURGE ACTION (#772)	      <
 +19      ;								      <
 +20      ; XOBW ASSOCIATE FILTER SERVER - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4432      ; XOBW ASSOCIATE MENU - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW ASSOCIATE MENU - ENTRY ACTION (#20)			      <
 +3       ;								      <
 +4       ; XOBW ASSOCIATE MENU - SCREEN (#24)				      <
 +5       ;								      <
 +6       ; XOBW ASSOCIATE MENU - HEADER (#26)				      <
 +7        DO SHOW^VALM							      <
 +8       ; XOBW ASSOCIATE MENU - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW ASSOCIATE MENU - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW ASSOCIATE MENU - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW ASSOCIATE MENU - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW ASSOCIATE MENU - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW ASSOCIATE MENU - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW ASSOCIATE MENU - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4436      ; XOBW ASSOCIATE SORT - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW ASSOCIATE SORT - ENTRY ACTION (#20)			      <
 +3        DO SORT^XOBWUA						      <
 +4       ; XOBW ASSOCIATE SORT - SCREEN (#24)				      <
 +5       ;								      <
 +6       ; XOBW ASSOCIATE SORT - HEADER (#26)				      <
 +7       ;								      <
 +8       ; XOBW ASSOCIATE SORT - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW ASSOCIATE SORT - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW ASSOCIATE SORT - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW ASSOCIATE SORT - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW ASSOCIATE SORT - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW ASSOCIATE SORT - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW ASSOCIATE SORT - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4423      ; XOBW WEB SERVER ADD - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVER ADD - ENTRY ACTION (#20)			      <
 +3        DO ADD^XOBWU							      <
 +4       ; XOBW WEB SERVER ADD - SCREEN (#24)				      <
 +5       ;								      <
 +6       ; XOBW WEB SERVER ADD - HEADER (#26)				      <
 +7       ;								      <
 +8       ; XOBW WEB SERVER ADD - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVER ADD - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVER ADD - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW WEB SERVER ADD - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW WEB SERVER ADD - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVER ADD - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVER ADD - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4424      ; XOBW WEB SERVER DELETE - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVER DELETE - ENTRY ACTION (#20)			      <
 +3        DO DEL^XOBWU							      <
 +4       ; XOBW WEB SERVER DELETE - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW WEB SERVER DELETE - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW WEB SERVER DELETE - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVER DELETE - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVER DELETE - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW WEB SERVER DELETE - ORDER PURGE ACTION (#100.2)	      <
 +15      ;								      <
 +16      ; XOBW WEB SERVER DELETE - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVER DELETE - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVER DELETE - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4422      ; XOBW WEB SERVER EDIT - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVER EDIT - ENTRY ACTION (#20)			      <
 +3        DO EDIT^XOBWU						      <
 +4       ; XOBW WEB SERVER EDIT - SCREEN (#24)				      <
 +5       ;								      <
 +6       ; XOBW WEB SERVER EDIT - HEADER (#26)				      <
 +7       ;								      <
 +8       ; XOBW WEB SERVER EDIT - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVER EDIT - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVER EDIT - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW WEB SERVER EDIT - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW WEB SERVER EDIT - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVER EDIT - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVER EDIT - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4439      ; XOBW WEB SERVER LOOKUP KEY MANAGER - EXIT ACTION (#15)	      <
 +1       ;								      <
 +2       ; XOBW WEB SERVER LOOKUP KEY MANAGER - ENTRY ACTION (#20)	      <
 +3        DO LKM^XOBWU							      <
 +4       ; XOBW WEB SERVER LOOKUP KEY MANAGER - SCREEN (#24)		      <
 +5       ;								      <
 +6       ; XOBW WEB SERVER LOOKUP KEY MANAGER - HEADER (#26)		      <
 +7       ;								      <
 +8       ; XOBW WEB SERVER LOOKUP KEY MANAGER - MENU HELP (#27)	      <
 +9       ;								      <
 +10      ; XOBW WEB SERVER LOOKUP KEY MANAGER - ORDER PRINT ACTION (#100)    <
 +11      ;								      <
 +12      ; XOBW WEB SERVER LOOKUP KEY MANAGER - ORDER CANCEL ACTION (#100.1) <
 +13      ;								      <
 +14      ; XOBW WEB SERVER LOOKUP KEY MANAGER - ORDER PURGE ACTION (#100.2)  <
 +15      ;								      <
 +16      ; XOBW WEB SERVER LOOKUP KEY MANAGER - PROCESSING ROUTINE (#771)    <
 +17      ;								      <
 +18      ; XOBW WEB SERVER LOOKUP KEY MANAGER - ORDER PURGE ACTION (#772)    <
 +19      ;								      <
 +20      ; XOBW WEB SERVER LOOKUP KEY MANAGER - ROUTING LOGIC (#774)	      <
 +21      ;								      <
4421      ; XOBW WEB SERVER MENU - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVER MENU - ENTRY ACTION (#20)			      <
 +3       ;								      <
 +4       ; XOBW WEB SERVER MENU - SCREEN (#24)				      <
 +5        IF 1								      <
               if $DATA(^ORD(101,+$PIECE(^ORD(101,DA(1),10,DA,0),"^",1),24))  <
                   XECUTE ^(24)						      <
 +6       ; XOBW WEB SERVER MENU - HEADER (#26)				      <
 +7        DO SHOW^VALM							      <
 +8       ; XOBW WEB SERVER MENU - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVER MENU - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVER MENU - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW WEB SERVER MENU - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW WEB SERVER MENU - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVER MENU - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVER MENU - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4431      ; XOBW WEB SERVER TEST WS AVAILABILITY - EXIT ACTION (#15)	      <
 +1       ;								      <
 +2       ; XOBW WEB SERVER TEST WS AVAILABILITY - ENTRY ACTION (#20)	      <
 +3        DO AVAIL^XOBWU						      <
 +4       ; XOBW WEB SERVER TEST WS AVAILABILITY - SCREEN (#24)		      <
 +5       ;								      <
 +6       ; XOBW WEB SERVER TEST WS AVAILABILITY - HEADER (#26)		      <
 +7       ;								      <
 +8       ; XOBW WEB SERVER TEST WS AVAILABILITY - MENU HELP (#27)	      <
 +9       ;								      <
 +10      ; XOBW WEB SERVER TEST WS AVAILABILITY - ORDER PRINT ACTION (#100)  <
 +11      ;								      <
 +12      ; XOBW WEB SERVER TEST WS AVAILABILITY - ORDER CANCEL ACTION (#100. <
 +13      ;								      <
 +14      ; XOBW WEB SERVER TEST WS AVAILABILITY - ORDER PURGE ACTION (#100.2 <
 +15      ;								      <
 +16      ; XOBW WEB SERVER TEST WS AVAILABILITY - PROCESSING ROUTINE (#771)  <
 +17      ;								      <
 +18      ; XOBW WEB SERVER TEST WS AVAILABILITY - ORDER PURGE ACTION (#772)  <
 +19      ;								      <
 +20      ; XOBW WEB SERVER TEST WS AVAILABILITY - ROUTING LOGIC (#774)	      <
 +21      ;								      <
4425      ; XOBW WEB SERVER TESTER - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVER TESTER - ENTRY ACTION (#20)			      <
 +3        DO WST^XOBWU							      <
 +4       ; XOBW WEB SERVER TESTER - SCREEN (#24)			      <
 +5        IF $TEXT(SOAPNAME^XOBTPST)]""				      <
 +6       ; XOBW WEB SERVER TESTER - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW WEB SERVER TESTER - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVER TESTER - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVER TESTER - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW WEB SERVER TESTER - ORDER PURGE ACTION (#100.2)	      <
 +15      ;								      <
 +16      ; XOBW WEB SERVER TESTER - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVER TESTER - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVER TESTER - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4427      ; XOBW WEB SERVICE ADD - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVICE ADD - ENTRY ACTION (#20)			      <
 +3        DO ADD^XOBWUS						      <
 +4       ; XOBW WEB SERVICE ADD - SCREEN (#24)				      <
 +5       ;								      <
 +6       ; XOBW WEB SERVICE ADD - HEADER (#26)				      <
 +7       ;								      <
 +8       ; XOBW WEB SERVICE ADD - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVICE ADD - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVICE ADD - ORDER CANCEL ACTION (#100.1)		      <
 +13      ;								      <
 +14      ; XOBW WEB SERVICE ADD - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW WEB SERVICE ADD - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVICE ADD - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVICE ADD - ROUTING LOGIC (#774)			      <
 +21      ;								      <
4429      ; XOBW WEB SERVICE DELETE - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVICE DELETE - ENTRY ACTION (#20)		      <
 +3        DO DEL^XOBWUS						      <
 +4       ; XOBW WEB SERVICE DELETE - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW WEB SERVICE DELETE - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW WEB SERVICE DELETE - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVICE DELETE - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVICE DELETE - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW WEB SERVICE DELETE - ORDER PURGE ACTION (#100.2)	      <
 +15      ;								      <
 +16      ; XOBW WEB SERVICE DELETE - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVICE DELETE - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVICE DELETE - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4428      ; XOBW WEB SERVICE EDIT - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVICE EDIT - ENTRY ACTION (#20)			      <
 +3        DO EDIT^XOBWUS						      <
 +4       ; XOBW WEB SERVICE EDIT - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW WEB SERVICE EDIT - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW WEB SERVICE EDIT - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVICE EDIT - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVICE EDIT - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW WEB SERVICE EDIT - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW WEB SERVICE EDIT - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVICE EDIT - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVICE EDIT - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4430      ; XOBW WEB SERVICE MANAGER - EXIT ACTION (#15)		      <
 +1       ;								      <
 +2       ; XOBW WEB SERVICE MANAGER - ENTRY ACTION (#20)		      <
 +3        DO WSM^XOBWU							      <
 +4       ; XOBW WEB SERVICE MANAGER - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW WEB SERVICE MANAGER - HEADER (#26)			      <
 +7       ;								      <
 +8       ; XOBW WEB SERVICE MANAGER - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVICE MANAGER - ORDER PRINT ACTION (#100)	      <
 +11      ;								      <
 +12      ; XOBW WEB SERVICE MANAGER - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW WEB SERVICE MANAGER - ORDER PURGE ACTION (#100.2)	      <
 +15      ;								      <
 +16      ; XOBW WEB SERVICE MANAGER - PROCESSING ROUTINE (#771)	      <
 +17      ;								      <
 +18      ; XOBW WEB SERVICE MANAGER - ORDER PURGE ACTION (#772)	      <
 +19      ;								      <
 +20      ; XOBW WEB SERVICE MANAGER - ROUTING LOGIC (#774)		      <
 +21      ;								      <
4426      ; XOBW WEB SERVICE MENU - EXIT ACTION (#15)			      <
 +1       ;								      <
 +2       ; XOBW WEB SERVICE MENU - ENTRY ACTION (#20)			      <
 +3       ;								      <
 +4       ; XOBW WEB SERVICE MENU - SCREEN (#24)			      <
 +5       ;								      <
 +6       ; XOBW WEB SERVICE MENU - HEADER (#26)			      <
 +7        DO SHOW^VALM							      <
 +8       ; XOBW WEB SERVICE MENU - MENU HELP (#27)			      <
 +9       ;								      <
 +10      ; XOBW WEB SERVICE MENU - ORDER PRINT ACTION (#100)		      <
 +11      ;								      <
 +12      ; XOBW WEB SERVICE MENU - ORDER CANCEL ACTION (#100.1)	      <
 +13      ;								      <
 +14      ; XOBW WEB SERVICE MENU - ORDER PURGE ACTION (#100.2)		      <
 +15      ;								      <
 +16      ; XOBW WEB SERVICE MENU - PROCESSING ROUTINE (#771)		      <
 +17      ;								      <
 +18      ; XOBW WEB SERVICE MENU - ORDER PURGE ACTION (#772)		      <
 +19      ;								      <
 +20      ; XOBW WEB SERVICE MENU - ROUTING LOGIC (#774)		      <
 +21      ;								      <
									      <
*****   ERRORS & WARNINGS IN |ptcl   *****				      <
   4425+5       F - Reference to routine '^XOBTPST'. That isn't in this UCI.  <
									      <
*****   INDEX OF |ptcl   *****						      <
									      <
									      <
Local Variables      Line Occurrences   ( >> not killed explicitly)	      <
                                        ( * Changed  ! Killed  ~ Newed)	      <
>> DA           4421+5							      <
>> DA(1         4421+5							      <
									      <
Global Variables  ( * Changed  ! Killed)				      <
   ^ORD(101            4421+5						      <
									      <
Naked Globals								      <
   ^(24         4421+5							      <
									      <
Cache Objects								      <
   NONE									      <
									      <
Marked Items								      <
   $T(SOAPNAME^XOBTPST							      <
                4425+5							      <
									      <
Label References							      <
   NONE									      <
									      <
External References							      <
   SHOW^VALM           4432+7,4421+7,4426+7				      <
   SOAPNAME^XOBTPST    4425+5						      <
   ADD^XOBWU           4423+3						      <
   AVAIL^XOBWU         4431+3						      <
   DEL^XOBWU           4424+3						      <
   EDIT^XOBWU          4422+3						      <
   LKM^XOBWU           4439+3						      <
   WSM^XOBWU           4430+3						      <
   WST^XOBWU           4425+3						      <
   ADD^XOBWUA          4433+3						      <
   DEL^XOBWUA          4435+3						      <
   EDIT^XOBWUA         4434+3						      <
   KFILTER^XOBWUA      4437+3						      <
   SFILTER^XOBWUA      4438+3						      <
   SORT^XOBWUA         4436+3						      <
   ADD^XOBWUS          4427+3						      <
   DEL^XOBWUS          4429+3						      <
   EDIT^XOBWUS         4428+3						      <
									      <
*****   END   *****							      <
									      <
									      <
*****   Cross Reference of all Routines   *****   Mar 13, 2018@10:55:07 page  <

Local Variables    Routines   ( >> not killed explicitly)			Local Variables    Routines   ( >> not killed explicitly)
                              ( * Changed  ! Killed  ~ Newed)			                              ( * Changed  ! Killed  ~ Newed)
>> %            |dd18.12*							>> %            |dd18.12*
>> %DT          |dd18.02*,|dd18.12*						>> %DT          |dd18.02*,|dd18.12*
   %XOBWERR     XOBWLIB1!							   %XOBWERR     XOBWLIB1!
   %objlasterror 								   %objlasterror 
                XOBWD,XOBWLIB1!							                XOBWD,XOBWLIB1!
   A            XOBWPWD*~							   A            XOBWPWD*~
   C            XOBWPWD*~							   C            XOBWPWD*~
   CFG          XOBWSSL*~							   CFG          XOBWSSL*~
   COUNT        XOBWSSL*~							   COUNT        XOBWSSL*~
   D            XOBWU1*~,XOBWUA1*~,XOBWUS1*~					   D            XOBWU1*~,XOBWUA1*~,XOBWUS1*~
>> D0           |dd18.12*							>> D0           |dd18.12*
   DA           XOBWD*!~,XOBWPST*~,XOBWPWD,XOBWU1~,XOBWUA1~,XOBWUS1*~,XOBWUS1 |	   DA           XOBWD*!~,XOBWPST*~,XOBWPWD,XOBWU1~,XOBWUA1~,XOBWUS1*~,XOBWUS1
                |dd18.02,|dd18.12,|dd18.121,|dd18.13,|ptcl		      |	   DA(1         XOBWD*,XOBWPST*,|dd18.121
   DA(1         XOBWD*,XOBWPST*,|dd18.121,|ptcl				      <
>> DDS          XOBWPWD								>> DDS          XOBWPWD
>> DDSHBX       XOBWPWD								>> DDSHBX       XOBWPWD
   DEFAULT      XOBWLIB1~							   DEFAULT      XOBWLIB1~
   DIC          XOBWLIB1*!~,XOBWU1*!~,XOBWUA1*!~,XOBWUS1*!~			   DIC          XOBWLIB1*!~,XOBWU1*!~,XOBWUA1*!~,XOBWUS1*!~
   DIC("A"      XOBWUA1*							   DIC("A"      XOBWUA1*
   DIC("B"      XOBWLIB1*							   DIC("B"      XOBWLIB1*
   DIC(0        XOBWLIB1*,XOBWU1*,XOBWUA1*,XOBWUS1*				   DIC(0        XOBWLIB1*,XOBWU1*,XOBWUA1*,XOBWUS1*
   DIE          XOBWU1*~,XOBWUA1*~,XOBWUS1*~					   DIE          XOBWU1*~,XOBWUA1*~,XOBWUS1*~
   DIERR        XOBWD~,XOBWLIB1~						   DIERR        XOBWD~,XOBWLIB1~
   DIF          XOBWP004*~							   DIF          XOBWP004*~
>> DIG          |dd18.12*							>> DIG          |dd18.12*
>> DIH          |dd18.12*							>> DIH          |dd18.12*
   DIK          XOBWD*!~,XOBWPST*~,XOBWU1*~,XOBWUA1*~				   DIK          XOBWD*!~,XOBWPST*~,XOBWU1*~,XOBWUA1*~
   DIK(1        XOBWPST*							   DIK(1        XOBWPST*
   DIQ          XOBWUS1*~							   DIQ          XOBWUS1*~
   DIQ(0        XOBWUS1*							   DIQ(0        XOBWUS1*
   DIR          XOBWENV~,XOBWLIB1!,XOBWPWD!~,XOBWU1~,XOBWUA1~,XOBWUS1~		   DIR          XOBWENV~,XOBWLIB1!,XOBWPWD!~,XOBWU1~,XOBWUA1~,XOBWUS1~
   DIR("A"      XOBWLIB1*,XOBWPWD*,XOBWU1*,XOBWUA1*,XOBWUS1*			   DIR("A"      XOBWLIB1*,XOBWPWD*,XOBWU1*,XOBWUA1*,XOBWUS1*
   DIR("B"      XOBWU1*,XOBWUA1*,XOBWUS1*					   DIR("B"      XOBWU1*,XOBWUA1*,XOBWUS1*
   DIR(0        XOBWENV*,XOBWLIB1*,XOBWPWD*,XOBWU1*,XOBWUA1*,XOBWUS1*		   DIR(0        XOBWENV*,XOBWLIB1*,XOBWPWD*,XOBWU1*,XOBWUA1*,XOBWUS1*
   DIR0         XOBWPWD~							   DIR0         XOBWPWD~
   DIROUT       XOBWLIB1~,XOBWUA1~						   DIROUT       XOBWLIB1~,XOBWUA1~
   DIRUT        XOBWLIB1~,XOBWPWD*!,XOBWUA1~					   DIRUT        XOBWLIB1~,XOBWPWD*!,XOBWUA1~
>> DIU          |dd18.12*							>> DIU          |dd18.12*
   DIV          |dd18.12*!							   DIV          |dd18.12*!
   DIV(0        |dd18.12*							   DIV(0        |dd18.12*
   DR           XOBWU1*~,XOBWUA1*~,XOBWUS1*~					   DR           XOBWU1*~,XOBWUA1*~,XOBWUS1*~
   DT           |dd18.12							   DT           |dd18.12
   DTOUT        XOBWLIB1~,XOBWUA1~						   DTOUT        XOBWLIB1~,XOBWUA1~
   DUOUT        XOBWLIB1~,XOBWPWD*!,XOBWUA1~					   DUOUT        XOBWLIB1~,XOBWPWD*!,XOBWUA1~
   DUZ          XOBWLIB1,XOBWP004						   DUZ          XOBWLIB1,XOBWP004
   DUZ(2        XOBWLIB1							   DUZ(2        XOBWLIB1
   DX           XOBWPWD*~							   DX           XOBWPWD*~
   DY           XOBWPWD*~							   DY           XOBWPWD*~
   E            XOBWPWD*~							   E            XOBWPWD*~
   FDA          XOBWPWD~							   FDA          XOBWPWD~
   FDA(         XOBWPWD*							   FDA(         XOBWPWD*
   I            XOBWD*~,XOBWLIB1*~,XOBWPA04*~,XOBWPB04*~,XOBWU~,XOBWUA~		   I            XOBWD*~,XOBWLIB1*~,XOBWPA04*~,XOBWPB04*~,XOBWU~,XOBWUA~
   IEN          XOBWU1*~							   IEN          XOBWU1*~
   IEN0         XOBWU1*~							   IEN0         XOBWU1*~
   INFOARR      XOBWLIB1*~							   INFOARR      XOBWLIB1*~
   IOF          XOBWLIB1							   IOF          XOBWLIB1
   IOM          XOBWU1,XOBWUA1,XOBWUS1						   IOM          XOBWU1,XOBWUA1,XOBWUS1
										
									      >	*****   Cross Reference of all Routines   *****                              
									      >
									      >	Local Variables    Routines   ( >> not killed explicitly)
									      >	                              ( * Changed  ! Killed  ~ Newed)
   IOSL         XOBWLIB1							   IOSL         XOBWLIB1
>> IOXY         XOBWPWD								>> IOXY         XOBWPWD
   IP           XOBWPST*~							   IP           XOBWPST*~
   IPPORT       XOBWLIB1*~							   IPPORT       XOBWLIB1*~
   IT           XOBWPA04*~,XOBWPB04*~						   IT           XOBWPA04*~,XOBWPB04*~
   KEY          XOBWU1*~							   KEY          XOBWU1*~
   KEYCAP       XOBWUA*~							   KEYCAP       XOBWUA*~
   MAJOR        XOBWENV*~							   MAJOR        XOBWENV*~
   MATCH        XOBWSSL*~							   MATCH        XOBWSSL*~
   MINOR        XOBWENV*~							   MINOR        XOBWENV*~
   MORE         XOBWSSL*~							   MORE         XOBWSSL*~
   MSG          XOBWP004*!							   MSG          XOBWP004*!
>> MSGSBJ       XOBWP004*							>> MSGSBJ       XOBWP004*
   NAME         XOBWLIB1*~							   NAME         XOBWLIB1*~
   RS           XOBWSSL*~							   RS           XOBWSSL*~
   SERVER       XOBWPST*~							   SERVER       XOBWPST*~
   SITE         XOBWLIB1~							   SITE         XOBWLIB1~
   SORT         XOBWUA~								   SORT         XOBWUA~
   SORT(        XOBWUA*								   SORT(        XOBWUA*
   SRVCAP       XOBWUA*~							   SRVCAP       XOBWUA*~
   STATUS       XOBWLIB1*~,XOBWSSL~						   STATUS       XOBWLIB1*~,XOBWSSL~
   STR          XOBWSSL~							   STR          XOBWSSL~
   SUBMINOR     XOBWENV*~							   SUBMINOR     XOBWENV*~
   TO           XOBWPWD*~							   TO           XOBWPWD*~
   TYPE         XOBWU~,XOBWUA~,XOBWUS~						   TYPE         XOBWU~,XOBWUA~,XOBWUS~
   U            XOBWD,XOBWLIB1,XOBWU1,XOBWUA1,XOBWUS1,|dd18.12			   U            XOBWD,XOBWLIB1,XOBWU1,XOBWUA1,XOBWUS1,|dd18.12
>> VALM("TITLE" XOBWUS2*							>> VALM("TITLE" XOBWUS2*
>> VALMAR       XOBWU1,XOBWUA1,XOBWUS1						>> VALMAR       XOBWU1,XOBWUA1,XOBWUS1
   VALMBCK      XOBWU*~,XOBWUA*,XOBWUS*						   VALMBCK      XOBWU*~,XOBWUA*,XOBWUS*
>> VALMCNT      XOBWU*,XOBWU1*,XOBWUA*,XOBWUS*,XOBWUS1*				>> VALMCNT      XOBWU*,XOBWU1*,XOBWUA*,XOBWUS*,XOBWUS1*
>> VALMHDR(1    XOBWU*,XOBWUA*,XOBWUS*,XOBWUS2*					>> VALMHDR(1    XOBWU*,XOBWUA*,XOBWUS*,XOBWUS2*
>> VALMHDR(2    XOBWU*,XOBWUA*,XOBWUS*,XOBWUS2*					>> VALMHDR(2    XOBWU*,XOBWUA*,XOBWUS*,XOBWUS2*
>> VALMHDR(3    XOBWUA*								>> VALMHDR(3    XOBWUA*
>> VALMSG       XOBWU*,XOBWUA*,XOBWUS*						>> VALMSG       XOBWU*,XOBWUA*,XOBWUS*
   VALMY        XOBWU1~,XOBWUA1~,XOBWUS1~					   VALMY        XOBWU1~,XOBWUA1~,XOBWUS1~
   VALMY(""     XOBWU1,XOBWUA1,XOBWUS1						   VALMY(""     XOBWU1,XOBWUA1,XOBWUS1
   WHO          XOBWP004!							   WHO          XOBWP004!
   WHO(         XOBWP004*							   WHO(         XOBWP004*
   WHO("G.PATCH TRACKING XOBW_1_4@DOMAIN.EXT" 				      |	   WHO("G.PATCH TRACKING XOBW_1_4@FORUM.DOMAIN.EXT" 
                XOBWP004*							                XOBWP004*
   WHO("Jose.Luis-Garcia@domain.ext" 						   WHO("Jose.Luis-Garcia@domain.ext" 
                XOBWP004*							                XOBWP004*
   X            XOBWD*~,XOBWLIB1*~,XOBWP004*~,XOBWPA04*~,XOBWPB04*~,XOBWPWD*! |	   X            XOBWD*~,XOBWLIB1*~,XOBWP004*~,XOBWPA04*~,XOBWPB04*~,XOBWPWD*!
                XOBWU*~,XOBWUA*~,XOBWUA1~,XOBWUS*~,XOBWUS1*~,XOBWUS2*	      |	                XOBWUS2*,|dd18.02*!,|dd18.12*!,|dd18.121,|dd18.13*!
                |dd18.02*!,|dd18.12*!,|dd18.121,|dd18.13*!,|inpt	      <
   XCNP         XOBWP004*~							   XCNP         XOBWP004*~
   XDIR         XOBWPA04*~,XOBWPB04*~						   XDIR         XOBWPA04*~,XOBWPB04*~
   XFILE        XOBWPA04*~,XOBWPB04*~						   XFILE        XOBWPA04*~,XOBWPB04*~
   XOB0         XOBWU~,XOBWUA~							   XOB0         XOBWU~,XOBWUA~
   XOBCAURL     XOBWD~,XOBWLIB~							   XOBCAURL     XOBWD~,XOBWLIB~
   XOBCDEF      XOBWD*~								   XOBCDEF      XOBWD*~
   XOBCFGN      XOBWSSL~							   XOBCFGN      XOBWSSL~
   XOBCHK       XOBWD*~								   XOBCHK       XOBWD*~
   XOBCLASS     XOBWD*~,XOBWLIB~,XOBWUS1*~					   XOBCLASS     XOBWD*~,XOBWLIB~,XOBWUS1*~
   XOBCLR       XOBWUA1*~							   XOBCLR       XOBWUA1*~
   XOBCMSG      XOBWUS1*~							   XOBCMSG      XOBWUS1*~
   XOBCNT       XOBWPST*~							   XOBCNT       XOBWPST*~
										
									      >	*****   Cross Reference of all Routines   *****                              
									      >
									      >	Local Variables    Routines   ( >> not killed explicitly)
									      >	                              ( * Changed  ! Killed  ~ Newed)
   XOBCODE      XOBWLIB1*~							   XOBCODE      XOBWLIB1*~
   XOBCONFG     XOBWP004*~							   XOBCONFG     XOBWP004*~
   XOBCXT       XOBWD*~,XOBWLIB~						   XOBCXT       XOBWD*~,XOBWLIB~
   XOBDA        XOBWD*~,XOBWPST*~,XOBWU1*~,XOBWUA1*~,XOBWUS1*~			   XOBDA        XOBWD*~,XOBWPST*~,XOBWU1*~,XOBWUA1*~,XOBWUS1*~
   XOBDA0       XOBWPST*~,XOBWUS1*~						   XOBDA0       XOBWPST*~,XOBWUS1*~
   XOBDASH      XOBWU1*~,XOBWUA1*~,XOBWUS1*~					   XOBDASH      XOBWU1*~,XOBWUA1*~,XOBWUS1*~
   XOBDATA      XOBWLIB1!,XOBWU~,XOBWUA~,XOBWUS~				   XOBDATA      XOBWLIB1!,XOBWU~,XOBWUA~,XOBWUS~
   XOBDATA("DILIST" 								   XOBDATA("DILIST" 
                XOBWLIB1,XOBWU,XOBWUA,XOBWUS					                XOBWLIB1,XOBWU,XOBWUA,XOBWUS
   XOBDIR       XOBWENV~,XOBWLIB1~						   XOBDIR       XOBWENV~,XOBWLIB1~
   XOBDONE      XOBWPWD*~							   XOBDONE      XOBWPWD*~
   XOBDOTS      XOBWU1*~,XOBWUS1*~						   XOBDOTS      XOBWU1*~,XOBWUS1*~
   XOBEO        XOBWLIB~							   XOBEO        XOBWLIB~
   XOBEOARR     XOBWLIB~							   XOBEOARR     XOBWLIB~
   XOBERR       XOBWD~,XOBWLIB*~,XOBWLIB1*~,XOBWPST~,XOBWPWD~			   XOBERR       XOBWD~,XOBWLIB*~,XOBWLIB1*~,XOBWPST~,XOBWPWD~
   XOBEXIT      XOBWLIB1*~							   XOBEXIT      XOBWLIB1*~
   XOBEXSTS     XOBWP004*~							   XOBEXSTS     XOBWP004*~
   XOBFDA       XOBWD~,XOBWLIB1~,XOBWPST~					   XOBFDA       XOBWD~,XOBWLIB1~,XOBWPST~
   XOBFDA(      XOBWD*,XOBWLIB1*,XOBWPST*					   XOBFDA(      XOBWD*,XOBWLIB1*,XOBWPST*
   XOBFDAI      XOBWD~,XOBWLIB1~						   XOBFDAI      XOBWD~,XOBWLIB1~
   XOBFDAI(1    XOBWD,XOBWLIB1							   XOBFDAI(1    XOBWD,XOBWLIB1
   XOBFERR      XOBWLIB~							   XOBFERR      XOBWLIB~
   XOBFILE      XOBWLIB1~,XOBWPST*~						   XOBFILE      XOBWLIB1~,XOBWPST*~
   XOBH         XOBWPWD*~							   XOBH         XOBWPWD*~
   XOBHRO       XOBWLIB~							   XOBHRO       XOBWLIB~
   XOBI         XOBWD*~,XOBWLIB1*~,XOBWPWD*~,XOBWU*~,XOBWU1*~,XOBWUA*~	      |	   XOBI         XOBWD*~,XOBWLIB1*~,XOBWPWD*~,XOBWU*~,XOBWU1*~,XOBWUA*~,XOBWUA
                XOBWUA1*~,XOBWUS*~,XOBWUS1*~				      <
   XOBIEN       XOBWD*~,XOBWLIB1*~						   XOBIEN       XOBWD*~,XOBWLIB1*~
   XOBIENS      XOBWD*~,XOBWLIB1*~,XOBWPST*~					   XOBIENS      XOBWD*~,XOBWLIB1*~,XOBWPST*~
   XOBINARR     XOBWD~								   XOBINARR     XOBWD~
   XOBINFO      XOBWD*~								   XOBINFO      XOBWD*~
   XOBISSUE     XOBWUS1*~							   XOBISSUE     XOBWUS1*~
   XOBJ         XOBWLIB1~,XOBWUS1*~						   XOBJ         XOBWLIB1~,XOBWUS1*~
   XOBKEY       XOBWUA*~							   XOBKEY       XOBWUA*~
   XOBKFILT     XOBWUA*~,XOBWUA1*						   XOBKFILT     XOBWUA*~,XOBWUA1*
   XOBKYIEN     XOBWLIB1*~							   XOBKYIEN     XOBWLIB1*~
   XOBKYNM      XOBWLIB1*~							   XOBKYNM      XOBWLIB1*~
   XOBLABEL     XOBWPST~							   XOBLABEL     XOBWPST~
   XOBLERR      XOBWD~,XOBWLIB1~						   XOBLERR      XOBWD~,XOBWLIB1~
   XOBLERR(     XOBWD,XOBWLIB1							   XOBLERR(     XOBWD,XOBWLIB1
   XOBLINE      XOBWU1*~,XOBWUA1*~,XOBWUS1*~					   XOBLINE      XOBWU1*~,XOBWUA1*~,XOBWUS1*~
   XOBLIST      XOBWLIB1~							   XOBLIST      XOBWLIB1~
   XOBMATCH     XOBWPWD*~							   XOBMATCH     XOBWPWD*~
   XOBMSG       XOBWUS1*~							   XOBMSG       XOBWUS1*~
   XOBMULDA     XOBWD*~,XOBWUS1*~						   XOBMULDA     XOBWD*~,XOBWUS1*~
   XOBNAME      XOBWP004*~							   XOBNAME      XOBWP004*~
   XOBNUM       XOBWPST~							   XOBNUM       XOBWPST~
   XOBOERR      XOBWLIB1~							   XOBOERR      XOBWLIB1~
   XOBOK        XOBWD*~,XOBWLIB*~,XOBWUS1*~					   XOBOK        XOBWD*~,XOBWLIB*~,XOBWUS1*~
   XOBOS        XOBWENV*~							   XOBOS        XOBWENV*~
   XOBOUT       XOBWD~								   XOBOUT       XOBWD~
   XOBOUT(      XOBWD								   XOBOUT(      XOBWD
   XOBPARMS     XOBWLIB1~							   XOBPARMS     XOBWLIB1~
   XOBPARMS(    XOBWLIB1*							   XOBPARMS(    XOBWLIB1*
   XOBPATH      XOBWENV*~,XOBWLIB1*~						   XOBPATH      XOBWENV*~,XOBWLIB1*~
   XOBPAUSE     XOBWU~,XOBWUA~,XOBWUS~						   XOBPAUSE     XOBWU~,XOBWUA~,XOBWUS~
   XOBPKG       XOBWD*~								   XOBPKG       XOBWD*~
										
									      >	*****   Cross Reference of all Routines   *****                              
									      >
									      >	Local Variables    Routines   ( >> not killed explicitly)
									      >	                              ( * Changed  ! Killed  ~ Newed)
   XOBPROP      XOBWP004~							   XOBPROP      XOBWP004~
   XOBPROP(     XOBWP004							   XOBPROP(     XOBWP004
   XOBPROP2     XOBWP004~							   XOBPROP2     XOBWP004~
   XOBPROP2("Description" 							   XOBPROP2("Description" 
                XOBWP004*							                XOBWP004*
   XOBPROP2("Enabled" 								   XOBPROP2("Enabled" 
                XOBWP004*							                XOBWP004*
   XOBPROP2("Protocols" 							   XOBPROP2("Protocols" 
                XOBWP004*							                XOBWP004*
   XOBPROXY     XOBWLIB~,XOBWLIB1~						   XOBPROXY     XOBWLIB~,XOBWLIB1~
   XOBR         XOBWLIB1*~							   XOBR         XOBWLIB1*~
   XOBREADR     XOBWD*~								   XOBREADR     XOBWD*~
   XOBREST      XOBWLIB~							   XOBREST      XOBWLIB~
   XOBROOT      XOBWD*~,XOBWU*~,XOBWUA*~,XOBWUS*~				   XOBROOT      XOBWD*~,XOBWU*~,XOBWUA*~,XOBWUS*~
   XOBRSCE      XOBWLIB~							   XOBRSCE      XOBWLIB~
   XOBSCODE     XOBWLIB~							   XOBSCODE     XOBWLIB~
   XOBSFILT     XOBWUA*~,XOBWUA1*						   XOBSFILT     XOBWUA*~,XOBWUA1*
   XOBSITEI     XOBWU~,XOBWUA~							   XOBSITEI     XOBWU~,XOBWUA~
   XOBSO        XOBWLIB~							   XOBSO        XOBWLIB~
   XOBSORT      XOBWUA*~,XOBWUA1*						   XOBSORT      XOBWUA*~,XOBWUA1*
   XOBSRVDA     XOBWD*~,XOBWUS1*~						   XOBSRVDA     XOBWD*~,XOBWUS1*~
   XOBSRVNM     XOBWD*~								   XOBSRVNM     XOBWD*~
   XOBSRVR      XOBWLIB~,XOBWU1*~,XOBWUA*~					   XOBSRVR      XOBWLIB~,XOBWU1*~,XOBWUA*~
   XOBSTAT      XOBWD*~,XOBWLIB1*~,XOBWP004*~,XOBWPST*~,XOBWUS1*~		   XOBSTAT      XOBWD*~,XOBWLIB1*~,XOBWP004*~,XOBWPST*~,XOBWUS1*~
   XOBSTAT2     XOBWP004*~							   XOBSTAT2     XOBWP004*~
   XOBSTRM      XOBWD*~								   XOBSTRM      XOBWD*~
   XOBSVRS      XOBWLIB1*~							   XOBSVRS      XOBWLIB1*~
   XOBTALK      XOBWPWD~							   XOBTALK      XOBWPWD~
   XOBTEXT      XOBWU1~,XOBWUS1~						   XOBTEXT      XOBWU1~,XOBWUS1~
   XOBTYPE      XOBWD~,XOBWUS1*~						   XOBTYPE      XOBWD~,XOBWUS1*~
   XOBVER       XOBWENV*~,XOBWSSL*~						   XOBVER       XOBWENV*~,XOBWSSL*~
   XOBW         XOBWP004~							   XOBW         XOBWP004~
   XOBWAV       XOBWD*~								   XOBWAV       XOBWD*~
   XOBWCDEF     XOBWUS1*~							   XOBWCDEF     XOBWUS1*~
   XOBWDESC     XOBWLIB~,XOBWLIB1~						   XOBWDESC     XOBWLIB~,XOBWLIB1~
   XOBWI        XOBWP004*~							   XOBWI        XOBWP004*~
   XOBWIN       XOBWP004~							   XOBWIN       XOBWP004~
   XOBWKEY      XOBWLIB~,XOBWLIB1*~						   XOBWKEY      XOBWLIB~,XOBWLIB1*~
   XOBWNOTE     XOBWP004*~							   XOBWNOTE     XOBWP004*~
   XOBWSDL      XOBWD*~,XOBWLIB~,XOBWUS1*~					   XOBWSDL      XOBWD*~,XOBWLIB~,XOBWUS1*~
   XOBWSIEN     XOBWLIB1*~							   XOBWSIEN     XOBWLIB1*~
   XOBWSN       XOBWD*~,XOBWLIB~						   XOBWSN       XOBWD*~,XOBWLIB~
   XOBWSNM      XOBWLIB~,XOBWLIB1*~						   XOBWSNM      XOBWLIB~,XOBWLIB1*~
   XOBWY        XOBWPA04*~,XOBWPB04*~						   XOBWY        XOBWPA04*~,XOBWPB04*~
   XOBX         XOBWD~,XOBWPST~,XOBWPWD*~,XOBWU1*~,XOBWUA*~			   XOBX         XOBWD~,XOBWPST~,XOBWPWD*~,XOBWU1*~,XOBWUA*~
   XOBY         XOBWD~,XOBWLIB~,XOBWPST~,XOBWU1*~,XOBWUA1*~,XOBWUS1*~,XOBWUS2	   XOBY         XOBWD~,XOBWLIB~,XOBWPST~,XOBWU1*~,XOBWUA1*~,XOBWUS1*~,XOBWUS2
   XOBY(        XOBWU1*,XOBWUS1							   XOBY(        XOBWU1*,XOBWUS1
   XOBY(""      XOBWU1								   XOBY(""      XOBWU1
   XOBY("AVAILABILITY RESOURCE" 						   XOBY("AVAILABILITY RESOURCE" 
                XOBWD								                XOBWD
   XOBY("BUILD CALLBACK" 							   XOBY("BUILD CALLBACK" 
                XOBWU1*,XOBWUS1*,XOBWUS2					                XOBWU1*,XOBWUS1*,XOBWUS2
   XOBY("CACHE PACKAGE NAME" 							   XOBY("CACHE PACKAGE NAME" 
                XOBWD								                XOBWD
   XOBY("HEADER" 								   XOBY("HEADER" 
                XOBWU1*,XOBWUS1*,XOBWUS2					                XOBWU1*,XOBWUS1*,XOBWUS2
										
									      >	*****   Cross Reference of all Routines   *****                              
									      >
									      >	Local Variables    Routines   ( >> not killed explicitly)
									      >	                              ( * Changed  ! Killed  ~ Newed)
   XOBY("LABEL" XOBWPST								   XOBY("LABEL" XOBWPST
   XOBY("TITLE" XOBWU1*,XOBWUS1*,XOBWUS2					   XOBY("TITLE" XOBWU1*,XOBWUS1*,XOBWUS2
   XOBY("WEB SERVICE NAME" 							   XOBY("WEB SERVICE NAME" 
                XOBWD								                XOBWD
   XOBY("WSDL FILE" 								   XOBY("WSDL FILE" 
                XOBWD								                XOBWD
   XPATH        XOBWPA04*~,XOBWPB04*~						   XPATH        XOBWPA04*~,XOBWPB04*~
>> XPDABORT     XOBWENV*,XOBWP004*						>> XPDABORT     XOBWENV*,XOBWP004*
>> XPDENV       XOBWENV								>> XPDENV       XOBWENV
>> XPDQUES("POSXMLDIR" 								>> XPDQUES("POSXMLDIR" 
                XOBWPST								                XOBWPST
>> XQORNOD(0    XOBWU1,XOBWUA1,XOBWUS1						>> XQORNOD(0    XOBWU1,XOBWUA1,XOBWUS1
   XREF         XOBWPA04*~,XOBWPB04*~						   XREF         XOBWPA04*~,XOBWPB04*~
   XUSL         XOBWP004~							   XUSL         XOBWP004~
   Y            XOBWLIB1*~,XOBWPA04*~,XOBWPB04*~,XOBWPWD,XOBWU~,XOBWU1~,XOBWU |	   Y            XOBWLIB1*~,XOBWPA04*~,XOBWPB04*~,XOBWPWD,XOBWU~,XOBWU1~,XOBWU
                XOBWUA1~,XOBWUS*~,XOBWUS1~,|dd18.02,|dd18.12*!,|inpt*	      <
   Y(0          |dd18.12*							   Y(0          |dd18.12*
   Y(1          |dd18.12*							   Y(1          |dd18.12*

Global Variables								Global Variables
   ^%ZOSF("EOFF"       XOBWPWD							   ^%ZOSF("EOFF"       XOBWPWD
   ^%ZOSF("EON"        XOBWPWD							   ^%ZOSF("EON"        XOBWPWD
   ^%ZOSF("LOAD"       XOBWP004							   ^%ZOSF("LOAD"       XOBWP004
   ^%ZOSF("OS"         XOBWENV							   ^%ZOSF("OS"         XOBWENV
   ^DD(18.12           |dd18.12							   ^DD(18.12           |dd18.12
   ^DISV(              XOBWLIB1							   ^DISV(              XOBWLIB1
   ^ORD(101            |ptcl						      <
   ^TMP("PSC DATA"     XOBWP004*!						   ^TMP("PSC DATA"     XOBWP004*!
   ^TMP("XOB WEB SERVER LOOKUP"							   ^TMP("XOB WEB SERVER LOOKUP"
                       XOBWUA*!,XOBWUA1,|list				      |	                       XOBWUA*!,XOBWUA1
   ^TMP("XOB WEBSERVERS"							   ^TMP("XOB WEBSERVERS"
                       XOBWU*!,XOBWU1,|list				      |	                       XOBWU*!,XOBWU1
   ^TMP("XOB WEBSERVICES"							   ^TMP("XOB WEBSERVICES"
                       XOBWUS*!,XOBWUS1,|list				      |	                       XOBWUS*!,XOBWUS1
   ^TMP("XOBW WSDL FILING"							   ^TMP("XOBW WSDL FILING"
                       XOBWD							                       XOBWD
   ^TMP($J             XOBWP004!,XOBWPA04*!,XOBWPB04*!				   ^TMP($J             XOBWP004!,XOBWPA04*!,XOBWPB04*!
   ^XMB("NETNAME"      XOBWP004							   ^XMB("NETNAME"      XOBWP004
   ^XOB(               XOBWPST							   ^XOB(               XOBWPST
   ^XOB(18.02          XOBWD,XOBWUS1,|dd18.02*!					   ^XOB(18.02          XOBWD,XOBWUS1,|dd18.02*!
   ^XOB(18.12          XOBWD,XOBWLIB1,XOBWPST!,XOBWUS1,|dd18.12*!,|dd18.121*!	   ^XOB(18.12          XOBWD,XOBWLIB1,XOBWPST!,XOBWUS1,|dd18.12*!,|dd18.121*!
   ^XOB(18.13          XOBWLIB1,XOBWU1,|dd18.13*!				   ^XOB(18.13          XOBWLIB1,XOBWU1,|dd18.13*!

Naked Globals									Naked Globals
   ^(           XOBWPST								   ^(           XOBWPST
   ^(0          XOBWLIB1							   ^(0          XOBWLIB1
   ^(1          |dd18.12*							   ^(1          |dd18.12*
   ^(24         |ptcl							      <

Cache Objects									Cache Objects
   $SYSTEM.OBJ.DeletePackage       XOBWPST					   $SYSTEM.OBJ.DeletePackage       XOBWPST
   $system.OBJ.Load                XOBWLIB1					   $system.OBJ.Load                XOBWLIB1
   $system.Status.DecomposeStatus  XOBWD,XOBWLIB1				   $system.Status.DecomposeStatus  XOBWD,XOBWLIB1
   $system.Status.IsError          XOBWSSL					   $system.Status.IsError          XOBWSSL
   $system.Status.IsOK             XOBWLIB					   $system.Status.IsOK             XOBWLIB
   %Dictionary.ClassDefinition     XOBWD,XOBWUS1				   %Dictionary.ClassDefinition     XOBWD,XOBWUS1
   %File                           XOBWD,XOBWENV,XOBWLIB1			   %File                           XOBWD,XOBWENV,XOBWLIB1
   %FileCharacterStream            XOBWD					   %FileCharacterStream            XOBWD
   %Library.ArrayOfDataTypes       XOBWLIB1					   %Library.ArrayOfDataTypes       XOBWLIB1
										
									      >	*****   Cross Reference of all Routines   *****                              
									      >
									      >	Cache Objects
   %Net.SSL.Configuration          XOBWSSL					   %Net.SSL.Configuration          XOBWSSL
   %ResultSet                      XOBWSSL					   %ResultSet                      XOBWSSL
   %SOAP.WSDL.Reader               XOBWD					   %SOAP.WSDL.Reader               XOBWD
   CFG.CAFile                      XOBWSSL					   CFG.CAFile                      XOBWSSL
   CFG.CAPath                      XOBWSSL					   CFG.CAPath                      XOBWSSL
   CFG.CertificateFile             XOBWSSL					   CFG.CertificateFile             XOBWSSL
   CFG.CipherList                  XOBWSSL					   CFG.CipherList                  XOBWSSL
   CFG.Name                        XOBWSSL					   CFG.Name                        XOBWSSL
   CFG.PrivateKeyFile              XOBWSSL					   CFG.PrivateKeyFile              XOBWSSL
   CFG.PrivateKeyType              XOBWSSL					   CFG.PrivateKeyType              XOBWSSL
   CFG.Role                        XOBWSSL					   CFG.Role                        XOBWSSL
   CFG.VerifyDepth                 XOBWSSL					   CFG.VerifyDepth                 XOBWSSL
   CFG.VerifyPeer                  XOBWSSL					   CFG.VerifyPeer                  XOBWSSL
   INFOARR.SetAt                   XOBWLIB1					   INFOARR.SetAt                   XOBWLIB1
   RS.Data                         XOBWSSL					   RS.Data                         XOBWSSL
   RS.Execute                      XOBWSSL					   RS.Execute                      XOBWSSL
   RS.Next                         XOBWSSL					   RS.Next                         XOBWSSL
   Security.SSLConfigs             XOBWP004					   Security.SSLConfigs             XOBWP004
   XOBCONFG.Create                 XOBWP004					   XOBCONFG.Create                 XOBWP004
   XOBEO.%IsA                      XOBWLIB					   XOBEO.%IsA                      XOBWLIB
   XOBEO.decompose                 XOBWLIB					   XOBEO.decompose                 XOBWLIB
   XOBEO.display                   XOBWLIB					   XOBEO.display                   XOBWLIB
   XOBPROXY.SoapFault              XOBWLIB1					   XOBPROXY.SoapFault              XOBWLIB1
   XOBREADR.OutputTypeAttribute    XOBWD*					   XOBREADR.OutputTypeAttribute    XOBWD*
   XOBREADR.Process                XOBWD					   XOBREADR.Process                XOBWD
   XOBREST.Get                     XOBWLIB					   XOBREST.Get                     XOBWLIB
   XOBREST.HttpResponse            XOBWLIB					   XOBREST.HttpResponse            XOBWLIB
   XOBREST.HttpResponse.StatusCode XOBWLIB					   XOBREST.HttpResponse.StatusCode XOBWLIB
   XOBREST.Post                    XOBWLIB					   XOBREST.Post                    XOBWLIB
   XOBSRVR.checkWebServicesAvailability						   XOBSRVR.checkWebServicesAvailability
                                   XOBWU1					                                   XOBWU1
   XOBSTRM.AtEnd                   XOBWD					   XOBSTRM.AtEnd                   XOBWD
   XOBSTRM.Filename                XOBWD*					   XOBSTRM.Filename                XOBWD*
   XOBSTRM.ReadLine                XOBWD					   XOBSTRM.ReadLine                XOBWD
   XOBWCDEF.Super                  XOBWUS1					   XOBWCDEF.Super                  XOBWUS1
   XOBY.Count                      XOBWU1					   XOBY.Count                      XOBWU1
   XOBY.GetAt                      XOBWU1					   XOBY.GetAt                      XOBWU1
   xobw.RestRequestFactory         XOBWLIB					   xobw.RestRequestFactory         XOBWLIB
   xobw.VistaInfoHeader            XOBWLIB1					   xobw.VistaInfoHeader            XOBWLIB1
   xobw.WebServer                  XOBWU1					   xobw.WebServer                  XOBWU1
   xobw.WebServiceProxyFactory     XOBWLIB					   xobw.WebServiceProxyFactory     XOBWLIB
   xobw.WsdlHandler                XOBWD					   xobw.WsdlHandler                XOBWD
   xobw.error.BasicError           XOBWLIB1					   xobw.error.BasicError           XOBWLIB1
   xobw.error.DialogError          XOBWLIB1					   xobw.error.DialogError          XOBWLIB1
   xobw.error.HttpError            XOBWLIB					   xobw.error.HttpError            XOBWLIB
   xobw.error.ObjectError          XOBWLIB,XOBWLIB1				   xobw.error.ObjectError          XOBWLIB,XOBWLIB1
   xobw.error.SoapError            XOBWLIB1					   xobw.error.SoapError            XOBWLIB1

Marked Items									Marked Items
   $T(DATA+I    XOBWPA04,XOBWPB04						   $T(DATA+I    XOBWPA04,XOBWPB04
   $T(SOAPNAME^XOBTPST							      <
                |ptcl							      <
   $T(XOBWENV+1 XOBWENV								   $T(XOBWENV+1 XOBWENV
   $T(XOBWU+1   XOBWU								   $T(XOBWU+1   XOBWU
   $T(XOBWUA+1  XOBWUA								   $T(XOBWUA+1  XOBWUA
   $T(XOBWUS+1  XOBWUS								   $T(XOBWUS+1  XOBWUS

Routine             Invokes:							Routine             Invokes:
   XOBWD        MSG^DIALOG,$$FIND1^DIC,FILE^DIE,UPDATE^DIE,VAL^DIE,WP^DIE,DIK |	   XOBWD        MSG^DIALOG,$$FIND1^DIC,FILE^DIE,UPDATE^DIE,VAL^DIE,WP^DIE,DIK
										
                $$NOW^XLFDT,REGSOAP^XOBWLIB,BMES^XPDUTL,MES^XPDUTL	      |	*****   Cross Reference of all Routines   *****                              
									      >
									      >	Routine             Invokes:
   XOBWENV      $$OS^%ZOSV,$$VERSION^%ZOSV,DIR,$$PROD^XUPROD			   XOBWENV      $$OS^%ZOSV,$$VERSION^%ZOSV,DIR,$$PROD^XUPROD
   XOBWLIB      %ZTER,$$GENPORT^XOBWD,REGISTER^XOBWD,UNREG^XOBWD	      |	   XOBWLIB      %ZTER,$$GENPORT^XOBWD,REGISTER^XOBWD,UNREG^XOBWD,$$EOFAC^XOBW
                $$EOFAC^XOBWLIB1,$$GETSRV^XOBWLIB1,$$SKEYADD^XOBWLIB1	      <
                $$SNAME4KY^XOBWLIB1,ATTACHDR^XOBWLIB1,DISPSRVS^XOBWLIB1		                $$SNAME4KY^XOBWLIB1,ATTACHDR^XOBWLIB1,DISPSRVS^XOBWLIB1
   XOBWLIB1     $$EC^%ZOSV,$$EZBLD^DIALOG,MSG^DIALOG,DIC,$$FIND1^DIC,LIST^DIC |	   XOBWLIB1     $$EC^%ZOSV,$$EZBLD^DIALOG,MSG^DIALOG,DIC,$$FIND1^DIC,LIST^DIC
                FILE^DIE,UPDATE^DIE,DIR,$$CJ^XLFSTR,$$UP^XLFSTR		      |	                $$VERSION^XOBWENV,$$STA^XUAF4,$$KSP^XUPARAM,$$PROD^XUPROD,$$V
                $$VERSION^XOBWENV,$$STA^XUAF4,$$KSP^XUPARAM,$$PROD^XUPROD     |	   XOBWP004     SENDMSG^XMXAPI,POST^XOBWPA04,POST^XOBWPB04,BMES^XPDUTL,MES^XP
                $$VPID^XUPS						      |	   XOBWPA04     $$DEFDIR^%ZISH,$$FTG^%ZISH,$$GTF^%ZISH,$$IMPORT^XOBWLIB1,BMES
   XOBWP004     SENDMSG^XMXAPI,POST^XOBWPA04,POST^XOBWPB04,BMES^XPDUTL	      |	   XOBWPB04     $$DEFDIR^%ZISH,$$FTG^%ZISH,$$GTF^%ZISH,$$IMPORT^XOBWLIB1,BMES
                MES^XPDUTL,$$PROD^XUPROD				      |	   XOBWPST      $$DEFDIR^%ZISH,FIELD^DID,FILE^DIE,DIK,ENALL^DIK,$$SUPPORT^XOB
   XOBWPA04     $$DEFDIR^%ZISH,$$FTG^%ZISH,$$GTF^%ZISH,$$IMPORT^XOBWLIB1      |	   XOBWPWD      %ZTER,CLRMSG^DDS,FILE^DIE,$$IENS^DILF,DIR,$$DECRYP^XUSRB1,$$E
                BMES^XPDUTL,MES^XPDUTL					      <
   XOBWPB04     $$DEFDIR^%ZISH,$$FTG^%ZISH,$$GTF^%ZISH,$$IMPORT^XOBWLIB1      <
                BMES^XPDUTL,MES^XPDUTL					      <
   XOBWPST      $$DEFDIR^%ZISH,FIELD^DID,FILE^DIE,DIK,ENALL^DIK		      <
                $$SUPPORT^XOBWENV,$$IMPORT^XOBWLIB1,BMES^XPDUTL,MES^XPDUTL    <
   XOBWPWD      %ZTER,CLRMSG^DDS,FILE^DIE,$$IENS^DILF,DIR,$$DECRYP^XUSRB1     <
                $$ENCRYP^XUSRB1						      <
   XOBWSSL      $$VERSION^%ZOSV,EN^DDIOL					   XOBWSSL      $$VERSION^%ZOSV,EN^DDIOL
   XOBWU        LIST^DIC,EN^VALM,$$SETFLD^VALM1,FULL^VALM1,PAUSE^VALM1	      |	   XOBWU        LIST^DIC,EN^VALM,$$SETFLD^VALM1,FULL^VALM1,PAUSE^VALM1,SET^VA
                SET^VALM10,EN1^XOBTWU,$$VERSION^XOBWENV,EN^XOBWUA,EN^XOBWUS   <
                DISP^XQORM1							                DISP^XQORM1
   XOBWU1       IX^DIC,DIE,DIK,EN^DIQ,DIR,CLEAR^VALM1,PAUSE^VALM1,CLEAN^VALM1 |	   XOBWU1       IX^DIC,DIE,DIK,EN^DIQ,DIR,CLEAR^VALM1,PAUSE^VALM1,CLEAN^VALM1
                SET^VALM10,EN^VALM2,EN^XOBWUS2				      |	   XOBWUA       LIST^DIC,CHGCAP^VALM,EN^VALM,$$SETFLD^VALM1,FULL^VALM1,PAUSE^
   XOBWUA       LIST^DIC,CHGCAP^VALM,EN^VALM,$$SETFLD^VALM1,FULL^VALM1	      <
                PAUSE^VALM1,SET^VALM10,$$UP^XLFSTR,$$VERSION^XOBWENV	      <
                DISP^XQORM1							                DISP^XQORM1
   XOBWUA1      IX^DIC,DIE,DIK,EN^DIQ,DIR,CLEAR^VALM1,PAUSE^VALM1,EN^VALM2    |	   XOBWUA1      IX^DIC,DIE,DIK,EN^DIQ,DIR,CLEAR^VALM1,PAUSE^VALM1,EN^VALM2,$$
                $$UP^XLFSTR,$$NOTDEF^XOBWUA				      |	   XOBWUS       LIST^DIC,EN^VALM,$$SETFLD^VALM1,FULL^VALM1,PAUSE^VALM1,SET^VA
   XOBWUS       LIST^DIC,EN^VALM,$$SETFLD^VALM1,FULL^VALM1,PAUSE^VALM1	      |	   XOBWUS1      IX^DIC,DIE,EN^DIQ1,DIR,CLEAR^VALM1,PAUSE^VALM1,CLEAN^VALM10,S
                SET^VALM10,$$VERSION^XOBWENV,DISP^XQORM1		      <
   XOBWUS1      IX^DIC,DIE,EN^DIQ1,DIR,CLEAR^VALM1,PAUSE^VALM1,CLEAN^VALM10   <
                SET^VALM10,EN^VALM2,UNREG^XOBWLIB,EN^XOBWUS2		      <
   XOBWUS2      EN^VALM,CLEAN^VALM10,DISP^XQORM1				   XOBWUS2      EN^VALM,CLEAN^VALM10,DISP^XQORM1
   |dd18.02     %DT								   |dd18.02     %DT
   |dd18.12     %DT,DICR,EDIT^XOBWPWD,$$CHKNAME^XOBWSSL,DISPLAY^XOBWSSL		   |dd18.12     %DT,DICR,EDIT^XOBWPWD,$$CHKNAME^XOBWSSL,DISPLAY^XOBWSSL
   |dd18.13     $$UP^XLFSTR							   |dd18.13     $$UP^XLFSTR
   |inpt        $$SSLOK^XOBWENV						      <
   |list        EXIT^XOBWU,EXPAND^XOBWU,HDR^XOBWU,HELP^XOBWU,INIT^XOBWU	      <
                EXIT^XOBWUA,EXPAND^XOBWUA,HDR^XOBWUA,HELP^XOBWUA,INIT^XOBWUA  <
                EXIT^XOBWUS,EXPAND^XOBWUS,HDR^XOBWUS,HELP^XOBWUS,INIT^XOBWUS  <
                EXIT^XOBWUS2,HDR^XOBWUS2,HELP^XOBWUS2,INIT^XOBWUS2	      <
   |opt         EN^XOBWU							   |opt         EN^XOBWU
   |ptcl        SHOW^VALM,SOAPNAME^XOBTPST,ADD^XOBWU,AVAIL^XOBWU,DEL^XOBWU    <
                EDIT^XOBWU,LKM^XOBWU,WSM^XOBWU,WST^XOBWU,ADD^XOBWUA,DEL^XOBWU <
                EDIT^XOBWUA,KFILTER^XOBWUA,SFILTER^XOBWUA,SORT^XOBWUA	      <
                ADD^XOBWUS,DEL^XOBWUS,EDIT^XOBWUS			      <

Routine             is Invoked by:						Routine             is Invoked by:
   ^%DT                |dd18.02,|dd18.12					   ^%DT                |dd18.02,|dd18.12
   $$DEFDIR^%ZISH      XOBWPA04,XOBWPB04,XOBWPST				   $$DEFDIR^%ZISH      XOBWPA04,XOBWPB04,XOBWPST
   $$FTG^%ZISH         XOBWPA04,XOBWPB04					   $$FTG^%ZISH         XOBWPA04,XOBWPB04
   $$GTF^%ZISH         XOBWPA04,XOBWPB04					   $$GTF^%ZISH         XOBWPA04,XOBWPB04
   $$EC^%ZOSV          XOBWLIB1							   $$EC^%ZOSV          XOBWLIB1
   $$OS^%ZOSV          XOBWENV							   $$OS^%ZOSV          XOBWENV
   $$VERSION^%ZOSV     XOBWENV,XOBWSSL						   $$VERSION^%ZOSV     XOBWENV,XOBWSSL
   ^%ZTER              XOBWLIB,XOBWPWD						   ^%ZTER              XOBWLIB,XOBWPWD
   EN^DDIOL            XOBWSSL							   EN^DDIOL            XOBWSSL
   CLRMSG^DDS          XOBWPWD							   CLRMSG^DDS          XOBWPWD
   $$EZBLD^DIALOG      XOBWLIB1							   $$EZBLD^DIALOG      XOBWLIB1
   MSG^DIALOG          XOBWD,XOBWLIB1						   MSG^DIALOG          XOBWD,XOBWLIB1
   ^DIC                XOBWLIB1							   ^DIC                XOBWLIB1
   $$FIND1^DIC         XOBWD,XOBWLIB1						   $$FIND1^DIC         XOBWD,XOBWLIB1
   IX^DIC              XOBWU1,XOBWUA1,XOBWUS1					   IX^DIC              XOBWU1,XOBWUA1,XOBWUS1
   LIST^DIC            XOBWLIB1,XOBWU,XOBWUA,XOBWUS				   LIST^DIC            XOBWLIB1,XOBWU,XOBWUA,XOBWUS
   ^DICR               |dd18.12							   ^DICR               |dd18.12
   FIELD^DID           XOBWPST							   FIELD^DID           XOBWPST
   ^DIE                XOBWU1,XOBWUA1,XOBWUS1					   ^DIE                XOBWU1,XOBWUA1,XOBWUS1
   FILE^DIE            XOBWD,XOBWLIB1,XOBWPST,XOBWPWD				   FILE^DIE            XOBWD,XOBWLIB1,XOBWPST,XOBWPWD
   UPDATE^DIE          XOBWD,XOBWLIB1						   UPDATE^DIE          XOBWD,XOBWLIB1
   VAL^DIE             XOBWD							   VAL^DIE             XOBWD
   WP^DIE              XOBWD							   WP^DIE              XOBWD
   ^DIK                XOBWD,XOBWPST,XOBWU1,XOBWUA1				   ^DIK                XOBWD,XOBWPST,XOBWU1,XOBWUA1
   ENALL^DIK           XOBWPST							   ENALL^DIK           XOBWPST
   $$IENS^DILF         XOBWPWD							   $$IENS^DILF         XOBWPWD
   EN^DIQ              XOBWU1,XOBWUA1						   EN^DIQ              XOBWU1,XOBWUA1
   EN^DIQ1             XOBWUS1							   EN^DIQ1             XOBWUS1
   ^DIR                XOBWENV,XOBWLIB1,XOBWPWD,XOBWU1,XOBWUA1,XOBWUS1		   ^DIR                XOBWENV,XOBWLIB1,XOBWPWD,XOBWU1,XOBWUA1,XOBWUS1
   CHGCAP^VALM         XOBWUA							   CHGCAP^VALM         XOBWUA
   EN^VALM             XOBWU,XOBWUA,XOBWUS,XOBWUS2				   EN^VALM             XOBWU,XOBWUA,XOBWUS,XOBWUS2
										
   SHOW^VALM           |ptcl						      |	*****   Cross Reference of all Routines   *****                              
									      >
									      >	Routine             is Invoked by:
   $$SETFLD^VALM1      XOBWU,XOBWUA,XOBWUS					   $$SETFLD^VALM1      XOBWU,XOBWUA,XOBWUS
   CLEAR^VALM1         XOBWU1,XOBWUA1,XOBWUS1					   CLEAR^VALM1         XOBWU1,XOBWUA1,XOBWUS1
   FULL^VALM1          XOBWU,XOBWUA,XOBWUS					   FULL^VALM1          XOBWU,XOBWUA,XOBWUS
   PAUSE^VALM1         XOBWU,XOBWU1,XOBWUA,XOBWUA1,XOBWUS,XOBWUS1		   PAUSE^VALM1         XOBWU,XOBWU1,XOBWUA,XOBWUA1,XOBWUS,XOBWUS1
   CLEAN^VALM10        XOBWU1,XOBWUS1,XOBWUS2					   CLEAN^VALM10        XOBWU1,XOBWUS1,XOBWUS2
   SET^VALM10          XOBWU,XOBWU1,XOBWUA,XOBWUS,XOBWUS1			   SET^VALM10          XOBWU,XOBWU1,XOBWUA,XOBWUS,XOBWUS1
   EN^VALM2            XOBWU1,XOBWUA1,XOBWUS1					   EN^VALM2            XOBWU1,XOBWUA1,XOBWUS1
   $$NOW^XLFDT         XOBWD							   $$NOW^XLFDT         XOBWD
   $$CJ^XLFSTR         XOBWLIB1							   $$CJ^XLFSTR         XOBWLIB1
   $$UP^XLFSTR         XOBWLIB1,XOBWUA,XOBWUA1,|dd18.13				   $$UP^XLFSTR         XOBWLIB1,XOBWUA,XOBWUA1,|dd18.13
   SENDMSG^XMXAPI      XOBWP004							   SENDMSG^XMXAPI      XOBWP004
   SOAPNAME^XOBTPST    |ptcl						      <
   EN1^XOBTWU          XOBWU							   EN1^XOBTWU          XOBWU
   $$GENPORT^XOBWD     XOBWLIB							   $$GENPORT^XOBWD     XOBWLIB
   REGISTER^XOBWD      XOBWLIB							   REGISTER^XOBWD      XOBWLIB
   UNREG^XOBWD         XOBWLIB							   UNREG^XOBWD         XOBWLIB
   $$SSLOK^XOBWENV     |inpt						      <
   $$SUPPORT^XOBWENV   XOBWPST							   $$SUPPORT^XOBWENV   XOBWPST
   $$VERSION^XOBWENV   XOBWLIB1,XOBWU,XOBWUA,XOBWUS				   $$VERSION^XOBWENV   XOBWLIB1,XOBWU,XOBWUA,XOBWUS
   REGSOAP^XOBWLIB     XOBWD							   REGSOAP^XOBWLIB     XOBWD
   UNREG^XOBWLIB       XOBWUS1							   UNREG^XOBWLIB       XOBWUS1
   $$EOFAC^XOBWLIB1    XOBWLIB							   $$EOFAC^XOBWLIB1    XOBWLIB
   $$GETSRV^XOBWLIB1   XOBWLIB							   $$GETSRV^XOBWLIB1   XOBWLIB
   $$IMPORT^XOBWLIB1   XOBWPA04,XOBWPB04,XOBWPST				   $$IMPORT^XOBWLIB1   XOBWPA04,XOBWPB04,XOBWPST
   $$SKEYADD^XOBWLIB1  XOBWLIB							   $$SKEYADD^XOBWLIB1  XOBWLIB
   $$SNAME4KY^XOBWLIB1 XOBWLIB							   $$SNAME4KY^XOBWLIB1 XOBWLIB
   ATTACHDR^XOBWLIB1   XOBWLIB							   ATTACHDR^XOBWLIB1   XOBWLIB
   DISPSRVS^XOBWLIB1   XOBWLIB							   DISPSRVS^XOBWLIB1   XOBWLIB
   POST^XOBWPA04       XOBWP004							   POST^XOBWPA04       XOBWP004
   POST^XOBWPB04       XOBWP004							   POST^XOBWPB04       XOBWP004
   EDIT^XOBWPWD        |dd18.12							   EDIT^XOBWPWD        |dd18.12
   $$CHKNAME^XOBWSSL   |dd18.12							   $$CHKNAME^XOBWSSL   |dd18.12
   DISPLAY^XOBWSSL     |dd18.12							   DISPLAY^XOBWSSL     |dd18.12
   ADD^XOBWU           |ptcl						      <
   AVAIL^XOBWU         |ptcl						      <
   DEL^XOBWU           |ptcl						      <
   EDIT^XOBWU          |ptcl						      <
   EN^XOBWU            |opt							   EN^XOBWU            |opt
   EXIT^XOBWU          |list						      <
   EXPAND^XOBWU        |list						      <
   HDR^XOBWU           |list						      <
   HELP^XOBWU          |list						      <
   INIT^XOBWU          |list						      <
   LKM^XOBWU           |ptcl						      <
   WSM^XOBWU           |ptcl						      <
   WST^XOBWU           |ptcl						      <
   $$NOTDEF^XOBWUA     XOBWUA1							   $$NOTDEF^XOBWUA     XOBWUA1
   ADD^XOBWUA          |ptcl						      <
   DEL^XOBWUA          |ptcl						      <
   EDIT^XOBWUA         |ptcl						      <
   EN^XOBWUA           XOBWU							   EN^XOBWUA           XOBWU
   EXIT^XOBWUA         |list						      <
   EXPAND^XOBWUA       |list						      <
   HDR^XOBWUA          |list						      <
   HELP^XOBWUA         |list						      <
   INIT^XOBWUA         |list						      <
   KFILTER^XOBWUA      |ptcl						      <
   SFILTER^XOBWUA      |ptcl						      <
   SORT^XOBWUA         |ptcl						      <
   ADD^XOBWUS          |ptcl						      <
   DEL^XOBWUS          |ptcl						      <
   EDIT^XOBWUS         |ptcl						      <
   EN^XOBWUS           XOBWU							   EN^XOBWUS           XOBWU
   EXIT^XOBWUS         |list						      <
   EXPAND^XOBWUS       |list						      <
   HDR^XOBWUS          |list						      <
   HELP^XOBWUS         |list						      <
   INIT^XOBWUS         |list						      <
   EN^XOBWUS2          XOBWU1,XOBWUS1						   EN^XOBWUS2          XOBWU1,XOBWUS1
   EXIT^XOBWUS2        |list						      <
   HDR^XOBWUS2         |list						      <
   HELP^XOBWUS2        |list						      <
   INIT^XOBWUS2        |list						      <
   BMES^XPDUTL         XOBWD,XOBWP004,XOBWPA04,XOBWPB04,XOBWPST			   BMES^XPDUTL         XOBWD,XOBWP004,XOBWPA04,XOBWPB04,XOBWPST
   MES^XPDUTL          XOBWD,XOBWP004,XOBWPA04,XOBWPB04,XOBWPST			   MES^XPDUTL          XOBWD,XOBWP004,XOBWPA04,XOBWPB04,XOBWPST
   DISP^XQORM1         XOBWU,XOBWUA,XOBWUS,XOBWUS2				   DISP^XQORM1         XOBWU,XOBWUA,XOBWUS,XOBWUS2
   $$STA^XUAF4         XOBWLIB1							   $$STA^XUAF4         XOBWLIB1
   $$KSP^XUPARAM       XOBWLIB1							   $$KSP^XUPARAM       XOBWLIB1
   $$PROD^XUPROD       XOBWENV,XOBWLIB1,XOBWP004				   $$PROD^XUPROD       XOBWENV,XOBWLIB1,XOBWP004
   $$VPID^XUPS         XOBWLIB1							   $$VPID^XUPS         XOBWLIB1
   $$DECRYP^XUSRB1     XOBWPWD							   $$DECRYP^XUSRB1     XOBWPWD
   $$ENCRYP^XUSRB1     XOBWPWD							   $$ENCRYP^XUSRB1     XOBWPWD

*****   END   *****								*****   END   *****


--- END ---									--- END ---
