Я использую библиотеку Apache Camel AS2 в моем проекте Java, где я реализовал сервер AS2. он работает нормально. Тем не менее, я хочу подписать MDN на основе запроса AS2, где в заголовках я получу алгоритм MIC, который запросил пользователь. Итак, я хочу подписать, используя один из этих алгоритмов во время выполнения, вместо жесткого кодирования алгоритма при создании конечной точки. < /P>
Я также прошел код библиотеки и проверил онлайн но я не смог найти какого-либо решения. То же, и знаки в соответствии с сообщением AS2, пожалуйста, помогите мне в реализации. /> @Singleton
public class As2Server extends RouteBuilder {
private final CamelContext camelContext;
@Inject
public As2Server(CamelContext camelContext) {
this.camelContext = camelContext;
}
@Override
public void configure() {
try {
from(configureServerEndpoint()).process(exchange -> {
// processing logic
});
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private Endpoint configureServerEndpoint() throws Exception {
AS2Configuration endpointConfiguration = new AS2Configuration();
endpointConfiguration.setApiName(AS2ApiName.SERVER);
endpointConfiguration.setMethodName(AS2ServerManagerApiMethod.LISTEN.name());
endpointConfiguration.setDecryptingPrivateKey(getPrivateKey());
endpointConfiguration.setSigningPrivateKey(getPrivateKey());
endpointConfiguration.setSigningCertificateChain(getCertificateChain());
endpointConfiguration.setSigningAlgorithm(AS2SignatureAlgorithm.MD5WITHRSA);
endpointConfiguration.setMdnMessageTemplate("Your AS2 message has been received");
try (AS2Component as2Component = new AS2Component()) {
as2Component.setCamelContext(camelContext);
as2Component.setConfiguration(endpointConfiguration);
return as2Component.createEndpoint(STR."as2://server/listen?serverPortNumber=11080&requestUriPattern=*");
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... s2-library