Share via


MapPoint Web Service SOAP Headers

The MapPoint Web Service has four classes for use in SOAP headers: one each for the common, find, render, and route services. Each of these classes contains two headers: one for customer-defined transaction logging, and one for setting the context-related information that defines the locale, language, and unit of measurement in which results are returned from the methods called from the service. The header classes for the find, render, and route services inherit the properties set in the related headers for the common service.

The following table shows each MapPoint Web Service and its related service class as well as the methods and headers contained in each service class.

Service Service Class Methods Headers
Common CommonServiceSoap GetCountryRegionInfo

GetDataSourceInfo

GetEntityTypes

GetGreatCircleDistances

GetVersionInfo

CustomerInfoHeaderValue (CustomerInfoHeader class, which contains the CustomLogEntry property)

UserInfoHeaderValue (UserInfoHeader class, which contains the Context, Culture, and DefaultDistanceUnit properties)

Find FindServiceSoap Find

FindAddress

FindByID

FindByProperty

FindNearby

FindNearRoute

GetLocationInfo

ParseAddress

CustomerInfoFindHeaderValue (CustomerInfoFindHeader class, which contains the CustomLogEntry property)

UserInfoFindHeaderValue (UserInfoFindHeader class, which contains the Context, Culture, and DefaultDistanceUnit properties)

Render RenderServiceSoap ConvertToLatLong

ConvertToPoint

GetBestMapView

GetMap

CustomerInfoRenderHeaderValue (CustomerInfoRenderHeader class, which contains the CustomLogEntry property)

UserInfoRenderHeaderValue (UserInfoRenderHeader class, which contains the Context, Culture, and DefaultDistanceUnit properties)

Route RouteServiceSoap CalculateRoute

CalculateSimpleRoute

CustomerInfoRouteHeaderValue (CustomerInfoRouteHeader class, which contains the CustomLogEntry property)

UserInfoRouteHeaderValue (UserInfoRouteHeader class, which contains the Context, Culture, and DefaultDistanceUnit properties)

Example

 
[Visual Basic] 
'Declare the service variables and set credentials
Dim findService As New FindServiceSoap()
Dim routeService As New RouteServiceSoap()

findService.Credentials = New System.Net.NetworkCredential("UserID", "Password")
routeService.Credentials = New System.Net.NetworkCredential("UserID", "Password")

'Declare header variables
Dim myUserInfoFindHeader As New UserInfoFindHeader()
Dim myUserInfoRouteHeader As New UserInfoRouteHeader()
Dim myCultureInfo As New CultureInfo()

'Set the language to Spanish before making the Find call
myCultureInfo.Name = "es"
myUserInfoFindHeader.Culture = myCultureInfo
findService.UserInfoFindHeaderValue = myUserInfoFindHeader

'Find two locations
Dim foundResults1 As FindResults
Dim foundResults2 As FindResults

Dim findSpec As New FindSpecification()
findSpec.DataSourceName = "MapPoint.NA"
findSpec.InputPlace = "Seattle"

foundResults1 = findService.Find(findSpec)

findSpec.InputPlace = "Redmond"
foundResults2 = findService.Find(findSpec)

'Use the result of the Find calls in a Route call
Dim myRoute As Route

Dim myLatLongs(1) As LatLong
myLatLongs(0) = foundResults1.Results(0).FoundLocation.LatLong
myLatLongs(1) = foundResults2.Results(0).FoundLocation.LatLong

'Make a call to the Route service, using Miles as the distance unit and Spanish as the language
myUserInfoRouteHeader.Culture = myCultureInfo
myUserInfoRouteHeader.DefaultDistanceUnit = DistanceUnit.Mile
routeService.UserInfoRouteHeaderValue = myUserInfoRouteHeader

myRoute = routeService.CalculateSimpleRoute(myLatLongs, "MapPoint.NA", SegmentPreference.Quickest)

'Output the route distance, which is returned in miles, and the directions, which are returned in Spanish
Console.WriteLine("Total route distance in miles: " + myRoute.Itinerary.Segments(0).Distance.ToString())
Dim direction As Direction
For Each direction In myRoute.Itinerary.Segments(0).Directions
    Console.WriteLine(direction.Instruction)
Next

 
[C#]
//Declare the service variables and set credentials
FindServiceSoap findService  = new FindServiceSoap();
RouteServiceSoap routeService  = new RouteServiceSoap();

findService.Credentials = new System.Net.NetworkCredential("UserID", "Password");
routeService.Credentials = new System.Net.NetworkCredential("UserID", "Password");

//Declare header variables
UserInfoFindHeader myUserInfoFindHeader  = new UserInfoFindHeader();
UserInfoRouteHeader myUserInfoRouteHeader  = new UserInfoRouteHeader();
CultureInfo myCultureInfo  = new CultureInfo();

//Set the language to Spanish before making the Find call
myCultureInfo.Name = "es";
myUserInfoFindHeader.Culture = myCultureInfo;
findService.UserInfoFindHeaderValue = myUserInfoFindHeader;

//Find two locations
FindResults foundResults1;
FindResults foundResults2;

FindSpecification findSpec  = new FindSpecification();
findSpec.DataSourceName = "MapPoint.NA";
findSpec.InputPlace = "Seattle";

foundResults1 = findService.Find(findSpec);

findSpec.InputPlace = "Redmond";
foundResults2 = findService.Find(findSpec);

//Use the result of the Find calls in a Route call
Route myRoute;

LatLong[] myLatLongs = new LatLong[2];
myLatLongs[0] = foundResults1.Results[0].FoundLocation.LatLong;
myLatLongs[1] = foundResults2.Results[0].FoundLocation.LatLong;

//Make a call to the Route service, using Miles as the distance unit and Spanish as the language
myUserInfoRouteHeader.Culture = myCultureInfo;
myUserInfoRouteHeader.DefaultDistanceUnit = DistanceUnit.Mile;
routeService.UserInfoRouteHeaderValue = myUserInfoRouteHeader;

myRoute = routeService.CalculateSimpleRoute(myLatLongs, "MapPoint.NA", SegmentPreference.Quickest);

//Output the route distance, which is returned in miles, and the directions, which are returned in Spanish.
Console.WriteLine("Total route distance in miles: " + myRoute.Itinerary.Segments[0].Distance.ToString());
foreach(Direction direction in myRoute.Itinerary.Segments[0].Directions)
{
    Console.WriteLine(direction.Instruction);
}

 

See Also

Developing with MapPoint Web Service | CommonServiceSoap Class | FindServiceSoap Class | RenderServiceSoap Class | RouteServiceSoap Class