arcgis for android 调用私有服务的方法

     实际工作中,因为项目需要,arcgis server的服务在发布后会设置成私有,如下图:

                                 arcgis for android 调用私有服务的方法

     这时如果直接调用的话,可能就会调用不到,返回code=499。

     这时要调用话的可以通过设置代理或arcgis自带的token服务进行调用。

1、设置代理;查看arcgis for android的api,发现这块写的很笼统,ProxySetup类中有个setupProxy(String proxyHost, int proxyPort, String scheme)方法,试了下没有调用成功。

2、通过token服务调用;首先要知道arcgis manager的用户名和密码;通过arcgis自带的token服务,获取token,

http://localhost:8086/arcgis/tokens

arcgis for android 调用私有服务的方法

代码如下:

        UserCredentials creds = new UserCredentials();
        creds.setAuthenticationType(UserCredentials.AuthenticationType.TOKEN);
        creds.setUserToken("token","referer");
        creds.setTokenServiceUrl("http://localhost:8086/arcgis/tokens");
        ArcGISDynamicMapServiceLayer layer= new ArcGISDynamicMapServiceLayer(
                layer, null, creds);

参考资料:

arcgis for android api

arcgis token调用