windy1 / google-places-api-java

Comprehensive and FULL Java client for the Google Places API
MIT License
171 stars 89 forks source link

Problem when using google-places-api-java library with GAE #6

Open skarev opened 10 years ago

skarev commented 10 years ago

Hi,

Getting exception when deploying application into GAE container:

Caused by: java.lang.NoClassDefFoundError: javax.naming.ldap.LdapName is a restricted class. Please see the Google App Engine developer's guide for more details. at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51) at org.apache.http.conn.ssl.AbstractVerifier.extractCNs(AbstractVerifier.java:277) at org.apache.http.conn.ssl.AbstractVerifier.getCNs(AbstractVerifier.java:265) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:157) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:140) at org.apache.http.conn.ssl.SSLSocketFactory.verifyHostname(SSLSocketFactory.java:561) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:536) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:403) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446) at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at se.walkercrou.places.DefaultRequestHandler.get(DefaultRequestHandler.java:77) at se.walkercrou.places.GooglePlaces.getPlaces(GooglePlaces.java:844) at se.walkercrou.places.GooglePlaces.getNearbyPlaces(GooglePlaces.java:397)

Looks like that class javax.naming.ldap.LdapName is not possible to use in GAE container. Is it possible to do something?

Winghin2517 commented 9 years ago

I think this error is because GAE does not use the org.apache.http.client class when making internet connections. I think you might need to use java.net in order to make the connections in the DefaultRequestHandler class. Also the library uses org.json. and that library is not supported by GAE.

windy1 commented 9 years ago

Okay--I did not test this against GAE and I don't have the time to make it compatible with it right now. If either of you want to make a pull request to make this library compatible with GAE I would be happy to review it and pull it. Otherwise, you guys might have to wait a few weeks for this to get fixed.

Winghin2517 commented 9 years ago

I have submitted my pull request. Happy holidays!

lmgagne commented 7 years ago

I see this was reported some time (read "years ago"). Does anyone know whether it works on GAE or not by now? Thanks!