cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Could not load private-jar in ned citrix-netscaler

Chris Wang
Cisco Employee
Cisco Employee

currently we are using citrix-netscaler 3.0.23 to managed netscaler devices, but meet below exception:

javax.xml.stream.FactoryConfigurationError: Error creating stream factory: java.lang.ClassNotFoundException: de.odysseus.staxon.json.stream.impl.JsonStreamFactoryImpl

 

We try to extrat the private-jar and put the jars into shared-jar folder, it works.

 

Can anyone help why the private-jar is not loaded?

8 REPLIES 8

joepak
Cisco Employee
Cisco Employee

Hi,

 

your solution is within a later version of citrix ned:

 

Version: 3.0.29
Description:
citrix-netscaler v3.0.29
=====================================

Enhancements:

  - Added 'systemglobal_authenticationlocalpolicy_binding *' configuration
    detailed bellow.
     (CITNET-28 / PS-29590 / RT34527)

  - Enhanced the Yang model with the configuration described bellow.
     (CITNET-29 / PS-29611 / RT34548)

YANG model changes since 3.0.28:

  New nodes:
  /csvserver/authenticationhost
  /csvserver/authnprofile
  /csvserver/authnvsname
  /csvserver/backupip
  /csvserver/backupvserver
  /csvserver/comment
  /csvserver/cookiedomain
  /csvserver/dbprofilename
  /csvserver/dnsprofilename
  /csvserver/domainname
  /csvserver/httpprofilename
  /csvserver/listenpriority
  /csvserver/mssqlserverversion
  /csvserver/mysqlcharacterset
  /csvserver/mysqlprotocolversion
  /csvserver/mysqlservercapabilities
  /csvserver/mysqlserverversion
  /csvserver/netprofile
  /csvserver/newname
  /csvserver/oracleserverversion
  /csvserver/persistenceid
  /csvserver/pushvserver
  /csvserver/redirecturl
  /csvserver/sobackupaction
  /csvserver/sothreshold
  /csvserver/state
  /csvserver/targettype
  /csvserver/tcpprofilename
  /csvserver/vipheader
  /csvserver_domain_binding
  /csvserver_domain_binding/backupip
  /csvserver_domain_binding/cookiedomain
  /csvserver_domain_binding/cookietimeout
  /csvserver_domain_binding/domainname
  /csvserver_domain_binding/sitedomainttl
  /csvserver_domain_binding/ttl
  /gslbservice
  /gslbservice/appflowlog
  /gslbservice/cip
  /gslbservice/cipheader
  /gslbservice/clttimeout
  /gslbservice/cnameentry
  /gslbservice/comment
  /gslbservice/cookietimeout
  /gslbservice/downstateflush
  /gslbservice/hashid
  /gslbservice/healthmonitor
  /gslbservice/ip
  /gslbservice/ipaddress
  /gslbservice/maxaaausers
  /gslbservice/maxbandwidth
  /gslbservice/maxclient
  /gslbservice/monitor_name_svc
  /gslbservice/monthreshold
  /gslbservice/naptrdomainttl
  /gslbservice/naptrorder
  /gslbservice/naptrpreference
  /gslbservice/naptrreplacement
  /gslbservice/naptrservices
  /gslbservice/newname
  /gslbservice/port
  /gslbservice/publicip
  /gslbservice/publicport
  /gslbservice/servername
  /gslbservice/servicetype
  /gslbservice/sitename
  /gslbservice/sitepersistence
  /gslbservice/siteprefix
  /gslbservice/state
  /gslbservice/svrtimeout
  /gslbservice/viewip
  /gslbservice/viewname
  /gslbservice/weight
  /gslbsite
  /gslbsite/backupparentlist
  /gslbsite/clip
  /gslbsite/metricexchange
  /gslbsite/naptrreplacementsuffix
  /gslbsite/nwmetricexchange
  /gslbsite/parentsite
  /gslbsite/publicclip
  /gslbsite/publicip
  /gslbsite/sessionexchange
  /gslbsite/siteipaddress
  /gslbsite/sitetype
  /gslbsite/triggermonitor
  /gslbvserver
  /gslbvserver/appflowlog
  /gslbvserver/backupip
  /gslbvserver/backuplbmethod
  /gslbvserver/backupsessiontimeout
  /gslbvserver/backupvserver
  /gslbvserver/comment
  /gslbvserver/considereffectivestate
  /gslbvserver/cookie_domain
  /gslbvserver/cookietimeout
  /gslbvserver/disableprimaryondown
  /gslbvserver/dnsrecordtype
  /gslbvserver/domainname
  /gslbvserver/dynamicweight
  /gslbvserver/ecs
  /gslbvserver/ecsaddrvalidation
  /gslbvserver/edr
  /gslbvserver/iptype
  /gslbvserver/lbmethod
  /gslbvserver/mir
  /gslbvserver/netmask
  /gslbvserver/newname
  /gslbvserver/persistenceid
  /gslbvserver/persistencetype
  /gslbvserver/persistmask
  /gslbvserver/servicename
  /gslbvserver/servicetype
  /gslbvserver/sitedomainttl
  /gslbvserver/sobackupaction
  /gslbvserver/somethod
  /gslbvserver/sopersistence
  /gslbvserver/sopersistencetimeout
  /gslbvserver/sothreshold
  /gslbvserver/state
  /gslbvserver/timeout
  /gslbvserver/ttl
  /gslbvserver/v6netmasklen
  /gslbvserver/v6persistmasklen
  /gslbvserver/weight
  /gslbvserver_domain_binding
  /gslbvserver_domain_binding/backupip
  /gslbvserver_domain_binding/backupipflag
  /gslbvserver_domain_binding/cookie_domain
  /gslbvserver_domain_binding/cookie_domainflag
  /gslbvserver_domain_binding/cookietimeout
  /gslbvserver_domain_binding/domainname
  /gslbvserver_domain_binding/sitedomainttl
  /gslbvserver_domain_binding/ttl
  /gslbvserver_gslbservice_binding
  /gslbvserver_gslbservice_binding/domainname
  /gslbvserver_gslbservice_binding/weight
  /ntpsync/state
  /policyexpression
  /policyexpression/clientsecuritymessage
  /policyexpression/comment
  /policyexpression/description
  /policyexpression/type
  /policyexpression/value
  /systemglobal_authenticationlocalpolicy_binding
  /systemglobal_authenticationlocalpolicy_binding/priority

  Changed nodes:
  /nsip/vserverrhilevel
  /nsip6/vserverrhilevel
  /nsrpcnode/srcip
  /systemglobal_authenticationtacacspolicy_bindin

A similar issue was found in our internal database and it states 3.0.29 resolved this issue.

Hi,

Where can I see the NSO and ned's release notes? As you see, all the fixes we're not aware.

Hi Chris,

My bad. The specific NED that fixes it is:

Version: 3.0.28

Description:

citrix-netscaler v3.0.28

=====================================



Enhancements:
- Updated the LICENSE file and removed the private-jar/commons-codec.jar lib.
(CITNET-15)
- Replaced json.org.jar with json-20171018.jar.
(CITNET-16)
- Expanded the Yang file with the configuration as below.

(CITNET-17 / RT33629)

I tried version citrix-netscaler 3.0.28, another issue occurred.

 

ncsadmin@ncs# devices device NS-LAB connect
result false
info Failed to connect to device NS-LAB: connection refused: INSTANCE

 

And I checked the log, it shows the ssl connect have error, seems the http ssl lib could not be loaded.

 

<ERROR> 05-Mar-2019::05:15:03.616 NedWorker Ned-Worker-Thread-0: - Error in connect
java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at com.tailf.packages.ned.citrixnetscaler.RESTConnection.doConnect(RESTConnection.java:143)
at com.tailf.packages.ned.citrixnetscaler.RESTConnection.<init>(RESTConnection.java:120)
at com.tailf.packages.ned.citrixnetscaler.CitrixNetscalerNedGeneric.<init>(CitrixNetscalerNedGeneric.java:832)
at com.tailf.packages.ned.citrixnetscaler.CitrixNetscalerNedGeneric.newConnection(CitrixNetscalerNedGeneric.java:1787)
at com.tailf.ned.NedWorker.dorun(NedWorker.java:1458)
at com.tailf.ned.NedWorker.run(NedWorker.java:294)
<INFO> 05-Mar-2019::05:15:03.616 NedWorker Ned-Worker-Thread-0: - Sending={ned_error,ned_connect,econnrefused,#Bin<<INSTANCE>>}

I assume you recompiled the new ned via make clean all and then reloaded the packages and tried to connect/sync-from to the device, right?

Can you connect to any other citrix devices? This may be a NED issue, but i'd suggest trying the latest citrix NED first to verify if it is reproduced or have been fixed.

I checked our database for that exact error, there was 2 instances of a similar error which both resulted in BU escalation.

1st one: Ned enhanced for jar versions/files
2nd one: incompatible/deprecated device attempted to be connected. (that's why i asked to see if the issue occurs with all citrix devices).

I believe this may require escalation, but first test out the latest ned. See if this issue is reproduced on netsim as a simple test so that we (TAC) can reproduce it locally if possible since we do not have a citrix device at hand.

none of the netscaler devices could be manged due to the issue. And I tried 4.2 and 3.0.28 as well as 3.0.29, the same issue.
Other neds like cisco-ios... could work well.

We find out an work round to managed the netscaler devices, but need to do more test. we move the "staxon-1.3.jar" in folder private-jar to NSO's java/jar folder. And the citrix-netscaler version is :3.0.23

For this issue, I'd recommend requesting a NED enhancement. Providing all the data you observed and the workaround that worked. I imagine this may be a fix that'll be required in the future since you may need an NED update and would require to manually workaround your issue.

Was your issue resolved?
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: