Check the UDDI service status yourself
Ever run into problems that you 'think' may be related to not being able to access the UDDI service? I wrote a script that should help you (and me) determine if the UDDI service is up or down.
Here is the source. Again, use at your own risk, make sure that if you are copying and pasting that you check the longer strings to make sure they haven't newlined on you...and of course, add some error checking. It continues to amaze me how poor my formatting, commenting, and coding skills are. I only write this stuff for me usually, so I don't care if it's not formatted correctly, or if there are 'better' ways to do it. My goal is to write as little code as possible to get what I need. ;)
'********************************************************
' RMS UDDI Checker - Jason Tyler
' Date: uhhh...night time
'********************************************************
strURL = "https://uddi.microsoft.com/inquire"
retval = GetUDDIInfo(strURL,vbnullstring)
Wscript.Echo GetUDDIInfo(strURL,retval)
Function GetUDDIInfo(strURL,strKey)
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
If strKey = vbnullstring Then
strSType = "ServiceInfo"
strEnrollment = "uuid:d3bf98c5-dea7-4503-80f1-99758c4486f4"
strBody = "<find_service generic='2.0' xmlns='urn:uddi-org:api_v2' businessKey=''><tModelBag><tModelKey>" & strEnrollment & "</tModelKey></tModelBag></find_service>"
Else
strSType = "ServiceDetail"
strEnrollment = strKey
strBody = "<get_serviceDetail generic='2.0' xmlns='urn:uddi-org:api_v2'><serviceKey>" & strEnrollment & "</serviceKey></get_serviceDetail>"
End If
strEnvelope = "<soap:Envelope xmlns:soap='https://schemas.xmlsoap.org/soap/envelope/'><soap:Body>" & strBody & "</soap:Body></soap:Envelope>"
strRequest = "<?xml version='1.0' encoding='utf-8'?>" & strEnvelope
With XMLHTTP
.Open "POST", strURL, False
.setRequestHeader "content-type", "text/xml; charset=utf-8"
.setRequestHeader "SOAPAction", """"""
.send strRequest
'Wscript.Echo .responseXML.xml 'Uncomment this line to see the actual XML
If .Status = 200 Then
Set oDOM = .responseXML.documentElement
Select Case strSType
Case "ServiceInfo"
Wscript.Echo "UDDI Service is up. Querying for enrollment URL..."
Set sKeys = oDOM.getElementsbyTagName("serviceInfos")
Case "ServiceDetail"
Wscript.Echo "Enrollment URL is:"
Set sKeys = oDOM.getElementsbyTagName("accessPoint")
End Select
For each obj in sKeys
Select Case strSType
Case "ServiceInfo"
strReturn = obj.firstChild.nextSibling.nextSibling.attributes(0).value
Case "ServiceDetail"
strReturn = obj.FirstChild.NodeValue
End Select
Next
Else
Wscript.Echo "Cannot Connect to UDDI service. Error Code is: " & .Status
End If
Set XMLHTTP = Nothing
GetUDDIInfo = strReturn
End With
End Function
-Jason