Hi,I am trying to use some java code written into a sidebar application in Notes to update my LinkedIn status via an OAuth connection.
I know my code works correctly as it runs perfectly when standalone (run as java application from Eclipse), however when I run it as a sidebar application through Notes it fails to see/connect to the server.
I know connecting to servers is possible as I have also got Twitter, Facebook etc to work, with no problems or Notes specific code.
Does anyone have any idea why it fails to see the server in Notes? I have tried setting proxy settings, opening ports and granting full access permissions but to no avail.
My java code to connect is:
OAuthConsumer consumer = new DefaultOAuthConsumer(
LinkedIn.API,
LinkedIn.SECRET,
SignatureMethod.HMAC_SHA1);
OAuthProvider provider = new DefaultOAuthProvider(consumer,
"https://api.linkedin.com/uas/oauth/requestToken",
"https://api.linkedin.com/uas/oauth/accessToken",
"https://api.linkedin.com/uas/oauth/authorize");
System.out.println("Got provider");
// we do not support callbacks, thus pass OOB
String url = null;
try {
url = provider.retrieveRequestToken(OAuth.OUT_OF_BAND);
} catch (OAuthMessageSignerException e1) {
e1.printStackTrace();
} catch (OAuthNotAuthorizedException e1) {
e1.printStackTrace();
} catch (OAuthExpectationFailedException e1) {
e1.printStackTrace();
} catch (OAuthCommunicationException e1) {
e1.printStackTrace();
}
try {
if(url!=null) {
Runtime.getRuntime().exec("cmd.exe /C start "+ url.replaceAll("&", "\"&\""));
}
} catch (Exception e) {
e.printStackTrace();
}*/
MessageDialog.openInformation(display.getActiveShell(), "Please Login",
"Paste PIN into username field once you have logged\n" +
"into LinkedIn and granted WildFire extended permissions");
And the error I am receiving is:
Exception in thread “Timeout guard” java.lang.NullPointerException
at java.security.Provider.getService(Unknown Source)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:234)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:25)
at com.ibm.rcp.security.ssl.PlatformSSLProtocolSocketFactory.createPlatformSSLContext(PlatformSSLProtocolSocketFactory.java:47)
at com.ibm.rcp.security.ssl.PlatformSSLProtocolSocketFactory.getSSLContext(PlatformSSLProtocolSocketFactory.java:69)
at com.ibm.rcp.security.ssl.PlatformSSLProtocolSocketFactory.createSocket(PlatformSSLProtocolSocketFactory.java:96)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$1.doit(ControllerThreadSocketFactory.java:90)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$SocketTask.run(ControllerThreadSocketFactory.java:157)
at java.lang.Thread.run(Thread.java:735)
oauth.signpost.exception.OAuthCommunicationException: Communication with the service provider failed: null
at oauth.signpost.basic.DefaultOAuthProvider.retrieveToken(DefaultOAuthProvider.java:150)
at oauth.signpost.basic.DefaultOAuthProvider.retrieveRequestToken(DefaultOAuthProvider.java:66)
…
Caused by: java.lang.NullPointerException
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:720)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:401)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at com.ibm.rcp.net.protocol.http.HttpURLConnection.execute(HttpURLConnection.java:254)
at com.ibm.rcp.net.protocol.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:702)
at com.ibm.rcp.net.protocol.http.HttpsURLConnection.getResponseCode(HttpsURLConnection.java:134)
at oauth.signpost.basic.DefaultOAuthProvider.retrieveToken(DefaultOAuthProvider.java:123)
... 45 more
Thanks,
Andrew