用于传输文件的独立 AS2 客户端
stand alone AS2 client for transferring file
我需要将文件 (xml) 传输到 AS2 服务器。我不太擅长这个沟通渠道,但我需要以编程方式进行。例如发送到 SFTP 我正在使用此代码:
import com.jcraft.jsch.*;
.......
public void uploadViaSFTP (String fileToUpload, String sftp_host, String sftp_user, String sftp_psw)
{
int SFTPPORT = 22;
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
try{
JSch jsch = new JSch();
session = jsch.getSession(sftp_user,sftp_host,SFTPPORT);
session.setPassword(sftp_psw);
java.util.Properties config = new java.util.Properties();
//this line should be used only for testing, not for production
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp)channel;
channelSftp.cd("/");
File f = new File(fileToUpload);
channelSftp.put(new FileInputStream(f), f.getName());
}catch(Exception ex){
ex.printStackTrace();
}
}
但现在我需要为 AS2 做同样的事情。我可以使用什么库 (openAS2)?有没有像 SFTP 一样的简单传输方法?
您应该能够使用标准 HTTPS 组件和 S/MIME 附件,因为 AS2 是 HTTP 或 HTTPS 之上的安全层和使用规范。
我将从 (https://www.mkyong.com/java/java-https-client-httpsurlconnection-example/), the AS2 specification (http://www.ietf.org/rfc/rfc4130.txt) , and this example from github: (https://github.com/protocol7/smime-java-example)
开始
我需要将文件 (xml) 传输到 AS2 服务器。我不太擅长这个沟通渠道,但我需要以编程方式进行。例如发送到 SFTP 我正在使用此代码:
import com.jcraft.jsch.*;
.......
public void uploadViaSFTP (String fileToUpload, String sftp_host, String sftp_user, String sftp_psw)
{
int SFTPPORT = 22;
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
try{
JSch jsch = new JSch();
session = jsch.getSession(sftp_user,sftp_host,SFTPPORT);
session.setPassword(sftp_psw);
java.util.Properties config = new java.util.Properties();
//this line should be used only for testing, not for production
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp)channel;
channelSftp.cd("/");
File f = new File(fileToUpload);
channelSftp.put(new FileInputStream(f), f.getName());
}catch(Exception ex){
ex.printStackTrace();
}
}
但现在我需要为 AS2 做同样的事情。我可以使用什么库 (openAS2)?有没有像 SFTP 一样的简单传输方法?
您应该能够使用标准 HTTPS 组件和 S/MIME 附件,因为 AS2 是 HTTP 或 HTTPS 之上的安全层和使用规范。
我将从 (https://www.mkyong.com/java/java-https-client-httpsurlconnection-example/), the AS2 specification (http://www.ietf.org/rfc/rfc4130.txt) , and this example from github: (https://github.com/protocol7/smime-java-example)
开始