c# - 如何将 OpenAPI 生成器与企业代理一起使用?
问题描述
我正在尝试使用OpenAPI 生成器根据openapi: "3.0.2"
json 配置自动生成 C# 客户端代码:
openapi-generator generate -i https://test.com/docs/swagger/openapi.json -g csharp-netcore -c open-api-config.json -o DataLakeOpenApiRestClient.cs
这失败并出现以下错误:
[main] 错误 io.swagger.v3.parser.util.RemoteUrl - 无法读取 java.net.ConnectException:连接超时:在 java.net.DualStackPlainSocketImpl.socketConnect 处连接 java.net.DualStackPlainSocketImpl.connect0(Native Method) (Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown源) 在 java.net.SocksSocketImpl.connect(Unknown Source) 在 java.net.Socket.connect(Unknown Source) 在 sun.security.ssl.SSLSocketImpl.connect(Unknown Source) 在 sun.security.ssl.BaseSSLSocketImpl.connect (未知来源)在 sun.net.NetworkClient。在 sun.net.www.http.HttpClient.openServer(Unknown Source) 在 sun.net.www.http.HttpClient.openServer(Unknown Source) 在 sun.net.www.protocol.https.HttpsClient 的 doConnect(Unknown Source)。 (未知来源) sun.net.www.protocol.https.HttpsClient.New(未知来源) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(未知来源) sun.net.www.protocol.http sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 的 .HttpURLConnection.plainConnect0(Unknown Source) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) sun.net.www .protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) at io.swagger.v3.parser.util.RemoteUrl.urlToString(RemoteUrl.java:147) 在 io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:45) 在 io.swagger.parser.OpenAPIParser.readLocation 的 io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:123) (OpenAPIParser.java:16) 在 org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:586) 在 org.openapitools.codegen.cmd.Generate.run(Generate.java:395) 在 org.openapitools。 codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:60)toClientOptInput(CodegenConfigurator.java:586) at org.openapitools.codegen.cmd.Generate.run(Generate.java:395) at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:60)toClientOptInput(CodegenConfigurator.java:586) at org.openapitools.codegen.cmd.Generate.run(Generate.java:395) at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:60)
但是,如果我下载 json 文件并使用本地文件输入运行,它工作正常:
openapi-generator generate -i open-api-offline-file.json -g csharp-netcore -c open-api-config.json -o DataLakeOpenApiRestClient.cs
我已经在没有公司代理的计算机上对此进行了测试,并且它工作正常,所以我的主要怀疑是代理。
我已经设置HTTP_PROXY
和`HTTPS_PROXY,但没有使用它们。
问题:如何将 OpenAPI 生成器与企业代理一起使用?
解决方案
您可以尝试使用以下方法设置网络属性-D
:https ://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html
例如
openapi-generator generate -i open-api-offline-file.json -g csharp-netcore -c open-api-config.json -o DataLakeOpenApiRestClient.cs -Dhttps.proxyHost=internal-proxy.mycompany.com -Dhttps.proxyPort=8080
推荐阅读
- r - 为向量的每个元素做我只为 R 中的一个元素做的事情
- c# - 在所有线程之间使用公共 SQL Server 连接并同时使用
- java - 如何使用 Spring Batch 跳过空行
- c - 两个相等大小的整数数组的函数和相加
- node.js - Express 网络服务器无响应
- arrays - 对数组中的每一行求和(Google 表格)
- pymongo - 如何在没有语法问题的情况下在 pymongo 中使用 $and?
- python - TypeError: cannot pickle '_io.TextIOWrapper' object and EOFError: Ran out of input when call a function using multiprocessing.Process
- bind - 如何在 @Body 中使用 @bind-PropertyName
- mysql - SQL 查询在 shell 脚本中不起作用