麻烦将肥皂转换为C#类



我正在从事Web服务(SOAP(,我无法参考Web应用程序我正在尝试序列化响应肥皂按摩,但我会收到此错误:

http://schemas.xmlsoap.org/soap/envelope/'>不期望

我正在使用:

  XmlSerializer serializer = new XmlSerializer(typeof(SearchFlightResponse));                       
        SearchFlightResponse result = (SearchFlightResponse)serializer.Deserialize(XmlReader.Create("file:///D:/SR_response.xml"));

这是肥皂响应:xml

您将无法将SOAP信封直接化为自定义类型。您将可以解析XML并提取数据,然后手动创建类型的实例,或构建一个非常复杂的自定义XML序列化器。

,如果您将此服务添加为服务参考,则可以节省自己的时间。您将获得一个代理客户端,您可以像其他任何对象一样拨打电话,但它会为您提供Web服务。

在您的项目中,右键单击References,然后选择Add Service Reference...。int Address框,放置该服务的WSDL位置,这是:

https://ws.epower.amadeus.com/demo.WS/EpowerService.asmx?wsdl

您可能希望将命名空间从ServicEreference1更改为EpowerSVC或其他 - 只是不要使用虚线名称(即:epower.service(。

现在您可以创建客户端并调用方法。我不确定您通过示例代码调用哪种方法,但我猜这是SearchFlight

 EpowerSvc.EpowerServiceSoapClient client = new EpowerSvc.EpowerServiceSoapClient();
 SearchFlightCalendarResponseOTA_AirLowFareSearchRS result = client.SearchFlight( someparam, someparam2, someparam3);
 //use result
 result.Items...

相关内容

  • 没有找到相关文章

最新更新