java as2,使用Email Send端口提示收到文件

今天小知将带大家学习EDI系统如何通过AS2端口接收文件并使用Email Send端口发送邮件提醒。配置邮件提示可以帮助企业在第一时间了解文件发送情况。在EDI系统中搭建如下图所示的工作流:

1f6064c1c8034f6352ea7d01bb2e03ce.png

首先,需要在PROFILE以及FLOWS页面中分别配置自己以及交易伙伴的AS2信息,AS2端口的详细配置请参考文章:AS2 Connector

需要注意的是,本示例中AS2连接配置为“自发自收”,便于用户本地进行测试。其中,需要保证AS2端口的Settings页面下的信息与PROFILE下AS2 Profile页面的信息一致。

f1153550e393355b649e8d27c859126b.png

如上图,EDI系统PROFILE界面下选择AS2 Profile页面,其中Personal Id下的AS2 Identifier可以自定义,默认值为TestAS2。Personal Certificate下可以配置私钥证书,用户可以在此处配置自己的私钥,默认为test.pfx。Application URLs下的Receiving URL默认为http://localhost:8001/pub/Receive.rsb。Public Certificate公钥证书也选择默认值即可。

小知贴士:Public URL中包括了您的AS2 Identifier、Partner URL、Asynchronous MDN URL等信息,您可以将http://localhost:8001/pub/public.rst 这个链接提供给您的交易伙伴,便于交易伙伴获取您的AS2配置信息。

130ef380b05659dac0e201301b30a4de.png

AS2端口的Settings页面,AS2 Identifier即为上图配置的默认值:TestAS2,由于本文配置AS2为“自发自收”模式,复制PROFILE页面的Receiving URL,如上文的http://localhost:8001/pub/public.rst,写入AS2端口Settings页面下的Partner URL中。而Trading Partner Certificates(交易伙伴证书)配置为上文的Private Certificate所匹配的Public Certificate(公钥证书)test.cer即可。AS2端口的Settings页面如下图所示:

5fc97c2425d1f53f600f649082a05764.png

实际操作过程中可以将两个页面对照填写,需要保证两个页面的信息互相匹配方可成功配置AS2的“自发自收”模式。

其次需要配置Email Send端口,Connection下需要填入邮箱信息,在Host中填写发信服务器,在Port中填写发信服务器对应的端口号。User中需要填入您的邮箱,Password中填入您的邮箱密码。Connection的填写示例如下图所示:

64c2198e8dc61e2178f87054e8c5b48d.png

接下来需要设置Message,请将收件邮箱的地址配置在To配置框中,如图所示为test@kasoftware.cn。Subject表示邮件的主题,此处配置为[_message.header:filename]可以取到输入文件的文件名,并将其作为邮件的主题。Message Type选择Attachment,表示将输入至Email Send端口的文件以邮件附件的形式发送至收件人。在最下方的空白处可配置邮件正文内容。填写示例如下图所示:

7eea493c330408258a3e38aabfde8575.png

上图中点击第二行的蓝色字体:Show From|Add Cc|Add Bcc,可以添加更多信息,如发送方、抄送、暗抄送等。效果如下图所示:

dd4d96deb1808c82d9f3e7626de6365f.png

电子邮件中,Cc的英文全称是Carbon Copy(抄送),Bcc的英文全称是 Blind Carbon Copy(暗抄送)。两者的区别在于在BCC栏中的收件人可以看到所有的收件人名(TO,CC,BCC),而在TO和CC栏中的收件人看不到BBC的收件人名。举个例子,您不希望收信人知道您把这封邮件还发送给了A邮箱,则可将A邮箱写在Bcc这一栏。

以上设置完成后,分别在AS2端口和Email Send 端口的Automation页面下取消勾选Send,目的是停止自动发送文件。测试阶段手动发送文件有利于了解文件的传输流程。测试完成后可选择勾选Send,配置为自动发送。

完成以上配置步骤后,在AS2端口的Input页面上传名称为test_data_1.edi的测试文件,上传成功后,勾选test_data_1.edi文件并点击Send发送按钮,经过AS2端口的“自发自收”在AS2端口的Output页面收到test_data_1.edi文件,并转发至Email Send端口。接下来,在Email Send端口的Input页面可以看到从AS2端口转发来的test_data_1.edi文件,勾选并点击Send发送按钮,随后即可在收件邮箱test@kasoftware.cn中查看,结果如下:

e2b52c52f8505561f7e2b1d03815e306.png

注:文案部分内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Java Swing程序,用于实现文件传输的IP地址输入框和端口号输入框: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; public class FileTransfer extends JFrame implements ActionListener { private JTextField ipField; private JTextField portField; private JButton sendButton; private JButton chooseButton; private JFileChooser fileChooser; public FileTransfer() { setTitle("File Transfer"); setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new BorderLayout()); JPanel topPanel = new JPanel(); topPanel.setLayout(new GridLayout(2, 2)); JLabel ipLabel = new JLabel("IP Address:"); ipField = new JTextField(); JLabel portLabel = new JLabel("Port:"); portField = new JTextField(); topPanel.add(ipLabel); topPanel.add(ipField); topPanel.add(portLabel); topPanel.add(portField); add(topPanel, BorderLayout.NORTH); JPanel centerPanel = new JPanel(); centerPanel.setLayout(new GridLayout(1, 2)); chooseButton = new JButton("Choose File..."); chooseButton.addActionListener(this); centerPanel.add(chooseButton); sendButton = new JButton("Send File"); sendButton.addActionListener(this); centerPanel.add(sendButton); add(centerPanel, BorderLayout.CENTER); fileChooser = new JFileChooser(); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == chooseButton) { int returnVal = fileChooser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); // Do something with the file } } else if (e.getSource() == sendButton) { String ipAddress = ipField.getText(); int portNumber = Integer.parseInt(portField.getText()); File file = fileChooser.getSelectedFile(); try { Socket socket = new Socket(ipAddress, portNumber); OutputStream outputStream = socket.getOutputStream(); FileInputStream fileInputStream = new FileInputStream(file); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = fileInputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } fileInputStream.close(); outputStream.close(); socket.close(); JOptionPane.showMessageDialog(this, "File sent successfully!"); } catch (IOException ex) { JOptionPane.showMessageDialog(this, "Error sending file: " + ex.getMessage()); } } } public static void main(String[] args) { new FileTransfer(); } } ``` 这个程序创建了一个窗口,包含一个IP地址输入框、一个端口号输入框、一个“Choose File...”按钮和一个“Send File”按钮。当用户点击“Choose File...”按钮时,程序打开一个文件选择器,允许用户选择要发送的文件。当用户点击“Send File”按钮时,程序使用Socket连接到指定的IP地址和端口号,并将文件发送到远程主机。 请注意,此程序仅是一个示例,并不包含完整的错误处理和安全功能。在实际应用中,您需要添加更多的错误处理和安全检查,以确保文件传输的安全和可靠。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值