提问人:Valeria Carballo 提问时间:10/3/2023 最后编辑:Valeria Carballo 更新时间:10/25/2023 访问量:91
使用 GX17/ .NET 的 Web 服务 REST
web service REST with GX17/ .NET
问:
我尝试使用 Genexus 生成 Web 服务 REST,当我尝试使用它时,结果是来自 SoapUI 或 Postman 的错误 404。当我尝试从 GX 中的 Web 面板使用它时,服务器上的错误是 IHttpHandler Exception。
该过程具有以下属性:
Expose as web server: TRUE
REST Protocol: TRUE
Generate OpenAPI interface: TRUE
我试着这样消费它:http://myHostNameOrIPAddress/MyVirtualDir/ws_procName?parm=value 或 http://myHostNameOrIPAddress/MyVirtualDir/ws_procName.aspx?parm=value
我不知道我是否必须放置“.aspx”,因为正如 GXWiki 所说,该过程不是主要的。我还试图知道使用此 URL 的 ws 是否处于活动状态:
http://myHostNameOrIPAddress/MyVirtualDir/ws_procName.aspx?wadl
在没有任何成功之后,我尝试使用带有 httpclient 的 gx Web 面板来使用它,如下所示:
&HttpClient.Host = "http://myHostNameOrIPAddress"
&HttpClient.BaseUrl= "/MyVirtualDir/"
&HttpClient.Port = 80
&HttpClient.Secure = 0
&HttpClient.AddHeader("Content-Type", "application/json; charset=utf-8")
&JsonSend = &ws_sdtInput.ToJson() //&ws_sdtInput is the sdt of the input parameter after import the OpenAPI
&HttpClient.AddString(&JsonSend.Trim())
&HttpClient.Execute("POST", "/messages/ws_procName.json")
&JsonResponse = &ws_sdtOutput.ToJson() //&ws_sdtOutput is the sdt of the output parameter after import the OpenAPI
&JsonResponse = &HttpClient.ToString()
有人可以帮助我吗?提前致谢 :)
答:
0赞
ealmeida
10/8/2023
#1
如果您从未使用过该服务,并且已经在生成 OpenAPI,则可以将 default.yaml 文件导入到 Postman 等工具中以使用 REST 服务。 在那里,它将向您展示如何编写 URL 以及如何传递参数。 一开始需要做一些工作,但通过查看文档,您应该不会有任何问题。
评论
0赞
Valeria Carballo
10/11/2023
非常感谢!!我会看一下文档,然后用你的建议再试一次。问候!
评论