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(); 
    } 
+0

尝试用正常的控制台应用程序消耗这个,看看问题是否是Windows Phone 7的或不。 –

在你这里的代码Loooking我认为你已经使用了一个ServiceReference自动的导入建立类的吗?

不幸的是,我发现这对WP7来说颇为气质,而我实际上得到它的唯一方法是将它连接到Microsoft WCF服务。连接到其他任何东西都不起作用。

如果你做谷歌搜索有各种网页谈论它不工作的事实和方式(我无法工作)。

但是,有办法解决它,但它不像自动生成的东西那么简单。基本上你手动做事情。

虽然还有其他的方式来手动创建Web服务我所做的就是按照其下面行之有效的信息:http://zetitle.wordpress.com/2010/10/14/using-reactive-extensions-with-webrequest/

你需要自己解析响应,但XML到LINQ可以很好地表现这个。

希望帮助,或者也许会有人有解决方案,因为它是什么,我想知道如何获得工作太