调用 REST API 以使用 Biztalk WCF-WebHttp 适配器获取 CSV 数据

Calling REST API to fetch CSV data using Biztalk WCF-WebHttp adapter

我需要从其余 API 获取一些 .csv 数据,将其映射到 XML 并将其存储在 SQL 服务器中。

CSV 到 XML 映射已经完成,SQL 服务器已设置并准备好接收包含数据的 XML 文档。

我正在使用的 REST API 是一个 public,因此不需要凭据。

这是包含 header:

的 .csv 数据示例
sekvensnummer,tidspunkt,operation,id,kommunekode,kode,oprettet,ændret,navn,adresseringsnavn,navngivenvej_id
48354673,2018-01-14T02:08:38.432Z,insert,,0306,2901,,,Hedvigsvej,Hedvigsvej,
48352674,2018-01-14T02:08:38.432Z,insert,,0201,1187,,,Bøgeholm Alle,Bøgeholm Alle,
48252675,2018-01-14T02:08:38.432Z,insert,,0225,0938,,,Stoustrædet,Stoustrædet,
48357676,2018-01-14T02:08:38.432Z,insert,,0265,0937,,,Stouvænget,Stouvænget,
48352687,2018-01-14T02:08:38.432Z,insert,,0265,0936,,,Dyssevænget,Dyssevænget,

我正在将其映射到 XML 文档,格式如下:

<ns0:Vejstykke xmlns:ns0="http://Company.Vejregister.Schemas.Vejstykke_XML">
    <Data>
        <sekvensnummer>48352273</sekvensnummer>
        <tidspunkt>2018-01-14T02:08:38.432Z</tidspunkt>
        <operation>insert</operation>
        <id/>
        <kommunekode>0376</kommunekode>
        <vejkode>2901</vejkode>
        <oprettet/>
        <ændret/>
        <navn>Hedvigsvej</navn>
        <vejnavn>Hedvigsvej</vejnavn>
        <navngivenvej_id/>
    </Data>

我知道我需要使用 WCF-WebHttp 适配器来获取 csv 数据。我需要每天调用一次 API 来获取最新数据。

在 WCF-WebHttp 适配器的配置中,我需要为数据输入一个 URI。现在我使用了:

/http://dawa.aws.dk/adresser?kommunekode=0326&format=csv

在HTTP方法和URL映射中我写了:GET

接收端口设置为使用 CSV 到 XML 映射作为入站映射。

但是没有数据被提取。

我在事件日志中没有收到任何警告或错误。

何时触发对URI 的GET 请求?有没有办法可以手动调用它?

如果您需要更多信息,请告诉我。

为了调用 API 你必须触发它,在你的场景中 BizTalk 必须触发它。

请按照以下步骤触发它

  1. Create a Receive Port / Receive location name it as API scheduler or a friendly name, which uses the WCF-SQL 和配置 mssql://servername//BizTalkMgmtDb?InboundId=putyouridentifier

  2. 根据您的情况设置轮询间隔绑定 24 小时(1 天)

示例轮询语句:

  1. 现在使用您配置的 WCF-WebHTTP 适配器创建一个双向发送端口,使用 GET 方法并将过滤器放置为 BTS.Receiveportname==CreatedReceivePort 并通过发送管道接收数据(CSV) 与您的管道。

现在你应该可以很容易地获取到相应的数据了。