2

我正在尝试做一些 SOAP 测试,但我不知道如何传递一个字节 []。

我使用 SoapUI 进行测试。我粘贴了 WSDL,并且能够在列表中看到可用的请求。

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

已开发的 android 应用程序执行需要连接到 Soap 服务器的各种任务。其中之一是登录程序。正在创建一个对象,然后将其转换为发送到服务器的字节数组 (byte[])。

我无法真正理解如何在“信封”中传递字节数组以获得响应。

我迫切需要帮助,所以欢迎任何建议。

4

1 回答 1

0

为了发送字节数组 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)));
}}
于 2013-01-08T13:59:15.310 回答