Not able to display Map in Android App - android-maps-v2

Background:
App Overview: I'm developing an Android App that will display a list of places in a listview and then ultimately allows the user to display those places on a Google Map (using Google Map v2 API) when the user clicks on a button on the listview screen. At this point in time I'm just trying to display the list of places in the list view and simply display a map of my current location with a marker showing my location.
Current status: So far the app correctly displays the listview with the places but when the button is clicked to display the map all I get a blank screen with Zoom controls displayed. Below you will find the LogCat. I believe the key error message is as follows:
04-03 09:52:24.295: E/Google Maps Android API(1896): Failed to load map. Could not contact Google servers.
Platform: I'm developing the App to run on Froyo and later..but for now I'm just trying to get this to run on Froyo.
Keys: I have created a key with the following services enabled: "Google Maps Android API v2" and "Places API" turned on.
Here is the full LogCat. Note: the LogCat ends with and endless number of the "Could not contact Google servers" so I cut it off with the last 3 of these messages.
04-03 09:42:17.447: D/Your Location(1896): latitude:32.91296010000001, longitude: -117.17031355
04-03 09:42:36.577: D/dalvikvm(1896): threadid=1: still suspended after undo (sc=1 dc=1 s=Y)
04-03 09:42:36.577: D/dalvikvm(1896): GC_FOR_MALLOC freed 6014 objects / 359192 bytes in 82ms
04-03 09:42:39.467: D/Places Status(1896): OK
04-03 09:43:53.437: D/dalvikvm(1896): GC_FOR_MALLOC freed 7413 objects / 369560 bytes in 226ms
04-03 09:43:54.537: D/dalvikvm(1896): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
04-03 09:43:54.537: W/dalvikvm(1896): VFY: unable to resolve instance field 23
04-03 09:43:54.537: D/dalvikvm(1896): VFY: replacing opcode 0x52 at 0x0012
04-03 09:43:54.537: D/dalvikvm(1896): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
04-03 09:43:56.117: D/dalvikvm(1896): GC_FOR_MALLOC freed 3000 objects / 314664 bytes in 84ms
04-03 09:43:56.307: W/dalvikvm(1896): Unable to resolve superclass of Lmaps/p/s; (425)
04-03 09:43:56.307: W/dalvikvm(1896): Link of class 'Lmaps/p/s;' failed
04-03 09:43:56.307: W/dalvikvm(1896): Unable to resolve superclass of Lmaps/y/bo; (3818)
04-03 09:43:56.307: W/dalvikvm(1896): Link of class 'Lmaps/y/bo;' failed
04-03 09:43:56.307: W/dalvikvm(1896): Unable to resolve superclass of Lmaps/i/k; (4206)
04-03 09:43:56.307: W/dalvikvm(1896): Link of class 'Lmaps/i/k;' failed
04-03 09:43:56.317: E/dalvikvm(1896): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
04-03 09:43:56.317: W/dalvikvm(1896): VFY: unable to resolve new-instance 3538 (Lmaps/i/k;) in Lmaps/z/ag;
04-03 09:43:56.317: D/dalvikvm(1896): VFY: replacing opcode 0x22 at 0x006d
04-03 09:43:56.397: D/dalvikvm(1896): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;
04-03 09:43:57.727: D/dalvikvm(1896): GC_FOR_MALLOC freed 4941 objects / 398416 bytes in 102ms
04-03 09:43:58.367: E/Google Maps Android API(1896): Failed to load map. Could not contact Google servers.
04-03 09:51:41.015: D/dalvikvm(1896): GC_FOR_MALLOC freed 5101 objects / 340064 bytes in 97ms
04-03 09:52:24.295: E/Google Maps Android API(1896): Failed to load map. Could not contact Google servers.
04-03 09:53:33.888: D/dalvikvm(1896): GC_EXTERNAL_ALLOC freed 1948 objects / 134008 bytes in 260ms
04-03 09:57:34.449: E/Google Maps Android API(1896): Failed to load map. Could not contact Google servers.
04-03 09:57:34.649: D/libEGL(1896): loaded /system/lib/egl/libGLES_android.so
04-03 09:57:34.679: D/libEGL(1896): loaded /system/lib/egl/libEGL_adreno200.so
04-03 09:57:34.869: D/libEGL(1896): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
04-03 09:57:34.879: D/libEGL(1896): loaded /system/lib/egl/libGLESv2_adreno200.so
04-03 09:57:35.009: E/Google Maps Android API(1896): Failed to load map. Could not contact Google servers.
04-03 09:57:35.109: E/Google Maps Android API(1896): Failed to load map. Could not contact Google servers.
04-03 09:57:35.199: E/Google Maps Android API(1896): Failed to load map. Could not contact Google servers.
The code that is responsible for displaying the maps is as follows:
public class PlacesMapActivity extends FragmentActivity {
// Nearest places
PlacesList nearPlaces;
private SupportMapFragment mMapFragment;
LatLng latLng;
double latitude;
double longitude;
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_places);
// Getting intent data
Intent i = getIntent();
// Users current geo location
String user_latitude = i.getStringExtra("user_latitude");
String user_longitude = i.getStringExtra("user_longitude");
latLng = new LatLng(Double.parseDouble(user_latitude), Double.parseDouble(user_longitude));
// Nearplaces list
nearPlaces = (PlacesList) i.getSerializableExtra("near_places");
final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
// Try to obtain the map from the SupportMapFragment.
mMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
// Not found so make a new instance and add it to the transaction for swapping
if (mMapFragment == null) {
mMapFragment = SupportMapFragment.newInstance();
ft.add(R.id.map, mMapFragment);
}
ft.commit();
}
#Override
public void onAttachedToWindow() {
// Load the map here such that the fragment has a chance to completely load or else the GoogleMap value may be null
GoogleMap googleMap;
googleMap = (mMapFragment).getMap();
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
googleMap.addMarker(new MarkerOptions()
.position(latLng)
.title("My Spot")
.snippet("This is my spot!")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
googleMap.getUiSettings().setCompassEnabled(true);
googleMap.getUiSettings().setZoomControlsEnabled(true);
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 10));
super.onAttachedToWindow();
}
#Override
public void onAttachFragment(Fragment fragment) {
// TODO Auto-generated method stub
super.onAttachFragment(fragment);
}
Based on debugger results it appears that the extra values passed in via the intent are all present and correct.
Here is the XML for the Map layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<fragment
android:id="#+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
</RelativeLayout>
Not sure why the map isn't being displayed. Thoughts?

Was missing the following permission:
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
Once I added permission I could see the map.

Related

Unload a dll loaded by a classloader in Java11

I had a scenario where I need to perform database connectivity using Java11 twice using Windows Authentication on SQL server.
Initially, the sqljdbc_auth.dll is loaded for the first call and the connection was successful. But, in order to make the connection second time at a different place, it throws an SQLException saying 'sqljdbc_auth.dll already loaded by another classloader'.
So, I need to unload the dll in between the two calls.
There is an option to do the same till Java8 version by invoking the finalize() on the classloader using reflection mechanism but unable to find an alternative in Java11
Sample code:
Here, I placed the sqljdbc_auth.dll in the PATH and jar named sql_jdbc.jar in the urls list and these are compatible with Java11
private static void loadFile(){
ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();;
ClassLoader loader = new URLClassLoader(urls, ClassLoader.getSystemClassLoader()); // here, urls is an array and contains only a single sql_jdbc.jar path in it
Thread.currentThread().setContextClassLoader(loader);
Driver driver = (Driver)loader.loadClass("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection connection = driver.connect("jdbc:sqlserver://IP-addr:1433;DatabaseName=db_name;SelectMethod=cursor;integratedSecurity=true", props);
//perform db actions here
Thread.currentThread().setContextClassLoader(currentClassLoader);
unloadDLL("sqljdbc_auth.dll",loader);
}
private synchronized static void unloadDllFile(String dllName, ClassLoader classLoader) throws Throwable {
try {
Field field = ClassLoader.class.getDeclaredField("nativeLibraries");
field.setAccessible(true);
Map<Object, Object> lib = (ConcurrentHashMap<Object, Object>) field.get(classLoader);
Set<Object> keyset = lib.keySet();
for (Object dllpath : keyset) {
if (dllpath.toString().contains(dllName)) {
Object o = lib.get(dllpath);
classLoader = null;
field = null;
lib.remove(dllpath);
keyset.remove(dllpath);
o = null;
System.gc();
}
}
} catch (Exception e) {
System.out.println("Exception in dll is "+e.getMessage());
}
}
There is a similar code in the second component but it throws an exception there.
Exception stacktrace while loading in the second component is:
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:d19de7a1-d099-477c-9c18-0c4cd5807f5e
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2892)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:72)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3636)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3627)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2935)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2456)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735)
at sample.java_samples.Sample2.loadFile(Sample2.java:66)
at sample.java_samples.Sample2.main(Sample2.java:23)
Caused by: java.lang.UnsatisfiedLinkError: Native Library C:\Windows\System32\sqljdbc_auth.dll already loaded in another classloader
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2456)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2649)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:52)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3635)
... 10 more
Thanks

Sending Data to Soap Service by SharePoint 2013 or SPD2013

I have a SOAP service that takes a USERID and a Qualification Code and returns a Boolean(true) if the User was found and the Qualification Code was added to their name. Inside Visual Studio I had no problem writing a simple page that had 2 text boxes where I took the info from those text boxes and submitted it to the web service. I can't figure out how to do this inside SharePoint or SharePoint Designer both are 2013. I have followed these directions to add the service as a Data source but I'm unsure how to work with it.
The overall project is I have a training site and when an employee passes a test I want to pass the user and qualification to the SOAP web service to be updated in another environment. Yes it's duplicated info but it's how the company wants it. The information in SharePoint is stored in a list.
Edit
So I think I have to do it in ParameterBindings. If I just change the location to Controls(textboxid) I'm assuming this will call the web service with whatever is in these text boxes but so far it's not.
<parameterbindings>
<ParameterBinding Name="userID" Location="Control(UserIDTB)" DefaultValue="domain\user"/>
<ParameterBinding Name="qualificationCode" Location="Control(QualCode)" DefaultValue="PIT"/>
<ParameterBinding Name="dvt_apos" Location="Postback;Connection"/>
<ParameterBinding Name="ManualRefresh" Location="WPProperty[ManualRefresh]"/>
<ParameterBinding Name="UserID" Location="CAMLVariable" DefaultValue="CurrentUserName"/>
<ParameterBinding Name="Today" Location="CAMLVariable" DefaultValue="CurrentDate"/>
<ParameterBinding Name="dvt_firstrow" Location="Postback;Connection"/>
<ParameterBinding Name="dvt_nextpagedata" Location="Postback;Connection"/>
</parameterbindings>
So for me I couldn't figure out or maybe it's not possible to do this in SharePoint Designer. I had to create an Event Receiver inside Visual Studio that connects to SOAP service then sends Data from my list to that service. The completed code is below. I doubt I need all the additions at the top but I just left them as it was working.
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.Workflow;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
namespace CompletedTraining.TrainingCompleteListener
{
/// <summary>
/// List Item Events
/// </summary>
public class TrainingCompleteListener : SPItemEventReceiver
{
/// <summary>
/// An item was added.
/// </summary>
public override void ItemAdded(SPItemEventProperties properties)
{
//Item was just added to the list
base.ItemAdded(properties);
using (SPWeb web = properties.OpenWeb())
{
try
{
//get the item that was just added
SPListItem currentItem = properties.ListItem;
//create a new connection to the NavSoapService
NAVSoapService.EmployeeQualificationMgt service = new NAVSoapService.EmployeeQualificationMgt();
//Use the default credentials for this service
service.Credentials = CredentialCache.DefaultCredentials;
//convert the Name field from the list to a string we'll use to pass to the NavSoapService. We need the username(superb\user) instead of just name(first last) the next 3 lines do this conversion
string nameField = currentItem["Name"].ToString();
SPFieldUserValue userField = (SPFieldUserValue)currentItem.Fields["Name"].GetFieldValue(nameField);
SPUser user = userField.User;
//Once we have user id we need to get their login name(superb\user) and remove the 7 junk characters to the left
string loginName = (user.LoginName).Substring(7);
//Call the service with the login name and the Qualification code store the result in the result variable.
bool result = service.AddEmployeeQualification(loginName, (string)currentItem["Qualification Code"]);
//write the result in the Uploaded to NAV column
currentItem["Uploaded to NAV"] = result;
//update the current item in the list.
currentItem.Update();
}
catch (Exception ex)
{
throw ex;
}
}
}
}
}
Two other items needed and 1 is in your project you need to connect to the Web Service and 2 is to change the Elements.xml file if you only want this to have an affect on 1 list.
<!--<Receivers ListTemplateId="100">-->
<Receivers ListUrl="Lists/Completed Training">

Linking Geo server with osmdroid

I have been trying to get WMS Tiles from geo server on osmdroid. But so far no success. I just manage to get a tiny version of tiles geo server which locates at some other location. Yes the projection is right because i am using this same layer for my web application too.
Following is my code
MapTileProviderBasic tileProvider = new MapTileProviderBasic(getApplicationContext());
XYTileSource tilesource = new XYTileSource("tiger:tiger_roads",0, 18, 256, ".png", new String[]{"http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0"}) {
#Override
public String getTileURLString(MapTile aTile) {
return getBaseUrl() +"/tiger:tiger_roads/"+aTile.getZoomLevel()+"/"+aTile.getY()+"/"+aTile.getX()+".png";
}
};
tileProvider.setTileSource(tilesource);
TilesOverlay tilesOverlay = new TilesOverlay(tileProvider, this);
tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
map.getOverlays().add(tilesOverlay);
map.invalidate();
}
My logcat produces this as I keep on zooming in.
W/OsmDroid: Problem downloading MapTile: /9/147/193 HTTP response: Not Found
Your server has 4 different URLs for that layer:
<TileMap title="Manhattan (NY) roads" srs="EPSG:4326" profile="global-geodetic" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads#EPSG%3A4326#png"/>
<TileMap title="Manhattan (NY) roads" srs="EPSG:4326" profile="global-geodetic" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads#EPSG%3A4326#jpeg"/>
<TileMap title="Manhattan (NY) roads" srs="EPSG:900913" profile="global-mercator" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads#EPSG%3A900913#png"/>
<TileMap title="Manhattan (NY) roads" srs="EPSG:900913" profile="global-mercator" href="http://dev.propertyninja.com:8080/geoserver/gwc/service/tms/1.0.0/tiger%3Atiger_roads#EPSG%3A900913#jpeg"/>
The fact that your tiles end up being too small suggests that you are using ESPG:4326 (latlon) instead of Google Web Mercator (EPSG:900913).
There is also the issue that you are using an XYZTileSource for a TMS layer - so there is a fair chance that the Y coordinate is flipped.

How to get large photo URL in one API call?

I want to display large photos in my Facebook app's feed view immediately. Is it possible to get the large photo src URL from a stream/feed using one API call? The photo id is returned in the stream/feed and one can of course then supply this photo id in an additional FQL or graph API call to retrieve all the information about that photo. However, is there a way using multi-query or batch calls to get a larger photo src url using one API roundtrip?
I haven't tried this with stream/feed photos, but the generally accepted way of doing this is:
http://graph.facebook.com/{ID of object}/picture
If you want the "large" version, you would do:
http://graph.facebook.com/{ID of object}/picture?type=large
I'm not 100% sure if this would work for an actual photo (instead of a user profile picture or page profile pic), but I have a hunch it will - the only caveat is that you obviously must have a logged in user that is authorized to view the photo (unless it's public).
If anybody is looking to this and type large is not enough, I found other solutions.
Type large is kind of small anyway (close to 200px). You can get larger image by adding i.e. ?width=1000 or ?height=1000. Facebook will return picture closest to given dimension and preserve aspect ratio. When passing both dimenstions like ?width=1000&height=1000, facebook will cut image to given dimensions (in this case square).
Use Facebook UserId (Oject ID) to get the picture.
https://graph.facebook.com/173xxxx8635/picture?type=large&redirect=false
which returns JSON data with picture URL.
{
"data": {
"is_silhouette": false,
"url": "https://fbcdn-profile-a.akamaihd.net/xxx/xyz/1cc066a2cae3f301d"
}
}
A good trick with the new api is to get the pic_cover field from the event table and to process it according to the size you want to use
I found when I was having this trouble that it turned out to be the picture I was downloading rather than the size I was setting it.
If for example I downloaded all my photos with a request of
[FBRequestConnection startWithGraphPath:#"/me/photos?fields=created_time,name,picture&type=tagged" parameters:nil HTTPMethod:#"GET" completionHandler:^(FBRequestConnection * connection, id result, NSError *error) {
NSDictionary * userData = (NSDictionary *)result;
NSMutableArray * array = [[NSMutableArray alloc] initWithArray:userData[#"data"]];
for (NSDictionary * dict in eventsToAdd) {
UIImage * image = dict[#"picture"]
}
}];
I am using the dictionary key search "picture" as I want the picture.
This though will get me a lower quality picture than if I searched for "source" in this search:
[FBRequestConnection startWithGraphPath:#"/me/photos?fields=created_time,name,source&type=tagged" parameters:nil HTTPMethod:#"GET" completionHandler:^(FBRequestConnection * connection, id result, NSError *error) {
NSDictionary * userData = (NSDictionary *)result;
NSMutableArray * array = [[NSMutableArray alloc] initWithArray:userData[#"data"]];
for (NSDictionary * dict in eventsToAdd) {
UIImage * image = dict[#"source"]
}
}];
If you go on the Facebook API explorer and search for photos and then click on the picture and source jpg links you can see the difference in size and quality.
Since changing this method I have managed to get rid of using the type parameters as it doesn't seem to make a different.
Note: I am using iPhone and not iPad or a larger screen so I don't know how this affects bigger screens.
The answer by #streetlogics works fine but only on pictures that have {object_id}.
http://graph.facebook.com/{object_id}/picture
But I also wanted large pictures for the feed's shared links, which sometimes don't have {object_id}. I finally realized that the {picture} thumbnail URL contains the encoded URL for the original site's large image:
https://external.xx.fbcdn.net/safe_image.php?d=AQBe9UvGd0vPbAHP&w=130&h=130&url=http%3A%2F%2Fskift.com%2Fwp-content%2Fuploads%2F2015%2F12%2Fpollution.jpg&cfs=1
--> contains -->
http://skift.com/wp-content/uploads/2015/12/pollution.jpg
So I made a loop that checks for {object_id} and if not present then extracts the URL from {picture}:
if(isset($post['object_id'])) {
echo "http://graph.facebook.com/".$post['object_id']."/picture";
}
elseif(isset($post['picture'])) {
echo urldecode(preg_replace('/&cfs.*/', '', preg_replace('/.*url=/', '', $post['picture'])));
}
else {
echo "no_large_image";
}

ArrayOfAnyType issues when calling the method:GetRangeA1 excel web services in the silverlight 4.0

I create a simple silverlight 4.0 application used to read the excel file data in the share point 2010 server. I try to use the "Excel Web Services" but I get an error here when calling the GetRangeA1 method:
An unhandled exception of type 'System.ServiceModel.Dispatcher.NetDispatcherFaultException' occurred in mscorlib.dll
Additional information: The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://schemas.microsoft.com/office/excel/server/webservices:GetRangeA1Response. The InnerException message was 'Error in line 1 position 361. Element 'http://schemas.microsoft.com/office/excel/server/webservices:anyType' contains data from a type that maps to the name 'http://schemas.microsoft.com/office/excel/server/webservices:ArrayOfAnyType'. The deserializer has no knowledge of any type that maps to this name. Consider using a DataContractResolver or add the type corresponding to 'ArrayOfAnyType' to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding it to the list of known types passed to DataContractSerializer.'. Please see InnerException for more details.
the source code is like:
namespace SampleApplication
{
class Program
{
static void Main(string[] args)
{
ExcelServiceSoapClient xlservice = new ExcelServiceSoapClient();
xlservice.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
Status[] outStatus;
string targetWorkbookPath = "http://phc/Shared%20Documents/sample.xlsx";
try
{
// Call open workbook, and point to the trusted location of the workbook to open.
string sessionId = xlservice.OpenWorkbook(targetWorkbookPath, "en-US", "en-US", out outStatus);
Console.WriteLine("sessionID : {0}", sessionId);
//1. works fines.
object res = xlservice.GetCellA1(sessionId, "CER by Feature", "B1", true, out outStatus);
//2. exception
xlservice.GetRangeA1(sessionId, "CER by Feature", "H19:H21", true, out outStatus);
// Close workbook. This also closes session.
xlservice.CloseWorkbook(sessionId);
}
catch (SoapException e)
{
Console.WriteLine("SOAP Exception Message: {0}", e.Message);
}
}
}
}
I am totally new to the silverlight and sharepoint developping, I search around but didn't get any luck, just found another post here, any one could help me?
This appears to be an oustanding issue, but two workarounds I found so far:
1) Requiring a change in App.config.
http://social.technet.microsoft.com/Forums/en-US/sharepoint2010programming/thread/ab2a08d5-2e91-4dc1-bd80-6fc29b5f14eb
2) Indicating to rebuild service reference with svcutil instead of using Add Service Reference:
http://social.msdn.microsoft.com/Forums/en-GB/sharepointexcel/thread/2fd36e6b-5fa7-47a4-9d79-b11493d18107