# test with https://max761.edu/maximo/oslc/script/GETLINKEDDOCS from com.ibm.json.java import JSONObject, JSONArray from java import lang from java.io import StringReader, BufferedOutputStream, BufferedReader, InputStreamReader from java.util.stream import Collectors from java.net import URL from java.text import SimpleDateFormat from java.util import Base64 from psdi.server import MXServer from psdi.util import MXException from psdi.util import MXApplicationException #----------------------------------------------------- def log(log_message): if logger.isInfoEnabled(): logger.info(log_message) # ----------------------------------------------------------- def get_maximo_property(property_name): return MXServer.getMXServer().getProperty(property_name, MXServer.getMXServer().getSystemUserInfo()) # ----------------------------------------------------------- # allow errors to flow to the end user errorgroup = None errorkey = None params = None logger = service.getLogger("maximo.ap_logger") log("***" ) log("*** GETLINKEDDOCS start" ) #build the url #urlString = 'https://max761.edu/maxrest/oslc/os/mxapidoclinks?' urlString = 'https://max761.edu/maximo/api/os/mxapidoclinks?' urlString = urlString + 'oslc.where=ownertable="ASSET"and ownerid=45&oslc.select=description,urltype,urlname,documentdata&inlinedoc=1&oslc.pagesize=100' #using the following url works returns response code: 200 #urlString = "https://max761.edu/maxrest/rest/os/mxperson?personid=MAX%" log("calling " + urlString ) #get the connection api_url = URL(urlString) api_connection = api_url.openConnection() auth = "Basic " + Base64.getEncoder().encodeToString( "maxadmin" + ":" + "mypassword" ) #api_connection.setRequestProperty("MAXAUTH", auth) api_connection.setRequestProperty("Authorization", auth) api_connection.setRequestMethod("GET") api_connection.setUseCaches(False) api_connection.setRequestProperty("Content-Type", "application/json") #-------------------------------------------------------------------- try: response_code = api_connection.getResponseCode() log("validating response code: " + str(response_code) ) if response_code == 200: input_stream = api_connection.getInputStream() log("reading inputstream") log("Response Data: " + BufferedReader(InputStreamReader(input_stream)).lines().collect(Collectors.joining("\n"))) log("parsing inputstream") response_object = JSONObject.parse(input_stream) log("response_object: " + str(response_object) ) else: log("Error Response Code: " + str(response_code)) log("Response Data: " + BufferedReader(InputStreamReader(api_connection.getErrorStream())).lines().collect(Collectors.joining("\n"))) except Exception, e: log(e.message) finally: api_connection.disconnect() log("*** GETLINKEDDOCS endd" ) #