提问人:krisrr3 提问时间:11/10/2023 更新时间:11/10/2023 访问量:19
AWS JAVA SDK 生成的代码未传递参数
AWS JAVA SDK Generated code not passing parameters
问:
我有一些在 AWS 上构建的 API,可以通过 AWS API Gateway 访问它们。目前,它们正由我通过 AWS AMplify 部署的 Web 应用程序使用。
我还构建了一个 CLI,也想从那里调用 API。因此,我转到了 API 网关并生成了允许它工作的代码。无论 Lambda 日志如何显示未传递 2 个参数的请求参数。有人可以帮忙吗
当我在本地运行集成测试时,出现以下异常
com.company.sdk.model.TechResourcesClientException:内部服务器错误 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1811) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1395) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1371) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1145) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:802) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:770) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:744) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:704) 在 com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:686) 在 com.amazonaws.client.ClientHandlerImpl.doInvoke(ClientHandlerImpl.java:204) 在 com.amazonaws.client.ClientHandlerImpl.invoke(ClientHandlerImpl.java:185) 在 com.amazonaws.client.ClientHandlerImpl.execute(ClientHandlerImpl.java:93) 在 com.amazonaws.opensdk.protect.client.SdkClientHandler.execute(SdkClientHandler.java:42) 在
我的测试代码如下所示
TechResourcesClientClientBuilder clientBuilder = TechResourcesClient.builder();
@Test
public void findTechResource() {
TechResourcesClient client = clientBuilder.connectionConfiguration(new ConnectionConfiguration()
.maxConnections(100)
.connectionMaxIdleMillis(1000))
.timeoutConfiguration(new TimeoutConfiguration()
.httpRequestTimeout(3000)
.totalExecutionTimeout(10000)
.socketTimeout(2000))
.build();
GetTechresourcesRequest request = new GetTechresourcesRequest("value1", "value2");
GetTechresourcesResult result = client.getTechresources(request);
assertNotNull(result);
System.out.println("Test 3 passed");
client.shutdown();
}
生成的相关客户端代码如下所示
@Override
public GetTechresourcesResult getTechresources(GetTechresourcesRequest getTechresourcesRequest) {
HttpResponseHandler<GetTechresourcesResult> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true)
.withHasStreamingSuccessResponse(false), new GetTechresourcesResultJsonUnmarshaller());
HttpResponseHandler<SdkBaseException> errorResponseHandler = createErrorResponseHandler();
//RequestConfig requestConfig = null;
return clientHandler.execute(new ClientExecutionParams<GetTechresourcesRequest, GetTechresourcesResult>()
.withMarshaller(new GetTechresourcesRequestProtocolMarshaller(protocolFactory)).withResponseHandler(responseHandler)
.withErrorResponseHandler(errorResponseHandler)
.withInput(getTechresourcesRequest));
}
答: 暂无答案
下一个:电容器的背景模式无法正常工作
评论