Клиент веб-службы Axis отвечает HashMap - PullRequest
0 голосов
/ 27 июля 2011

Я пытаюсь использовать веб-сервис, который возвращает карту хэша Java, ниже приведен код для этого

        String endpoint =
                "http://localhost:8080/eCWServices/StructSpeech/StructSpeech";

        Service service = new Service();
        Call call = (Call) service.createCall();
        call.setTargetEndpointAddress(new java.net.URL(endpoint));
        call.setOperationName(new QName("http://ejb.ecw.com/", "parseNotes"));
        call.addParameter("notes", org.apache.axis.Constants.XSD_STRING, ParameterMode.IN);
        call.addParameter("apuId", org.apache.axis.Constants.XSD_STRING, ParameterMode.IN);
        call.addParameter("providerId", org.apache.axis.Constants.XSD_STRING, ParameterMode.IN);
        call.setReturnType(XMLType.SOAP_MAP);
        HashMap  ret = (HashMap) call.invoke(new Object[]{"","",""});
        System.out.println("Sent 'Hello!', got '" + ret + "'");

Возвращенный HashMap всегда пуст, и я думаю, что ось не поддерживает его.Может кто-нибудь дать мне указатели, где я могу найти, как использовать сервис в JDK 1.4, который возвращает хэш-карту?

1 Ответ

0 голосов
/ 27 июля 2011

Хорошо, решил, вернув байт [], сериализовав его в ByteArrayOutputStream, я извлекаю массив байтов и преобразую его обратно в hashMap на стороне клиента.

...