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