“未实现未连接的套接字”是什么意思?

时间:2013-02-04 16:18:41

标签: ibm-sbt

我正在关注this tutorial设置从温室活动流中读取的功能。但是我得到了这个堆栈跟踪,我不知道它意味着什么或从哪里开始。有人能指出我正确的方向让这个工作吗?

java.net.SocketException: Unconnected sockets not implemented
javax.net.SocketFactory.createSocket(SocketFactory.java:7)
org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:288)
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:119)
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
net.oauth.client.httpclient4.HttpClient4.execute(HttpClient4.java:100)
net.oauth.client.OAuthClient.access(OAuthClient.java:325)
net.oauth.client.OAuthClient.invoke(OAuthClient.java:306)
net.oauth.client.OAuthClient.invoke(OAuthClient.java:262)
net.oauth.client.OAuthClient.getRequestTokenResponse(OAuthClient.java:192)
net.oauth.client.OAuthClient.getRequestToken(OAuthClient.java:150)
com.ibm.xsp.extlib.sbt.security.oauth_10a.util.OADance._perform3LegsDance(OADance.java:149)
com.ibm.xsp.extlib.sbt.security.oauth_10a.util.OADance.perform3LegsDance(OADance.java:138)
com.ibm.xsp.extlib.sbt.security.oauth_10a.OAProvider._acquireToken(OAProvider.java:292)
com.ibm.xsp.extlib.sbt.security.oauth_10a.OAProvider.acquireToken(OAProvider.java:260)
com.ibm.xsp.extlib.sbt.security.oauth_10a.OAProvider.acquireToken(OAProvider.java:248)
com.ibm.xsp.extlib.sbt.security.oauth_10a.OAProvider.acquireToken(OAProvider.java:240)
com.ibm.xsp.extlib.sbt.services.client.endpoints.OAuthEndpointBean.initialize(OAuthEndpointBean.java:145)
com.ibm.xsp.extlib.sbt.services.client.ClientService._execRequest(ClientService.java:385)
com.ibm.xsp.extlib.sbt.services.client.ClientService.execRequest(ClientService.java:358)
com.ibm.xsp.extlib.sbt.services.client.ClientService.execRequest(ClientService.java:328)
com.ibm.xsp.extlib.sbt.services.client.ClientService.get(ClientService.java:257)
com.ibm.xsp.extlib.sbt.activitystreams.ActivityStreamDataSource$ASJsonAccessor.loadBlock(ActivityStreamDataSource.java:112)
com.ibm.xsp.extlib.model.DataBlockAccessor.findBlockByIndex(DataBlockAccessor.java:344)
com.ibm.xsp.extlib.model.DataBlockAccessor.prefetchData(DataBlockAccessor.java:292)
com.ibm.xsp.extlib.model.DataAccessorModel.getRowCount(DataAccessorModel.java:93)
com.ibm.xsp.component.UIPager$PagerState.<init>(UIPager.java:76)
com.ibm.xsp.component.UIPager$PagerState.<init>(UIPager.java:71)
com.ibm.xsp.component.UIPager.createPagerState(UIPager.java:540)

*更新: 我将以下内容添加到我的插件的Activator类的start方法中:

Security.setProperty("ssl.SocketFactory.provider", "com.ibm.jsse2.SSLSocketFactoryImpl")

这是我的faces-config文件:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
  <managed-bean id="OAuth Security Store">
  <managed-bean-name>NSFStore</managed-bean-name>
  <managed-bean-class>com.ibm.xsp.extlib.sbt.security.oauth_10a.store.OAuthNSFTokenStore</managed-bean-class>
  <managed-bean-scope>application</managed-bean-scope>
    <managed-property>
      <property-name>database</property-name>
      <value>websecurity.nsf</value>
    </managed-property>
  </managed-bean>
<managed-bean id="Greenhouse Endpoint">
  <managed-bean-name>greenHouse</managed-bean-name>
  <managed-bean-class>com.ibm.xsp.extlib.sbt.services.client.endpoints.OAuthEndpointBean</managed-bean-class>
  <managed-bean-scope>application</managed-bean-scope>
  <managed-property>
    <property-name>url</property-name>
    <value>https://greenhouse.lotus.com</value>
  </managed-property>
  <managed-property>
    <property-name>serviceName</property-name>
    <value>Greenhouse</value>
  </managed-property>
  <managed-property>
    <property-name>appId</property-name>
    <value>rpdPlayground</value>
  </managed-property>
  <managed-property>
    <property-name>tokenStore</property-name>
    <value>NSFStore</value>
  </managed-property>
  <managed-property>
    <property-name>forceTrustSSLCertificate</property-name>
    <value>true</value>
  </managed-property>
  <managed-property>
    <property-name>proxyEnabled</property-name>
    <value>true</value>
  </managed-property>
</managed-bean>
  <!--AUTOGEN-START-BUILDER: Automatically generated by IBM Domino Designer. Do not modify.-->
  <!--AUTOGEN-END-BUILDER: End of automatically generated section-->
</faces-config>

这是在Domino 9.0上使用com.ibm.xsp.extlibx插件版本8.5.3.20121217-1354运行的。

1 个答案:

答案 0 :(得分:0)

请参阅:HTTPClient-java.net.SocketException: Unconnected sockets not implemented thrown

似乎与Apache HTTP客户端的SSL连接有关。因此,您可以尝试按照提到的方式设置System属性,或者,作为测试选项,您可以尝试通过将属性forceTrustSSLCertificate设置为bean来禁用端点中的SSL检查。