SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Studio
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Studio Discussion related to the SageTV Studio application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the Studio software application should be posted here.

Reply
 
Thread Tools Search this Thread Display Modes
  #401  
Old 11-26-2012, 07:42 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by routerunner View Post
Hi,

I've been trying to use the Utility.GetWindowsRegistryNames (both local & remote calls) recently without success. For instance:

Code:
String list[] = Utility.GetWindowsRegistryNames("HKEY_LOCAL_MACHINE", "SYSTEM");
Tried with different HIVE/KEY combination, but always gets an empty list of string.

What am I doing wrong? Please advice...

Thanks
Eddy
I'm not a Windows user... but hopefully a windows developer can shed some light on this for you.
Reply With Quote
  #402  
Old 11-26-2012, 07:57 AM
razrsharpe razrsharpe is offline
Sage Icon
 
Join Date: Sep 2008
Location: Boston, MA
Posts: 2,111
Quote:
Originally Posted by routerunner View Post
Hi,

I've been trying to use the Utility.GetWindowsRegistryNames (both local & remote calls) recently without success. For instance:

Code:
String list[] = Utility.GetWindowsRegistryNames("HKEY_LOCAL_MACHINE", "SYSTEM");
Tried with different HIVE/KEY combination, but always gets an empty list of string.

What am I doing wrong? Please advice...

Thanks
Eddy
I've never used that method before but here are some thoughts from reading the sage api doc and firing up regedit. In my HKLM\SYSTEM there are no named values in the right hand pane. However, there are several keys under SYSTEM in the left pane. Perhaps this method only returns the names of values and not keys....
Attached Images
File Type: jpg Clipboard01.jpg (28.0 KB, 1108 views)
__________________
Server 2003 r2 32bit, SageTV9 (finally!)
2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast)
2x HD300, 1x SageClient (Win10 Test/Development)
Check out TVExplorer
Reply With Quote
  #403  
Old 11-26-2012, 08:07 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Quote:
Originally Posted by razrsharpe View Post
I've never used that method before but here are some thoughts from reading the sage api doc and firing up regedit. In my HKLM\SYSTEM there are no named values in the right hand pane. However, there are several keys under SYSTEM in the left pane. Perhaps this method only returns the names of values and not keys....
Thanks for the quick reply....

I reckon, you're right, the documentation is talking about "names" and not "keys". What I was trying to achieve is exactly what you pointed out, hence gets a list of keys and according on what you're saying we should have something like:

Utility.GetWindowsRegistryKeys

Thanks
Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard
Reply With Quote
  #404  
Old 08-14-2013, 05:27 PM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Some API misbehaving?

Hi Sean,

for a project I'm working on I need to use the following SageTV APIs below, however their behavior sounds not correct:

Code:
CaptureDeviceInputAPI.GetInputMinimumChannelNumber() -> always returns 0
CaptureDeviceInputAPI.AutoTuneChannelTest() -> always produces NULL pointer exception
MediaPlayerAPI.CloseAndWaitUntilClosed() -> stuck execution forever
I was wondering whether you could please double check those APIs when you've got time

Many thanks
Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard
Reply With Quote
  #405  
Old 08-14-2013, 06:37 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by routerunner View Post
Hi Sean,

for a project I'm working on I need to use the following SageTV APIs below, however their behavior sounds not correct:

Code:
CaptureDeviceInputAPI.GetInputMinimumChannelNumber() -> always returns 0
CaptureDeviceInputAPI.AutoTuneChannelTest() -> always produces NULL pointer exception
MediaPlayerAPI.CloseAndWaitUntilClosed() -> stuck execution forever
I was wondering whether you could please double check those APIs when you've got time

Many thanks
Eddy
Are you calling these with a UI context? I'm wondering if they are crashing out as they are basically server calls, so UI context shouldn't matter. Either way, the API Wrapper seems to be fine (if the output of the sage call is null or false, it returns false, if the output is true, it returns true). No real place in the sagex wrapper to generate a null pointer exception, which means it's more than likely a bug in the sage api itself. Is the tuner you are using configured in sage? is it being used for livetv at the time? These calls are not likely all that robust, as they are designed for very specific use cases in the core sagetv product.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #406  
Old 08-15-2013, 02:46 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Quote:
Originally Posted by Fuzzy View Post
Are you calling these with a UI context? I'm wondering if they are crashing out as they are basically server calls, so UI context shouldn't matter. Either way, the API Wrapper seems to be fine (if the output of the sage call is null or false, it returns false, if the output is true, it returns true). No real place in the sagex wrapper to generate a null pointer exception, which means it's more than likely a bug in the sage api itself. Is the tuner you are using configured in sage? is it being used for livetv at the time? These calls are not likely all that robust, as they are designed for very specific use cases in the core sagetv product.
My mistake, forget about this a misleading function name was returning the "CaptureDevice" name instead of the "CaptureDeviceInput" name required by the "AutoTuneChannelTest()" method, however the "GetInputMinimumChannelNumber()" method is still returning zero every time.

Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard

Last edited by routerunner; 08-15-2013 at 04:17 AM.
Reply With Quote
  #407  
Old 08-15-2013, 06:46 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by routerunner View Post
My mistake, forget about this a misleading function name was returning the "CaptureDevice" name instead of the "CaptureDeviceInput" name required by the "AutoTuneChannelTest()" method, however the "GetInputMinimumChannelNumber()" method is still returning zero every time.

Eddy
Maybe you could post your code fragment so that I can see if you using the chain of apis correctly?

That API for this, http://download.sage.tv/api/sage/api...va.lang.String)

does require that you pass in the device input name, and I'm sure the return value is probably 0 if the input name is not correct.

As Fuzzy pointed out, these APIs do very little, except directly pass through to the sage.SageTV.api(name, args) method. You can quickly test if this is a sagex issue by simply calling,

Code:
Integer val = (Integer)sage.SageTV.api("GetInputMinimumChannelNumber", new Object[] {DeviceInputName});
And see if you get a different result. I suspect the root of the issue if the device input name parameter.
Reply With Quote
  #408  
Old 08-15-2013, 08:34 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Quote:
Originally Posted by stuckless View Post
Maybe you could post your code fragment so that I can see if you using the chain of apis correctly?

That API for this, http://download.sage.tv/api/sage/api...va.lang.String)

does require that you pass in the device input name, and I'm sure the return value is probably 0 if the input name is not correct.

As Fuzzy pointed out, these APIs do very little, except directly pass through to the sage.SageTV.api(name, args) method. You can quickly test if this is a sagex issue by simply calling,

Code:
Integer val = (Integer)sage.SageTV.api("GetInputMinimumChannelNumber", new Object[] {DeviceInputName});
And see if you get a different result. I suspect the root of the issue if the device input name parameter.

Code snippet below:

Code:
CDI (CaptureDeviceInput)

Integer channel = CaptureDeviceInputAPI.GetInputMinimumChannelNumber(CDI);
MediaPlayerAPI.LockTuner(CDI);
CaptureDeviceInputAPI.AutoTuneChannelTest(CDI, channel.toString());
MediaPlayerAPI.CloseAndWaitUntilClosed();
The function now returns "1" for each tuner. Please note that effectively "1" is the minimum channel for one tuner only, for the other tuner the minimum channel is "100", however I think I need to normalize the second tuner to its lineup channel range...I thought SageTV would do it automatically...

Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard
Reply With Quote
  #409  
Old 08-15-2013, 08:54 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by routerunner View Post
Code snippet below:

Code:
CDI (CaptureDeviceInput)

Integer channel = CaptureDeviceInputAPI.GetInputMinimumChannelNumber(CDI);
MediaPlayerAPI.LockTuner(CDI);
CaptureDeviceInputAPI.AutoTuneChannelTest(CDI, channel.toString());
MediaPlayerAPI.CloseAndWaitUntilClosed();
The function now returns "1" for each tuner. Please note that effectively "1" is the minimum channel for one tuner only, for the other tuner the minimum channel is "100", however I think I need to normalize the second tuner to its lineup channel range...I thought SageTV would do it automatically...

Eddy
I think you are right... I think you'll need to use the linuep and ChannelAPI to get the "real" channel number string.
Reply With Quote
  #410  
Old 08-15-2013, 11:35 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
The CaptureDevice API is used for interacting directly with the tuner, not the channel lineup. I can't think of a single tuner out there that won't accept a tune to channel 1, so that is likely why it reports as so, regardless of whether the lineup has a channel 1 in it. You are, instead, going to have to retrieve the list of channels from the lineup, and simply select the lowest enabled channel, if that is what you are trying to achieve.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #411  
Old 08-16-2013, 02:57 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Quote:
Originally Posted by Fuzzy View Post
The CaptureDevice API is used for interacting directly with the tuner, not the channel lineup. I can't think of a single tuner out there that won't accept a tune to channel 1, so that is likely why it reports as so, regardless of whether the lineup has a channel 1 in it. You are, instead, going to have to retrieve the list of channels from the lineup, and simply select the lowest enabled channel, if that is what you are trying to achieve.
Unfortunately it looks like you cannot get the list of channels from a specific lineup, instead you have to get the whole channel list, which can be pretty big, and use a function to check whether a channel belongs to the desired lineup then, the first that matches is the one being used, not ideal, but it works and is only at start-up so no big deal.

Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard
Reply With Quote
  #412  
Old 08-16-2013, 07:30 AM
Opus4's Avatar
Opus4 Opus4 is offline
Administrator
 
Join Date: Sep 2003
Location: NJ
Posts: 19,624
Quote:
Originally Posted by routerunner View Post
Unfortunately it looks like you cannot get the list of channels from a specific lineup
Do you mean:

GetChannelsOnLineup(Lineup)?

- Andy
__________________
SageTV Open Source v9 is available.
- Read the SageTV FAQ. Older PDF User's Guides mostly still apply: SageTV V7.0 & SageTV Studio v7.1.
- Hauppauge remote help: 1) Basics/Extending it 2) Replace it 3) Use it w/o needing focus
- HD Extenders: A) FAQs B) URC MX-700 remote setup
Note: This is a users' forum; see the Rules. For official tech support fill out a Support Request.
Reply With Quote
  #413  
Old 08-16-2013, 07:42 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Quote:
Originally Posted by Opus4 View Post
Do you mean:

GetChannelsOnLineup(Lineup)?

- Andy
Hi Andy,

I know you're using that function in studio for the channel testing procedure, but that API is not published anywhere (AFAIK), I think is internal?

It could be useful indeed if made public...

Thanks
Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard

Last edited by routerunner; 08-16-2013 at 07:48 AM.
Reply With Quote
  #414  
Old 08-16-2013, 09:02 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by routerunner View Post
Hi Andy,

I know you're using that function in studio for the channel testing procedure, but that API is not published anywhere (AFAIK), I think is internal?

It could be useful indeed if made public...

Thanks
Eddy
It's a part of the Database API
http://download.sage.tv/api/sage/api...va.lang.String)

Keep in mind that ANY api called from the STV can be called from Java... (even if you have to use the sage.SageTV.api() method to call it)
Reply With Quote
  #415  
Old 08-16-2013, 09:32 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Quote:
Originally Posted by stuckless View Post
It's a part of the Database API
http://download.sage.tv/api/sage/api...va.lang.String)

Keep in mind that ANY api called from the STV can be called from Java... (even if you have to use the sage.SageTV.api() method to call it)
Ahaaaa!!!! Thank you so much...strange place to put that function call though

Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard
Reply With Quote
  #416  
Old 08-17-2013, 04:43 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
API mismatch?

Sorry, another minor thing, the utility method "GetWindowsRegistryStringValue()" is supposed to return a "String" and not an "Integer".

The API specification are wrong, however I now you cannot do anything about it, just thought worth mention it.

Thanks
Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard
Reply With Quote
  #417  
Old 07-06-2014, 06:46 PM
dvd_maniac's Avatar
dvd_maniac dvd_maniac is offline
Sage Icon
 
Join Date: Mar 2004
Location: New England
Posts: 1,899
Can't get sagex to work

I installed the plugin but I can't access the url to initiate an imported library scan.
I keep getting a 404 ERROR: Not Found.
So I enabled Sage logging and found this in it:
SageTVPlugin[sagex-api state=Failed name=sagex-api - SageTV API Extensions version=7.1.9.26 type=Library desc=SageTV API Wrappers with Remote API capabilities

I'm running SageTV 7.1.9.256
I also have Jetty Web Server 2.3.0.14 and SageTV Web Interface 2.43 installed.
Another note in case it matters, is that I installed SageTV to a non-default location: S:\SageTV\SageTV
I can get to the web server fine but not to the sagex APIs
http://127.0.0.1:8080/sage/Home/
__________________
If this doesn't work right, Then:
"I'm going to blow up the Earth!"
Reply With Quote
  #418  
Old 07-13-2014, 03:45 PM
ranger ranger is offline
Sage Aficionado
 
Join Date: Nov 2003
Location: Virginia
Posts: 256
Failed status for Phoenix Core Services

A few weeks ago my SageTV server started some bizarre behavior so I did a full re-install of Sage and the plugins. I had Phoenix Core Services installed at the rebuild, but just today installed Jetty web server and BMT Web services. After installing the BMT web services Phoenix Core Services shows a "Failed" state on the installed plugins page. The BMT web page seems to work fine. So far I cannot get the Sage plugin for Plex working, but that is the only visible problem I have found so far.

I've tried uninstalling and re-installing, but I get the same problem. I have changed the jetty tcp port and the username and password, but that is all the custom changes I have made. I'm not sure where to look for issues, so if you could point me to any logs or requirements I might have missed, it would be appreciated.
Reply With Quote
  #419  
Old 01-26-2022, 11:19 AM
hvymetal hvymetal is offline
Sage Advanced User
 
Join Date: Nov 2007
Posts: 162
sagex service not working with java16

Not sure if this will get fixed but posting for other that might have issues. Sagex services are not working with java16 and latest jetty updated by jusjoken.

Using the example sagex service

Code:
http://192.168.10.176:8080/sagex/api?c=sagex:Echo&1=Bill&encoder=json
#####JAVA 16#####
Code:
{"sagexVersion":"9.2.6.1","exception":"java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke \"javax.script.ScriptEngine.getBindings(int)\" because \"engine\" is null\n\tat sagex.remote.api.ApiHandler.callService(ApiHandler.java:195)\n\tat sagex.remote.api.ApiHandler.handleRequest(ApiHandler.java:129)\n\tat sagex.remote.SagexServlet.doPost(SagexServlet.java:120)\n\tat sagex.remote.SagexServlet.doGet(SagexServlet.java:58)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:687)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n\tat org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)\n\tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)\n\tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:516)\n\tat org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400)\n\tat org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)\n\tat org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)\n\tat java.base/java.lang.Thread.run(Thread.java:831)\nCaused by: java.lang.NullPointerException: Cannot invoke \"javax.script.ScriptEngine.getBindings(int)\" because \"engine\" is null\n\tat sagex.remote.api.ServiceFactory.addGlobals(ServiceFactory.java:89)\n\tat sagex.remote.api.ServiceFactory.callService(ServiceFactory.java:49)\n\tat sagex.remote.api.ApiHandler.callService(ApiHandler.java:193)\n\t... 39 more\n","error":"java.lang.NullPointerException: Cannot invoke \"javax.script.ScriptEngine.getBindings(int)\" because \"engine\" is null"}
#####JAVA 11#####
Code:
{"Result":"Bill"}
Reply With Quote
  #420  
Old 01-26-2022, 11:47 AM
jusjoken jusjoken is offline
SageTVaholic
 
Join Date: Dec 2005
Location: Strathmore, AB
Posts: 2,727
Quote:
Originally Posted by hvymetal View Post
Not sure if this will get fixed but posting for other that might have issues. Sagex services are not working with java16 and latest jetty updated by jusjoken.

Using the example sagex service

Code:
http://192.168.10.176:8080/sagex/api?c=sagex:Echo&1=Bill&encoder=json
#####JAVA 16#####
Code:
{"sagexVersion":"9.2.6.1","exception":"java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke \"javax.script.ScriptEngine.getBindings(int)\" because \"engine\" is null\n\tat sagex.remote.api.ApiHandler.callService(ApiHandler.java:195)\n\tat sagex.remote.api.ApiHandler.handleRequest(ApiHandler.java:129)\n\tat sagex.remote.SagexServlet.doPost(SagexServlet.java:120)\n\tat sagex.remote.SagexServlet.doGet(SagexServlet.java:58)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:687)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n\tat org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)\n\tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)\n\tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:516)\n\tat org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400)\n\tat org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)\n\tat org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)\n\tat java.base/java.lang.Thread.run(Thread.java:831)\nCaused by: java.lang.NullPointerException: Cannot invoke \"javax.script.ScriptEngine.getBindings(int)\" because \"engine\" is null\n\tat sagex.remote.api.ServiceFactory.addGlobals(ServiceFactory.java:89)\n\tat sagex.remote.api.ServiceFactory.callService(ServiceFactory.java:49)\n\tat sagex.remote.api.ApiHandler.callService(ApiHandler.java:193)\n\t... 39 more\n","error":"java.lang.NullPointerException: Cannot invoke \"javax.script.ScriptEngine.getBindings(int)\" because \"engine\" is null"}
#####JAVA 11#####
Code:
{"Result":"Bill"}
Makes sense. Java 16+ doesn't include Javascript so these processes will fail.

There are solutions that I will probably look at but we have Java 8 and 11 at this time.

Is there a specific need for 16?

K
__________________
If you wish to see what I am up to and support my efforts visit my Patreon page
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Hauppauge Remote Issue yacht_boy Hardware Support 4 05-01-2008 09:25 PM
MCE remote transmitting keypresses twice arnabbiswas Hardware Support 1 02-22-2007 10:55 AM
MCE Remote not work fully with Placeshifter devinteske SageTV Placeshifter 5 02-08-2007 11:45 PM
Harmony Remote IR Reciever Help brundag5 Hardware Support 2 01-13-2007 09:08 PM
How to get SageTV to release focus to NVDVD for remote IncredibleHat SageTV Software 4 07-06-2006 07:47 AM


All times are GMT -6. The time now is 11:17 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.