7 Replies Latest reply on Jun 1, 2015 3:08 AM by sourabh_lonikar

    Does Jive Addon need internet facing server ?

    sourabh_lonikar

      Hi developers,

      I am trying to deploy Jive add-on from Enterprise storage framework. After building and creating & deploying on my local jetty server, Jive is unable to register add-on. At jetty's end, it shows it is unable to connect to jive addon marketplace.

       

      1. Does Jive instance and jetty server need to be internet facing ? Because both of them currently are behind firewall.

      2. The addon configuration window shows "URI too long" as error. What does this imply ?

       

      I have also tried configuring public facing ip through ngrok, but currently it is unable to connect.

      I have followed all steps for Jive Java SDK.

       

      Let me know if I am anything anything.

       

      Thanks,

      Sourabh

       

      Attaching logs and add-on source: Sourabh Lonikar

       

      jive-addon.zip was added by: Sourabh Lonikar

        • Re: Does Jive Addon need internet facing server ?

          You application tries to connect to the Jive Addon marketplace to validate that the registration request is coming from a valid Jive server. If both of you systems are not able to access the internet you can remove that part of the addon registration code. (or replace it with your own internal logic).

           

          Neither Jive nor your addon have to be internet facing

            • Re: Does Jive Addon need internet facing server ?
              sourabh_lonikar

              Hi Nils Heuer

               

              I have made ignoreSignatureValidation=true to avoid jive signature validation as you suggested. Now I still encounter below mentioned new error:

               

              2015-05-21 07:12:14,376 [TaskEngineWorker-pool-1] [::] WARN org.apache.cxf.phase.PhaseInterceptorChain - Interceptor for {http://services.v1.activitystreams.jivesoftware.com/}ActivityStreamService has thrown exception, unwinding now

              org.apache.cxf.interceptor.Fault: Could not send Message.

              ... more stack trace

               

              Caused by: java.net.UnknownHostException: gateway.jivesoftware.com

                   at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)

                   ...

               

              Caused by: javax.ws.rs.client.ClientException: .Problem with writing the request message, class : class com.jivesoftware.jam.services.JivePushRequest, ContentType : application/json.

               

              Caused by: java.net.UnknownHostException: market.apps.jivesoftware.com

                  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)

               

              Any idea why does app need to connect to marketplace ? I am unable to even configure add-on. Surely, no connection with market is necessary now that signature verification is disabled ?

               

              Thanks for prompt response,

              Sourabh

                • Re: Does Jive Addon need internet facing server ?
                  Ryan Rutan

                  Sourabh,

                   

                  The ignoreSignatureValidation feature is for the service you are creating, not Jive.  If true, the service will not attempt to validate signatures of Jive calling it.

                   

                  Since you are writing a Java service ... its unclear which log files you are providing in this discussion (at-least to me).  Can you confirm that these references are from Jive's own log files, or from your add-on service?

                   

                  At what stage is this being requested. During add-on installation?  If so, does this block the entire add-on installation, or does the add-on install with errors?  Any redacted screenshots you might be able to provide would greatly help the conversation as well.

                   

                  RR

                    • Re: Does Jive Addon need internet facing server ?
                      sourabh_lonikar

                      Hi Ryan Rutan,

                      Thanks for response.

                       

                      I provided above error trace from Jive instance logs sbs.log file. It occurred after I had deployed your Java enterprise storage framework add-on example code on jetty, uploaded extension.zip file successfully & then tried to configure add-on. It gave me below error:

                       

                      1. Error while uploading extension.zip First time:

                      2. After trying second time, it is uploaded successfully.

                       

                      3. Trying to configure add-on:

                       

                      Unable to proceed because of error while configuring add-on.

                       

                      As per Re: Is it possible to disable the apps market, but have admins install 'add-ons'?, I have disabled market-place with following conf changes:

                       

                      a) set the following properties in the admin console:

                      • jive.oauth.consumer_key = "dummy"
                      • jive.oauth.consumer_secret = "dummy"

                      b) delete the following properties in the admin console (assuming they exist)

                      • jive.appsmarket.id (deleted)
                      • jive.appsmarket.registry.enabled (not present)

                      c) restart the web node(s) in the cluster

                       

                      I have followed all build-deploy steps mentioned in Jive SDK - Java & Jersey Edition - Overview.

                       

                      I am still getting market place connectivity error. Is there anything more I can configure ?

                       

                      BTW: I am getting UnknownHostException: gateway.jivesoftware.com error before uploading extention.zip.

                       

                      Environment Specification:

                       

                      Jive 7.0.1 SBS

                      *     Disabled app-market  with above steps.

                      *     Disabled apps & apps services from admin console.

                       

                      Changes:

                      Add-on Example: Jive SDK Java Add-on Example with following minimal changes:

                           *     Service Port: 8080 (modified both in code and while jetty deployment)

                           *     ignoreSignatureValidation=true

                           *     Removed 'register_url' & 'unregister_url' from meta.template

                       

                      Please find add-on example source code attached above including extension.zip file.

                       

                      Happy weekend

                      Sourabh

                       

                      Note: Attaching Add-on source and logs for analysis if interested.

                        • Re: Does Jive Addon need internet facing server ?
                          Ryan Rutan

                          Something seems off about your plugin.  Have you tried deleting the target directory in the extension folder and letting it get re-built from scratch?  For example, do a maven clean package to insure that you are not caching any of the original values?

                           

                          Interested to see the meta.json produced in the extension.zip to see what is up with the URI.

                           

                          FYI:  I do not see any attached source code or log files =\

                            • Re: Does Jive Addon need internet facing server ?
                              sourabh_lonikar

                              Hi Ryan Rutan,

                              Thanks for following this issue .

                               

                              I will be clear this time. As you have suggested, I have done following process:

                               

                              * Disabled all Apps market properties.

                              * Enabled Add-on services from admin console.

                              * Inserted/ deleted new properties as per Re: Is it possible to disable the apps market, but have admins install 'add-ons'? i.e.

                               

                              a) set the following properties in the admin console:

                              • jive.oauth.consumer_key = "dummy" (which is auto updated)
                              • jive.oauth.consumer_secret = "dummy" (which is auto updated)

                              b) delete the following properties in the admin console (assuming they exist)

                              • jive.appsmarket.id (deleted)
                              • jive.appsmarket.registry.enabled (not present)

                              c) restart the web node(s) in the cluster


                              * Fresh copy of Jive add-on example of Enterprise Storage Framework from github. Thus Target directory is also not present.

                              * Deleted all maven library jars and auto-imported while 'mvn install'.

                              * mvn -DclientUrl=http://10.87.56.87 -Dport=8090 clean jetty:run (where 10.87.56.87 is my localhost. I checked in browser after jetty starts.)

                              * jetty has deployed add-on service.

                              * Now, upload extension.zip in path jive-sdk-java-jersey-master\jive-addon\src\main\webapp.

                              * Configure it and I get above error of 'Request URI is too long'


                              from sbs.log of Jive instance:


                              (After deployment)

                              2015-05-25 06:33:19,311 [http-nio-10.66.176.121-9001-exec-9] [1:admin:REGULAR] ERROR com.jivesoftware.util.TransactionUtil - Currently authenticated user does not have access to the given object: AppImpl{id=1051, internalName=Twitter OAuth App, appUUID=f2a465ef-3a88-4a8e-afce-756438c0824c, appPath=twitter-oauth1-1432557029250, systemLicenseURL=http://10.87.16.72:8090/apps/twitter/app.xml, developerApp=true, gadgetHash=null, refreshState=NEVER, extensionUUID=43cebbfd-90ca-4671-b989-2d399184c45b, installType=PRE_INSTALL}

                              com.jivesoftware.base.UnauthorizedException: Currently authenticated user does not have access to the given object: AppImpl{id=1051, internalName=Twitter OAuth App, appUUID=f2a465ef-3a88-4a8e-afce-756438c0824c, appPath=twitter-oauth1-1432557029250, systemLicenseURL=http://10.87.16.72:8090/apps/twitter/app.xml, developerApp=true, gadgetHash=null, refreshState=NEVER, extensionUUID=43cebbfd-90ca-4671-b989-2d399184c45b, installType=PRE_INSTALL}

                               

                              ...

                              (After trying to configure)

                              2015-05-25 06:33:22,052 [TaskEngineWorker-pool-1] [::] ERROR com.jivesoftware.community.app.market.whitelist.AppsMarketFeatureWhiteListUpdateTask - java.net.UnknownHostException: gateway.jivesoftware.com

                              2015-05-25 06:33:22,393 [TaskEngineWorker-pool-1] [::] INFO com.jivesoftware.community.extension.ClientAppInstallNotifier - -----------------------------------------

                              Non 2xx response while registering http://10.87.16.72:8090/example/instance/register [204]

                              Request headers are

                              2015-05-25 06:33:22,397 [TaskEngineWorker-pool-1] [::] INFO com.jivesoftware.community.extension.ClientAppInstallNotifier - -----------------------------------------

                              User-Agent : Jive SBS v7.0.1.0

                              Host : 10.87.16.72:8090

                              Content-Length : 464

                              Content-Type : application/json; charset=UTF-8

                              2015-05-25 06:33:22,399 [TaskEngineWorker-pool-1] [::] INFO com.jivesoftware.community.extension.ClientAppInstallNotifier - -----------------------------------------

                              Response status is HTTP/1.1 204 No Content

                              Response headers are

                              2015-05-25 06:33:22,400 [TaskEngineWorker-pool-1] [::] INFO com.jivesoftware.community.extension.ClientAppInstallNotifier - -----------------------------------------

                              Server : Jetty(9.1.1.v20140108)

                              2015-05-25 06:33:22,402 [TaskEngineWorker-pool-1] [::] INFO com.jivesoftware.community.extension.ClientAppInstallNotifier - -----------------------------------------

                              Response body is null


                              Is there anything wrong with process ?

                               

                              Note: I am attaching source of add-on example (jive-addon.zip) though it differs only in ignoreSignatureValidation=true config.

                               

                              Thanks for helping,

                              Sourabh