2011-12-23 4 views
1

Я реализую веб-сервис с использованием axis2. Проблема i m сталкивается с возвратом сложной структуры в один из методов. Вот что я хочу сделать:сложные типы в оси2 - Карта

как тип возвращаемого значения - Map<String, Pair[]> где пара

public class Pair { 

     private String key; 
     private String value; 
........... 
} 

им тестирования с SoapUI

и возвращение всегда пустой вот простой ответ я получил

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapenv:Body> 
     <ns:getSNSTrendsResponse xmlns:ns="http://soap.sso.vwdcrm.app.mailprofiler.com"> 
     <ns:return xsi:type="ax211:SNSData" xmlns:ax212="http://util.java/xsd" xmlns:ax211="http://objects.soap.sso.vwdcrm.app.mailprofiler.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
      <ax211:errorCode>1</ax211:errorCode> 
      <ax211:errorMessage xsi:nil="true"/> 
      <ax211:pairsResponse xsi:type="axis2ns2:anyType"> 
       <empty xmlns="http://www.w3.org/2001/XMLSchema">false</empty> 
      </ax211:pairsResponse> 
      <ax211:response xsi:nil="true"/> 
     </ns:return> 
     </ns:getSNSTrendsResponse> 
    </soapenv:Body> 
</soapenv:Envelope 

где pairResponse должна содержать результат ...

ответ

2

Java-генераторы (в отличие от типов массивов, например,) удаляются во время компиляции, поэтому для оси Map<String, Pair[]> это то же самое, что и Map.

Обычный способ представления отображения «ключ-объект» в Java SOAP - использовать массив, в котором объекты содержат свой ключ.

В вашем случае, если ваша карта проиндексирована значением Pair.key, то с использованием Pair[] должно работать.

Смежные вопросы