Windows Phone 7消费Web服务WSDL
问题描述:
好的我已经写了一些基本的通用Web服务,但我从来没有尝试消费第三方。 我试图消费的是 http://opendap.co-ops.nos.noaa.gov/axis/webservices/predictions/wsdl/Predictions.wsdlWindows Phone 7消费Web服务WSDL
我没有得到任何结果回来,因此无论如何也找不出原因。 更奇怪的是,它甚至没有达到PredictionsClient_getPredictionsAndMetadataCompleted,当我在代码中插入一个断点时,它甚至没有达到它。 任何建议,将不胜感激
public void Bouy(double meters)
{
PredictionService.Parameters PredictionParams = new PredictionService.Parameters();
PredictionService.PredictionsPortTypeClient PredictionsClient = new PredictionService.PredictionsPortTypeClient();
GeoCoordinateWatcher gc = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
//gc.Position.Location.Latitude, gc.Position.Location.Longitude
GeoCoordinate myLocation = new GeoCoordinate(27.931631,-82.802582);
foreach (var bl in BouyLocation.GetAll())
{
GeoCoordinate otherLocation = new GeoCoordinate(bl.Lat, bl.Lon);
PredictionParams.beginDate = DateTime.Now.ToString("yyyyMMdd");
PredictionParams.endDate = DateTime.Now.AddDays(1.0).ToString("yyyyMMdd");
PredictionParams.stationId = bl.LocationID;
PredictionParams.timeZone = 0;
PredictionParams.unit = 1;
PredictionParams.dataInterval = 6;
PredictionsClient.getPredictionsAndMetadataCompleted += new EventHandler<PredictionService.getPredictionsAndMetadataCompletedEventArgs>(PredictionsClient_getPredictionsAndMetadataCompleted);
PredictionsClient.getPredictionsAndMetadataAsync(PredictionParams);
double mymeters = myLocation.GetDistanceTo(otherLocation);
if (mymeters < meters)
{
TextBlock DynTextBlock = new TextBlock
{
Name = "Appearance" + bl.LocationID,
Text = bl.LocationName + PredictionResult,
TextWrapping = System.Windows.TextWrapping.Wrap,
Margin = new Thickness(12, -6, 12, 0),
Style = (Style)Resources["PhoneTextSubtleStyle"]
};
DynamicAppearance.Children.Add(DynTextBlock);
this.nearByLocations.Add(new BouyLocationModel() { LocationName = bl.LocationName, LocationID = bl.LocationID, Lat = bl.Lat, Lon = bl.Lon });
}
}
var test = nearByLocations;
}
void PredictionsClient_getPredictionsAndMetadataCompleted(object sender, PredictionService.getPredictionsAndMetadataCompletedEventArgs e)
{
string err = e.Error.ToString();
PredictionResult = e.Result.ToString();
}
答
在你这里的代码Loooking我认为你已经使用了一个ServiceReference自动的导入建立类的吗?
不幸的是,我发现这对WP7来说颇为气质,而我实际上得到它的唯一方法是将它连接到Microsoft WCF服务。连接到其他任何东西都不起作用。
如果你做谷歌搜索有各种网页谈论它不工作的事实和方式(我无法工作)。
但是,有办法解决它,但它不像自动生成的东西那么简单。基本上你手动做事情。
虽然还有其他的方式来手动创建Web服务我所做的就是按照其下面行之有效的信息:http://zetitle.wordpress.com/2010/10/14/using-reactive-extensions-with-webrequest/
你需要自己解析响应,但XML到LINQ可以很好地表现这个。
希望帮助,或者也许会有人有解决方案,因为它是什么,我想知道如何获得工作太
尝试用正常的控制台应用程序消耗这个,看看问题是否是Windows Phone 7的或不。 –