使用WCF WebHttp发布/公开RESTful API

使用WCF WebHttp发布/公开RESTful API,api,adapter,biztalk,wcf-web-api,biztalk-2013r2,Api,Adapter,Biztalk,Wcf Web Api,Biztalk 2013r2,我需要从BizTalk 2013 r2公开/发布RESTful API服务 我已经在IIS中发布了一个服务,当我浏览它时,它正在工作,但是我无法从SOAP UI调用API。我已尝试使用此链接: 我的API URL有3个必需参数(前3个)和2个可选参数(后2个)。 我使用了BTS变量映射 所需的示例URL为 /rest/testlink/write/data/apiservice/V01/rs/call/search/{name}/{rows}/{starts}?year=<year>

我需要从BizTalk 2013 r2公开/发布RESTful API服务

我已经在IIS中发布了一个服务,当我浏览它时,它正在工作,但是我无法从SOAP UI调用API。我已尝试使用此链接:

我的API URL有3个必需参数(前3个)和2个可选参数(后2个)。 我使用了BTS变量映射

所需的示例URL为

/rest/testlink/write/data/apiservice/V01/rs/call/search/{name}/{rows}/{starts}?year=<year>&AdditionalName=<additional>
在WCF web HTTP接收位置,BizTalk正在使用
/serviceapi/Service1.svc
但是这个service1.svc在客户端的示例URL中不存在

我突出显示了上面的变量,还有一个查询
=
。那么,我如何在WCF WebHttp中设置它并公开RESTAPI呢

如果BizTalk使用以下URL,调用此服务的客户端将如何知道参数?当我浏览时,这个URL可以工作,但我相信这是WSDL链接

如何发布带有查询参数的API

https://localhost/serviceapi/Service1.svc

使用Web HTTP适配器公开BizTalk接收位置时,该位置将公开为.svc。因为它使用WCF框架来启用REST功能。该url不是真正意义上的REST url

您需要的是url屏蔽,使其看起来像rest url。它是Azure API管理的完美用例,因为它屏蔽了底层url


它有servce1.svc这一事实并不重要,因为客户端仍然能够在您公开的端点上执行GET请求

IIS中还有一些技巧,允许您进行URL重写以屏蔽它以Service1.svc结尾
https://localhost/serviceapi/Service1.svc