试图从 aws lambda 连接到外部肥皂服务,但低于异常。
com.sun.xml.internal.ws.client.ClientTransportException:HTTP 传输错误:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效认证路径
尝试从本地环境调用服务时,我遇到了同样的异常。使用 keytool 命令将安全证书导入 jre/lib/security 文件夹后即可解决。
如何在 AWS 中导入外部安全证书以解决异常。
我已经浏览了下面的链接。
注意::我有浏览器的证书,但我没有私钥。
AWS 新手..
我们有一个 .NET Core 微服务作为 lambda 函数在无服务器 aws 实例上运行。
我们的控制器看起来像这样
[Route("api/[controller]")]
[ApiController]
public class SomeController : ControllerBase
{
[HttpGet()]
[Route("getsomedoc")]
public async Task<IActionResult> GetSomeDoc()
{
byte[] content;
//UI needs this to process the document
var contentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
contentDisposition.FileName = "File Name";
Response.Headers[HeaderNames.ContentDisposition] = contentDisposition.ToString();
return File(content, "application/octet-stream");
}
[HttpPost()]
[Route("somepost")]
public async Task<IActionResult> SomePost()
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
网址
{{URL}}/getsomedoc
{{URL}}/somepost
Run Code Online (Sandbox Code Playgroud)
我们已在 AWS 包设置中启用“二进制媒体类型”,以便getsomedoc 正常工作,否则它将返回字节数组而不是文件。
但是,当 UI 使用 Method: OPTIONS & Access-Control-Request-Method as POST …
哪一种是读取xml的有效方式。我知道两种方法:
1)JAXB:通过使用 jaxb 注释来注释我的类,我们使用对象的编组和解组在 java 对象中获取 xml,反之亦然。
2)DOM:使用dom解析器解析xml,使用xml中的xpath值可以访问。
DOM 示例:
File fXmlFile = new File("/Users/link1/input.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
Run Code Online (Sandbox Code Playgroud)
根据业务需求,我希望在上述两者之间使用最快的方式和更好的方式。建议和很少的策略将不胜感激。