diff --git a/tests/AxisInterop/MTOM.php b/tests/AxisInterop/MTOM.php
new file mode 100644
index 0000000..cbfe886
--- /dev/null
+++ b/tests/AxisInterop/MTOM.php
@@ -0,0 +1,47 @@
+';
+
+$options = array(
+ 'soap_version' => SOAP_1_1,
+ 'features' => SOAP_SINGLE_ELEMENT_ARRAYS, // make sure that result is array for size=1
+ 'trace' => true, // enables use of the methods SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse and SoapClient->__getLastResponseHeaders
+ 'attachment_type' => BeSimpleSoapHelper::ATTACHMENTS_TYPE_MTOM,
+ 'cache_wsdl' => WSDL_CACHE_NONE,
+);
+
+/*
+ * Deploy "axis_services/sample-mtom.aar" to Apache Axis2 to get this
+ * example to work.
+ *
+ * Apache Axis2 MTOM example.
+ *
+ */
+$sc = new BeSimpleSoapClient('MTOM.wsdl', $options);
+
+//var_dump($sc->__getFunctions());
+//var_dump($sc->__getTypes());
+
+try {
+
+ $attachment = new stdClass();
+ $attachment->fileName = 'test123.txt';
+ $attachment->binaryData = 'This is a test.';
+
+ var_dump($sc->attachment($attachment));
+
+} catch (Exception $e) {
+ var_dump($e);
+}
+
+// var_dump(
+// $sc->__getLastRequestHeaders(),
+// $sc->__getLastRequest(),
+// $sc->__getLastResponseHeaders(),
+// $sc->__getLastResponse()
+// );
\ No newline at end of file
diff --git a/tests/AxisInterop/MTOM.wsdl b/tests/AxisInterop/MTOM.wsdl
new file mode 100644
index 0000000..178ee35
--- /dev/null
+++ b/tests/AxisInterop/MTOM.wsdl
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AxisInterop/SwA.php b/tests/AxisInterop/SwA.php
new file mode 100644
index 0000000..0cf5b77
--- /dev/null
+++ b/tests/AxisInterop/SwA.php
@@ -0,0 +1,86 @@
+';
+
+$options = array(
+ 'soap_version' => SOAP_1_1,
+ 'features' => SOAP_SINGLE_ELEMENT_ARRAYS, // make sure that result is array for size=1
+ 'trace' => true, // enables use of the methods SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse and SoapClient->__getLastResponseHeaders
+ 'attachment_type' => BeSimpleSoapHelper::ATTACHMENTS_TYPE_SWA,
+ 'cache_wsdl' => WSDL_CACHE_NONE,
+);
+
+/*
+ * Deploy "axis_services/besimple-swa.aar" to Apache Axis2 to get this
+ * example to work.
+ *
+ * Run ant to rebuild aar.
+ *
+ * Example based on:
+ * http://axis.apache.org/axis2/java/core/docs/mtom-guide.html#a3
+ * http://wso2.org/library/1675
+ *
+ * Doesn't work directly with ?wsdl served by Apache Axis!
+ *
+ */
+
+$sc = new BeSimpleSoapClient('SwA.wsdl', $options);
+
+//var_dump($sc->__getFunctions());
+//var_dump($sc->__getTypes());
+
+try {
+ $file = new stdClass();
+ $file->name = 'upload.txt';
+ $file->data = 'This is a test text!';
+ $result = $sc->uploadFile($file);
+
+ var_dump(
+ $result->return
+ );
+
+ $file = new stdClass();
+ $file->name = 'upload.txt';
+ $result = $sc->downloadFile($file);
+
+ var_dump(
+ $result->data
+ );
+
+ $file = new stdClass();
+ $file->name = 'image.jpg'; // source: http://www.freeimageslive.com/galleries/light/pics/swirl3768.jpg
+ $file->data = file_get_contents('image.jpg');
+ $result = $sc->uploadFile($file);
+
+ var_dump(
+ $result->return
+ );
+
+ $crc32 = crc32($file->data);
+
+ $file = new stdClass();
+ $file->name = 'image.jpg';
+ $result = $sc->downloadFile($file);
+
+ file_put_contents('image2.jpg', $result->data);
+
+
+ var_dump(
+ crc32($result->data) === $crc32
+ );
+
+} catch (Exception $e) {
+ var_dump($e);
+}
+
+// var_dump(
+// $sc->__getLastRequestHeaders(),
+// $sc->__getLastRequest(),
+// $sc->__getLastResponseHeaders(),
+// $sc->__getLastResponse()
+// );
\ No newline at end of file
diff --git a/tests/AxisInterop/SwA.wsdl b/tests/AxisInterop/SwA.wsdl
new file mode 100644
index 0000000..a4de7e0
--- /dev/null
+++ b/tests/AxisInterop/SwA.wsdl
@@ -0,0 +1,162 @@
+
+
+ BeSimpleSwaService
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AxisInterop/SwA/build.xml b/tests/AxisInterop/SwA/build.xml
new file mode 100644
index 0000000..f5261ed
--- /dev/null
+++ b/tests/AxisInterop/SwA/build.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AxisInterop/SwA/resources/META-INF/services.xml b/tests/AxisInterop/SwA/resources/META-INF/services.xml
new file mode 100644
index 0000000..8b49f87
--- /dev/null
+++ b/tests/AxisInterop/SwA/resources/META-INF/services.xml
@@ -0,0 +1,15 @@
+
+
+ BeSimple test service for SwA.
+ true
+ besimple.service.BeSimpleSwaService
+
+ urn:uploadFile
+
+
+
+ urn:downloadFile
+
+
+
+
diff --git a/tests/AxisInterop/SwA/src/besimple/service/BeSimpleSwaService.java b/tests/AxisInterop/SwA/src/besimple/service/BeSimpleSwaService.java
new file mode 100644
index 0000000..b173e15
--- /dev/null
+++ b/tests/AxisInterop/SwA/src/besimple/service/BeSimpleSwaService.java
@@ -0,0 +1,78 @@
+package besimple.service;
+
+import java.io.File;
+import java.io.FileOutputStream;
+
+import javax.xml.namespace.QName;
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+
+import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.wsdl.WSDLConstants;
+
+public class BeSimpleSwaService {
+
+ String namespace = "http://service.besimple";
+
+ public OMElement uploadFile(OMElement element) throws Exception {
+ OMElement dataElement = (OMElement)element.getFirstChildWithName(new QName(namespace, "data"));
+ OMAttribute hrefAttribute = dataElement.getAttribute(new QName("href"));
+
+ String contentID = hrefAttribute.getAttributeValue();
+ contentID = contentID.trim();
+ if (contentID.substring(0, 3).equalsIgnoreCase("cid")) {
+ contentID = contentID.substring(4);
+ }
+ OMElement nameElement = (OMElement)element.getFirstChildWithName(new QName(namespace, "name"));
+ String name = nameElement.getText();
+
+ MessageContext msgCtx = MessageContext.getCurrentMessageContext();
+ Attachments attachment = msgCtx.getAttachmentMap();
+ DataHandler dataHandler = attachment.getDataHandler(contentID);
+
+ File file = new File(name);
+ FileOutputStream fileOutputStream = new FileOutputStream(file);
+ dataHandler.writeTo(fileOutputStream);
+ fileOutputStream.flush();
+ fileOutputStream.close();
+
+ OMFactory factory = OMAbstractFactory.getOMFactory();
+ OMNamespace omNs = factory.createOMNamespace(namespace, "swa");
+ OMElement wrapperElement = factory.createOMElement("uploadFileResponse", omNs);
+ OMElement returnElement = factory.createOMElement("return", omNs, wrapperElement);
+ returnElement.setText("File saved succesfully.");
+
+ return wrapperElement;
+ }
+
+ public OMElement downloadFile(OMElement element) throws Exception {
+ OMElement nameElement = (OMElement)element.getFirstChildWithName(new QName(namespace, "name"));
+ String name = nameElement.getText();
+
+ MessageContext msgCtxIn = MessageContext.getCurrentMessageContext();
+ OperationContext operationContext = msgCtxIn.getOperationContext();
+ MessageContext msgCtxOut = operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
+
+ FileDataSource fileDataSource = new FileDataSource(name);
+ DataHandler dataHandler = new DataHandler(fileDataSource);
+
+ String contentID = "cid:" + msgCtxOut.addAttachment(dataHandler);
+
+ OMFactory factory = OMAbstractFactory.getOMFactory();
+ OMNamespace omNs = factory.createOMNamespace(namespace, "swa");
+ OMElement wrapperElement = factory.createOMElement("downloadFileResponse", omNs);
+ OMElement dataElement = factory.createOMElement("data", omNs, wrapperElement);
+ dataElement.addAttribute("href", contentID, null);
+
+ return wrapperElement;
+ }
+}
diff --git a/tests/AxisInterop/WsAddressing.php b/tests/AxisInterop/WsAddressing.php
new file mode 100644
index 0000000..9ec1bcc
--- /dev/null
+++ b/tests/AxisInterop/WsAddressing.php
@@ -0,0 +1,75 @@
+';
+
+$options = array(
+ 'soap_version' => SOAP_1_2,
+ 'features' => SOAP_SINGLE_ELEMENT_ARRAYS, // make sure that result is array for size=1
+ 'trace' => true, // enables use of the methods SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse and SoapClient->__getLastResponseHeaders
+);
+
+/*
+ * Deploy "axis_services/version2.aar" to Apache Axis2 to get this example to
+ * work.
+ *
+ * To rebuild the "axis_services/version2.aar" the following steps need to be
+ * done to build a working Apache Axis2 version service with SOAP session
+ * enabled.
+ *
+ * 1) Go to $AXIS_HOME/samples/version and edit the following files:
+ *
+ * resources/META-INF/services.xml:
+ *
+ * ...
+ *
+ *
+ * build.xml:
+ * replace version.aar with version2.aar
+ *
+ * 2) Run ant build.xml in "$AXIS_HOME/samples/version"
+ *
+ */
+
+$sc = new BeSimpleSoapClient('http://localhost:8080/axis2/services/Version2?wsdl', $options);
+$soapKernel = $sc->getSoapKernel();
+$wsaFilter = new BeSimpleWsAddressingFilter();
+$soapKernel->registerFilter($wsaFilter);
+
+//var_dump($sc->__getFunctions());
+//var_dump($sc->__getTypes());
+
+try {
+ $wsaFilter->setReplyTo(BeSimpleWsAddressingFilter::ENDPOINT_REFERENCE_ANONYMOUS);
+ $wsaFilter->setMessageId();
+
+ var_dump($sc->getVersion());
+
+ $soapSessionId1 = $wsaFilter->getReferenceParameter('http://ws.apache.org/namespaces/axis2', 'ServiceGroupId');
+ echo 'ID1: ' .$soapSessionId1 . PHP_EOL;
+
+ $wsaFilter->addReferenceParameter('http://ws.apache.org/namespaces/axis2', 'axis2', 'ServiceGroupId', $soapSessionId1);
+
+ var_dump($sc->getVersion());
+
+ $soapSessionId2 = $wsaFilter->getReferenceParameter('http://ws.apache.org/namespaces/axis2', 'ServiceGroupId');
+ echo 'ID2: ' . $soapSessionId2 . PHP_EOL;
+
+ if ($soapSessionId1 == $soapSessionId2) {
+ echo PHP_EOL;
+ echo 'SOAP session worked :)';
+ }
+} catch (Exception $e) {
+ var_dump($e);
+}
+
+// var_dump(
+// $sc->__getLastRequestHeaders(),
+// $sc->__getLastRequest(),
+// $sc->__getLastResponseHeaders(),
+// $sc->__getLastResponse()
+// );
\ No newline at end of file
diff --git a/tests/AxisInterop/WsSecuritySigEnc.php b/tests/AxisInterop/WsSecuritySigEnc.php
new file mode 100644
index 0000000..d6a31fb
--- /dev/null
+++ b/tests/AxisInterop/WsSecuritySigEnc.php
@@ -0,0 +1,116 @@
+';
+
+$options = array(
+ 'soap_version' => SOAP_1_2,
+ 'features' => SOAP_SINGLE_ELEMENT_ARRAYS, // make sure that result is array for size=1
+ 'trace' => true, // enables use of the methods SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse and SoapClient->__getLastResponseHeaders
+);
+
+/*
+ * Deploy "axis_services/library-signencr.aar" to Apache Axis2 to get this
+ * example to work.
+ *
+ * Links:
+ * http://www.dcc.uchile.cl/~pcamacho/tutorial/web/xmlsec/xmlsec.html
+ * http://www.aleksey.com/xmlsec/xmldsig-verifier.html
+ *
+ * Using code from axis example:
+ * http://www.ibm.com/developerworks/java/library/j-jws5/index.html
+ *
+ * Download key tool to export private key
+ * http://couchpotato.net/pkeytool/
+ *
+ * keytool -export -alias serverkey -keystore server.keystore -storepass nosecret -file servercert.cer
+ * openssl x509 -out servercert.pem -outform pem -in servercert.pem -inform der
+ *
+ * keytool -export -alias clientkey -keystore client.keystore -storepass nosecret -file clientcert.cer
+ * openssl x509 -out clientcert.pem -outform pem -in clientcert.pem -inform der
+ * java -jar pkeytool.jar -exportkey -keystore client.keystore -storepass nosecret -keypass clientpass -rfc -alias clientkey -file clientkey.pem
+ *
+ * C:\Program Files\Java\jre6\bin\keytool -export -alias serverkey -keystore server.keystore -storepass nosecret -file servercert.cer
+ * C:\xampp\apache\bin\openssl x509 -out servercert.pem -outform pem -in servercert.cer -inform der
+ *
+ * C:\Program Files\Java\jre6\bin\keytool -export -alias clientkey -keystore client.keystore -storepass nosecret -file clientcert.cer
+ * C:\xampp\apache\bin\openssl x509 -out clientcert.pem -outform pem -in clientcert.cer -inform der
+ * java -jar C:\axis2\pkeytool\pkeytool.jar -exportkey -keystore client.keystore -storepass nosecret -keypass clientpass -rfc -alias clientkey -file clientkey.pem
+ *
+ * build.properties:
+ * server-policy=hash-policy-server.xml
+ *
+ * allows both text and digest!
+ */
+
+class getBook {}
+class getBookResponse {}
+class getBooksByType {}
+class getBooksByTypeResponse {}
+class addBook {}
+class addBookResponse {}
+class BookInformation {}
+
+$options['classmap'] = array(
+ 'getBook' => 'getBook',
+ 'getBookResponse' => 'getBookResponse',
+ 'getBooksByType' => 'getBooksByType',
+ 'getBooksByTypeResponse' => 'getBooksByTypeResponse',
+ 'addBook' => 'addBook',
+ 'addBookResponse' => 'addBookResponse',
+ 'BookInformation' => 'BookInformation',
+);
+
+$sc = new BeSimpleSoapClient('WsSecuritySigEnc.wsdl', $options);
+
+$wssFilter = new BeSimpleWsSecurityFilter();
+// user key for signature and encryption
+$securityKeyUser = new BeSimpleWsSecurityKey();
+$securityKeyUser->addPrivateKey(XmlSecurityKey::RSA_SHA1, 'clientkey.pem', true);
+$securityKeyUser->addPublicKey(XmlSecurityKey::RSA_SHA1, 'clientcert.pem', true);
+$wssFilter->setUserSecurityKeyObject($securityKeyUser);
+// service key for encryption
+$securityKeyService = new BeSimpleWsSecurityKey();
+$securityKeyService->addPrivateKey(XmlSecurityKey::TRIPLEDES_CBC);
+$securityKeyService->addPublicKey(XmlSecurityKey::RSA_1_5, 'servercert.pem', true);
+$wssFilter->setServiceSecurityKeyObject($securityKeyService);
+// TOKEN_REFERENCE_SUBJECT_KEY_IDENTIFIER | TOKEN_REFERENCE_SECURITY_TOKEN | TOKEN_REFERENCE_THUMBPRINT_SHA1
+$wssFilter->setSecurityOptionsSignature(BeSimpleWsSecurityFilter::TOKEN_REFERENCE_SECURITY_TOKEN);
+$wssFilter->setSecurityOptionsEncryption(BeSimpleWsSecurityFilter::TOKEN_REFERENCE_THUMBPRINT_SHA1);
+
+$soapKernel = $sc->getSoapKernel();
+$soapKernel->registerFilter($wssFilter);
+
+//var_dump($sc->__getFunctions());
+//var_dump($sc->__getTypes());
+
+try {
+ $gb = new getBook();
+ $gb->isbn = '0061020052';
+ var_dump($sc->getBook($gb));
+
+ $ab = new addBook();
+ $ab->isbn = '0445203498';
+ $ab->title = 'The Dragon Never Sleeps';
+ $ab->author = 'Cook, Glen';
+ $ab->type = 'scifi';
+ var_dump($sc->addBook($ab));
+
+ // getBooksByType("scifi");
+} catch (Exception $e) {
+ var_dump($e);
+}
+
+//var_dump(
+// $sc->__getLastRequestHeaders(),
+// $sc->__getLastRequest(),
+// $sc->__getLastResponseHeaders(),
+// $sc->__getLastResponse()
+//);
diff --git a/tests/AxisInterop/WsSecuritySigEnc.wsdl b/tests/AxisInterop/WsSecuritySigEnc.wsdl
new file mode 100644
index 0000000..620ea51
--- /dev/null
+++ b/tests/AxisInterop/WsSecuritySigEnc.wsdl
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AxisInterop/WsSecurityUserPass.php b/tests/AxisInterop/WsSecurityUserPass.php
new file mode 100644
index 0000000..595d9ba
--- /dev/null
+++ b/tests/AxisInterop/WsSecurityUserPass.php
@@ -0,0 +1,81 @@
+';
+
+$options = array(
+ 'soap_version' => SOAP_1_2,
+ 'features' => SOAP_SINGLE_ELEMENT_ARRAYS, // make sure that result is array for size=1
+ 'trace' => true, // enables use of the methods SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse and SoapClient->__getLastResponseHeaders
+);
+
+/*
+ * Deploy "axis_services/library-username-digest.aar" to Apache Axis2 to get
+ * this example to work.
+ *
+ * Using code from axis example:
+ * http://www.ibm.com/developerworks/java/library/j-jws4/index.html
+ *
+ * build.properties:
+ * server-policy=hash-policy-server.xml
+ *
+ * allows both text and digest!
+ */
+
+class getBook {}
+class getBookResponse {}
+class getBooksByType {}
+class getBooksByTypeResponse {}
+class addBook {}
+class addBookResponse {}
+class BookInformation {}
+
+$options['classmap'] = array(
+ 'getBook' => 'getBook',
+ 'getBookResponse' => 'getBookResponse',
+ 'getBooksByType' => 'getBooksByType',
+ 'getBooksByTypeResponse' => 'getBooksByTypeResponse',
+ 'addBook' => 'addBook',
+ 'addBookResponse' => 'addBookResponse',
+ 'BookInformation' => 'BookInformation',
+);
+
+$sc = new BeSimpleSoapClient('WsSecurityUserPass.wsdl', $options);
+
+$wssFilter = new BeSimpleWsSecurityFilter(true, 600);
+$wssFilter->addUserData('libuser', 'books', BeSimpleWsSecurityFilter::PASSWORD_TYPE_TEXT);
+//$wssFilter->addUserData( 'libuser', 'books', BeSimpleWsSecurityFilter::PASSWORD_TYPE_DIGEST );
+
+$soapKernel = $sc->getSoapKernel();
+$soapKernel->registerFilter($wssFilter);
+
+//var_dump($sc->__getFunctions());
+//var_dump($sc->__getTypes());
+
+try {
+ $gb = new getBook();
+ $gb->isbn = '0061020052';
+ var_dump($sc->getBook($gb));
+
+ $ab = new addBook();
+ $ab->isbn = '0445203498';
+ $ab->title = 'The Dragon Never Sleeps';
+ $ab->author = 'Cook, Glen';
+ $ab->type = 'scifi';
+ var_dump($sc->addBook($ab));
+
+ // getBooksByType("scifi");
+} catch (Exception $e) {
+ var_dump($e);
+}
+
+//var_dump(
+// $sc->__getLastRequestHeaders(),
+// $sc->__getLastRequest(),
+// $sc->__getLastResponseHeaders(),
+// $sc->__getLastResponse()
+//);
diff --git a/tests/AxisInterop/WsSecurityUserPass.wsdl b/tests/AxisInterop/WsSecurityUserPass.wsdl
new file mode 100644
index 0000000..6e72411
--- /dev/null
+++ b/tests/AxisInterop/WsSecurityUserPass.wsdl
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AxisInterop/axis_services/besimple-swa.aar b/tests/AxisInterop/axis_services/besimple-swa.aar
new file mode 100644
index 0000000..bb41750
Binary files /dev/null and b/tests/AxisInterop/axis_services/besimple-swa.aar differ
diff --git a/tests/AxisInterop/axis_services/library-signencr.aar b/tests/AxisInterop/axis_services/library-signencr.aar
new file mode 100644
index 0000000..25ffc2d
Binary files /dev/null and b/tests/AxisInterop/axis_services/library-signencr.aar differ
diff --git a/tests/AxisInterop/axis_services/library-username-digest.aar b/tests/AxisInterop/axis_services/library-username-digest.aar
new file mode 100644
index 0000000..f6f8595
Binary files /dev/null and b/tests/AxisInterop/axis_services/library-username-digest.aar differ
diff --git a/tests/AxisInterop/axis_services/sample-mtom.aar b/tests/AxisInterop/axis_services/sample-mtom.aar
new file mode 100644
index 0000000..a215edc
Binary files /dev/null and b/tests/AxisInterop/axis_services/sample-mtom.aar differ
diff --git a/tests/AxisInterop/axis_services/version2.aar b/tests/AxisInterop/axis_services/version2.aar
new file mode 100644
index 0000000..df76662
Binary files /dev/null and b/tests/AxisInterop/axis_services/version2.aar differ
diff --git a/tests/AxisInterop/clientcert.pem b/tests/AxisInterop/clientcert.pem
new file mode 100644
index 0000000..f433d48
--- /dev/null
+++ b/tests/AxisInterop/clientcert.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICoDCCAgkCBEnhw2IwDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNVBAYTAk5aMRMw
+EQYDVQQIEwpXZWxsaW5ndG9uMRowGAYDVQQHExFQYXJhcGFyYXVtdSBCZWFjaDEq
+MCgGA1UEChMhU29zbm9za2kgU29mdHdhcmUgQXNzb2NpYXRlcyBMdGQuMRAwDgYD
+VQQLEwdVbmtub3duMRgwFgYDVQQDEw9EZW5uaXMgU29zbm9za2kwHhcNMDkwNDEy
+MTAzMzA2WhcNMzYwODI3MTAzMzA2WjCBljELMAkGA1UEBhMCTloxEzARBgNVBAgT
+CldlbGxpbmd0b24xGjAYBgNVBAcTEVBhcmFwYXJhdW11IEJlYWNoMSowKAYDVQQK
+EyFTb3Nub3NraSBTb2Z0d2FyZSBBc3NvY2lhdGVzIEx0ZC4xEDAOBgNVBAsTB1Vu
+a25vd24xGDAWBgNVBAMTD0Rlbm5pcyBTb3Nub3NraTCBnzANBgkqhkiG9w0BAQEF
+AAOBjQAwgYkCgYEAhOVyNK8xyxtb4DnKtU6mF9KoiFqCk7eKoLE26+9h410CtTkx
+zWAfgnR+8i+LPbdsPY+yXAo6NYpCCKolXfDLe+AG2GwnMZGrIl6+BLF3hqTmIXBF
+TLGUmC7A7uBTivaWgdH1w3hb33rASoVU67BVtQ3QQi99juZX4vU9o9pScocCAwEA
+ATANBgkqhkiG9w0BAQUFAAOBgQBMNPo1KAGbz8Jl6HGbtAcetieSJ3bEAXmv1tcj
+ysBS67AXzdu1Ac+onHh2EpzBM7kuGbw+trU+AhulooPpewIQRApXP1F0KHRDcbqW
+jwvknS6HnomN9572giLGKn2601bHiRUj35hiA8aLmMUBppIRPFFAoQ0QUBCPx+m8
+/0n33w==
+-----END CERTIFICATE-----
diff --git a/tests/AxisInterop/clientkey.pem b/tests/AxisInterop/clientkey.pem
new file mode 100644
index 0000000..a47f923
--- /dev/null
+++ b/tests/AxisInterop/clientkey.pem
@@ -0,0 +1,14 @@
+-----BEGIN PRIVATE KEY-----
+MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAITlcjSvMcsbW+A5yrVOphfSqIha
+gpO3iqCxNuvvYeNdArU5Mc1gH4J0fvIviz23bD2PslwKOjWKQgiqJV3wy3vgBthsJzGRqyJevgSx
+d4ak5iFwRUyxlJguwO7gU4r2loHR9cN4W996wEqFVOuwVbUN0EIvfY7mV+L1PaPaUnKHAgMBAAEC
+gYAZ6UqtLwN8YGc3fs0hMKZ9upsViuAuwPiMgED/G3twgzAF+ZLWQkmie+hMfCyf6eV200+pVm0n
+Bz/8xH/oowxpX0Kk3szoB4vFghjU84GKUcrbhu/NRIm7l3drnfbzqhQkHDCx6n1CotI4Gs49cDWu
+4uEAuxJkEIVY553unZjZgQJBAOJVIallNKmD0iQlvtWRmRzpmYDjt9vhNY6WBTIOx6SDn9SRaoSA
+fkipQ2HXo04r78TQ674+zfZ1lRTkFG7px6ECQQCWUPHp3pSZOM1oGzJrNvNaw+MizZAZjq34npHm
+9GRquFLG7BlCaI9QNGE7pN2ryYsYCRUMaM2e4GR0tUXxVGknAkAgrxqFU9AfCqI2Bh1gyf3KZxF7
+w2axofwR8ygc6nV6FGfoUneHWubhp0/LuVAj4cRmL6Vbe8ZSaPh2Y9lviuMBAkEAicP8Q+1E4j1m
+PPEYP51oYprANOiUFmhnWEL00+jPk+QFsd03tV6hYs/vAbwzkjuwqMHCMdJoCiH8z95IEUvc5wJA
+MvLOuZdu4dmhOXg/YKsbMSPjFNEVskLQNSXqw6O2wIrpPg1NQvBBAOTbiuZj3vind4VPos1wc4vB
+QocvdUC6dA==
+-----END PRIVATE KEY-----
diff --git a/tests/AxisInterop/image.jpg b/tests/AxisInterop/image.jpg
new file mode 100644
index 0000000..4331bf5
Binary files /dev/null and b/tests/AxisInterop/image.jpg differ
diff --git a/tests/AxisInterop/servercert.pem b/tests/AxisInterop/servercert.pem
new file mode 100644
index 0000000..040b22c
--- /dev/null
+++ b/tests/AxisInterop/servercert.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICoDCCAgkCBEnhwzMwDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNVBAYTAk5aMRMw
+EQYDVQQIEwpXZWxsaW5ndG9uMRowGAYDVQQHExFQYXJhcGFyYXVtdSBCZWFjaDEq
+MCgGA1UEChMhU29zbm9za2kgU29mdHdhcmUgQXNzb2NpYXRlcyBMdGQuMRAwDgYD
+VQQLEwdVbmtub3duMRgwFgYDVQQDEw9EZW5uaXMgU29zbm9za2kwHhcNMDkwNDEy
+MTAzMjE5WhcNMzYwODI3MTAzMjE5WjCBljELMAkGA1UEBhMCTloxEzARBgNVBAgT
+CldlbGxpbmd0b24xGjAYBgNVBAcTEVBhcmFwYXJhdW11IEJlYWNoMSowKAYDVQQK
+EyFTb3Nub3NraSBTb2Z0d2FyZSBBc3NvY2lhdGVzIEx0ZC4xEDAOBgNVBAsTB1Vu
+a25vd24xGDAWBgNVBAMTD0Rlbm5pcyBTb3Nub3NraTCBnzANBgkqhkiG9w0BAQEF
+AAOBjQAwgYkCgYEA1H3mjQCF9uce2jmm/Yq9kE4ytfvkp4c8G90cDfJXJvOiGQds
+p2vDZXKuCkHQ7vsBBXPNTt8J/d8ZbEwyuB9Ccz5pJqi6Ig6Y2/mEsPthDyh5SrJV
+yQ/wxUGwmfSuwdrIMnplMTq+OR9BOfT3CvjSvuy9d6BQNo4wOMkDvmZTtI8CAwEA
+ATANBgkqhkiG9w0BAQUFAAOBgQCqv4475QaqlKcN2QCZJbLVKZEX+76XLQurGkgf
+2fCgesRHjfUfOHyTTlhWQdEKTcBB2XviUyyW6I//fmKfXUIiQqvgh4LHdXRPEXDf
+Y9nr89MjyQpDlnl6AlrvSej30a9iwVRUeVk4d6gxWHMRonKBFgh+TGexxUXHtPkf
+B1Pdtg==
+-----END CERTIFICATE-----