forked from smartdev0612/AS2_Sender
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient.php
57 lines (46 loc) · 1.49 KB
/
client.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
/**
* Copyright (c) 2017 Brett Patterson
*
* @author Brett Patterson <bap14@users.noreply.github.com>
*/
namespace PHPAS2Demo;
require_once('vendor/autoload.php');
use PHPAS2\Client;
use PHPAS2\Exception\MDNFailure;
use PHPAS2\Message;
use PHPAS2\Message\Adapter;
use PHPAS2\Partner;
if (
!array_key_exists('as2to', $_REQUEST) || !$_REQUEST['as2to'] ||
!array_key_exists('as2from', $_REQUEST) || !$_REQUEST['as2from']
) {
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/');
exit;
}
$message = new Message();
// Remote
$receivingPartner = new Partner();
// Local
$sendingPartner = new Partner();
$message->getAdapter()
->setReceivingPartner($receivingPartner)
->setSendingPartner($sendingPartner);
$receivingPartner->loadFromConfig($_REQUEST['as2to']);
$sendingPartner->loadFromConfig($_REQUEST['as2from']);
$tmpFile = $message->getAdapter()->getTempFilename();
file_put_contents($tmpFile, 'Test Message from ' . Adapter::getServerSignature());
$message->setReceivingPartner($receivingPartner)
->setSendingPartner($sendingPartner)
->addFile($tmpFile, 'text/plain', 'test-as2-file.txt')
->encode();
try {
$client = new Client();
$client->sendRequest($message);
echo 'Message sent and received successfully.';
}
catch (MDNFailure $e) {
echo 'Message failed to be sent: "' . $e->getMessage() . '"';
}
echo '<pre>' . implode(PHP_EOL, $client->getResponse()->getHeaders()) . '</pre>';
echo '<pre>' . $client->getResponse()->getContent() . '</pre>';