Web services 如何在Flatter中使用FedEx Web服务

Web services 如何在Flatter中使用FedEx Web服务,web-services,flutter,fedex,Web Services,Flutter,Fedex,我正在开发一个应用程序来跟踪联邦快递包裹使用颤振。我应该在哪里将联邦快递web服务WSDL集成到我的代码中,以便我可以将跟踪请求发送到联邦快递并获得回复 目前,我正在使用另一个api进行测试,并且能够通过将请求直接发送到此api的url来获得响应。但是联邦快递的web服务不是这样工作的,我必须使用他们的WSDL来设置url Beer.fromJSON(Map<String, dynamic> jsonMap) : id = jsonMap['id'],

我正在开发一个应用程序来跟踪联邦快递包裹使用颤振。我应该在哪里将联邦快递web服务WSDL集成到我的代码中,以便我可以将跟踪请求发送到联邦快递并获得回复

目前,我正在使用另一个api进行测试,并且能够通过将请求直接发送到此api的url来获得响应。但是联邦快递的web服务不是这样工作的,我必须使用他们的WSDL来设置url

Beer.fromJSON(Map<String, dynamic> jsonMap) :
        id = jsonMap['id'],
        name = jsonMap['name'],
        tagline = jsonMap['tagline'],
        description = jsonMap['description'],
        image_url = jsonMap['image_url'];
}

Future<Stream<Beer>> getBeers() async {
  final String url = 'https://api.punkapi.com/v2/beers';

  final client = new http.Client();
  final streamedRest = await client.send(
      http.Request('get', Uri.parse(url))
  );

  return streamedRest.stream
      .transform(utf8.decoder)
      .transform(json.decoder)
      .expand((data) => (data as List))
      .map((data) => Beer.fromJSON(data));
}
Beer.fromJSON(映射jsonMap):
id=jsonMap['id'],
name=jsonMap['name'],
tagline=jsonMap['tagline'],
description=jsonMap['description'],
image_url=jsonMap['image_url'];
}
Future getBeers()异步{
最终字符串url=https://api.punkapi.com/v2/beers';
final client=new http.client();
final streamedRest=等待客户端发送(
请求('get',Uri.parse(url))
);
返回流
.变换(utf8.解码器)
.transform(json.decoder)
.展开((数据)=>(数据作为列表))
.map((数据)=>Beer.fromJSON(数据));
}

WSDL不是您导入应用程序的东西,或者至少不是使用dart导入的东西。它描述了可以向其服务器支持的各种端点发出的请求

比我解释得更好:

根据服务的WSDL定义生成服务的SOAP请求或响应

WSDL是一个XML文档,它提供有关服务的功能、可用的方法、它们的参数和参数类型的信息。它描述了如何与服务通信,以便生成对服务的请求或解密来自服务的响应

WSDL的目的是向客户机完整地描述web服务。WSDL通常定义服务的可用位置以及用于与服务对话的通信协议。它定义了编写与XMLWeb服务一起工作的程序所需的一切


端点很有可能实际使用SOAP进行通信,dart目前并不完全支持这种通信。您必须使用类似的方法来生成与WSDL中的描述匹配的请求,然后您可以使用http.Client发送请求,发送方式与您对其他API的发送方式相同。

谢谢您的回答!但我仍在为我应该将请求发送到哪个url而挣扎。回到联邦快递的例子,它没有提供一个确切的url,我可以通过http.Client发送请求。我只有这个WSDL,我只能依靠它来设置我的请求。在他们提供的Java代码中,有一个包可以为用户进行所有设置,但dart中没有这样的东西。