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

时间:2018-09-25 09:29:40

标签: xml rest csv wcf biztalk

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

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

我正在使用的REST API是公共的,因此不需要凭据。

以下是带有标头的.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请求?有没有办法我可以手动调用它?

让我知道是否需要更多信息。

1 个答案:

答案 0 :(得分:2)

要调用该API,您必须触发它,在您的方案中BizTalk必须触发它。

请按照以下步骤进行触发

  1. 创建一个接收端口/接收位置,将其命名为API Scheduler或友好名称,该名称使用WCF-SQL并以 const startUrl = "/api/campaign/"; const endUrl = "/activation/"; return this.http.put(`${startUrl}${uuid}${endUrl}`);

  2. 为您的案例设置轮询间隔的绑定时间为24小时(1天)

示例轮询语句:

enter image description here

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

现在,您应该能够轻松获取相应的数据。