Тестирование SoapUI с Android и байтовыми массивами

Я пытаюсь провести тестирование SOAP и не могу понять, как передать byte[].

Я использую SoapUI для тестов. Я вставил WSDL и смог увидеть доступные запросы в списке.

The WSDL link is: http://54.243.147.122:8080/ASEServer/services/Android?wsdl

Разработанное приложение для Android выполняет различные задачи, требующие подключения к серверу Soap. Одним из них является процедура входа в систему. Создается объект, а затем он преобразуется в массив байтов (byte[]), который отправляется на сервер.

Я не могу понять, как передать массив байтов в «конверте», чтобы получить ответ.

Мне очень нужна помощь, поэтому любые предложения приветствуются.


person Gus    schedule 29.11.2012    source источник


Ответы (1)


Чтобы отправить массив байтов SOAP U, вы должны сначала декодировать массив байтов как BASE64. Затем просто вставьте строку в кодировке base64 в мыльный конверт. Есть несколько онлайн-конвертеров для преобразования шестнадцатеричных строк в строку base64. Но если вы хотите сделать это сами, вот пример.

public class App {

private static final String TR_MESSAGE = "Hello!, öÖ çÇ ğĞ üÜ ıİ şŞ";

public static void main(String[] args) {
    byte[] trUTF16 = TR_MESSAGE.getBytes(Charset.forName("UTF-16"));
    String result = new BigInteger(1, trUTF16).toString(16).toUpperCase();
    System.out.println("Result: " + result);

    String rebuild = new String(trUTF16, Charset.forName("UTF-16"));
    System.out.println("Rebuild: " + rebuild);

    System.out.println("BASE64: " + new String(org.apache.commons.codec.binary.Base64.encodeBase64(trUTF16)));
}}
person bhdrkn    schedule 08.01.2013