np.

On Sun, Jan 24, 2010 at 8:14 AM, Christian Landbo Frederiksen
<[email protected]> wrote:
> Again, I used the defaults.
>
> Just tried switching to Aegis and that did the trick :)
>
> Thanks a lot for pointing me in the right direction.
>
> /Chr
>
> -----Original Message-----
> From: Benson Margulies [mailto:[email protected]]
> Sent: 24. januar 2010 14:03
> To: [email protected]
> Subject: Re: XFire to CXF - wrapping arrays
>
> Did you configure CXF with Aegis or JAXB? this looks like you are
> getting the JAXB sort of array, or Aegis with the new 'flat' option
> turned on (which I thought was off by default).
>
> On Sun, Jan 24, 2010 at 7:58 AM, Christian Landbo Frederiksen
> <[email protected]> wrote:
>> XFire is setup using defaults, so I guess that would be Aegis yes.
>>
>>
>> -----Original Message-----
>> From: Benson Margulies [mailto:[email protected]]
>> Sent: 24. januar 2010 13:45
>> To: [email protected]
>> Subject: Re: XFire to CXF - wrapping arrays
>>
>> Are you sure you were using JAXB and not Aegis with XFire?
>>
>> On Sun, Jan 24, 2010 at 4:07 AM, Christian Landbo Frederiksen
>> <[email protected]> wrote:
>>> I am upgrading an old XFire webservice to the latest edition of CXF.
>>>
>>>
>>>
>>> I am hoping I can do this with no changes to the web service interface
>>> (WSDL).
>>>
>>>
>>>
>>> I my XFire edition methods that return arrays resulted in a type e.g:
>>> ArrayOfErrorCode:
>>>
>>>
>>>
>>>      <getErrorCodesResponse xmlns="http://namespace.dk";>
>>>
>>>         <ErrorCodes>
>>>
>>>            <ErrorCode>BAD_INPUT</ErrorCode>
>>>
>>>            <ErrorCode>OTHER_ERROR</ErrorCode>
>>>
>>>              ...
>>>
>>>
>>>
>>> In CXF I don't get that wrapping:
>>>
>>>
>>>
>>>      <ns2:getErrorCodesResponse xmlns:ns2="http://namespace.dk/";>
>>>
>>>         <ErrorCodes>BAD_INPUT</ErrorCodes>
>>>
>>>         <ErrorCodes>OTHER_ERROR</ErrorCodes>
>>>
>>>            ....
>>>
>>>
>>>
>>>
>>>
>>> I have tried wrapping the response in an ErrorCodes class that contains
>>> the array:
>>>
>>>
>>>
>>> public final class ErrorCodes {
>>>
>>>
>>>
>>>             private ErrorCode[] ErrorCode;
>>>
>>>
>>>
>>>      <ns2:getErrorCodesResponse xmlns:ns2="http://namespace.dk/";>
>>>
>>>         <ErrorCodes>
>>>
>>>            <errorCode>BAD_INPUT</errorCode>
>>>
>>>            <errorCode>OTHER_ERROR</errorCode>
>>>
>>>             ....
>>>
>>>
>>>
>>> Almost there but notice the 'e' is not an 'E'.
>>>
>>>
>>>
>>> So I added
>>>
>>>
>>>
>>>           @XmlElement(namespace="", name="ErrorCode")
>>>
>>>           private ErrorCode[] ErrorCode;
>>>
>>>
>>>
>>> But then I get two elements in the response:
>>>
>>>
>>>
>>>      <ns2:getErrorCodesResponse
>>> xmlns:ns2="http://ws.brugerinformation.dk/";>
>>>
>>>         <ErrorCodes>
>>>
>>>            <ErrorCode>BAD_INPUT</ErrorCode>
>>>
>>>            <ErrorCode> OTHER_ERROR </ErrorCode>
>>>
>>>            <errorCode>BAD_INPUT</errorCode>
>>>
>>>            <errorCode> OTHER_ERROR </errorCode>
>>>
>>>         ....
>>>
>>>
>>>
>>> Which seems pretty odd to me.
>>>
>>>
>>>
>>> Does anybody have any idea how to solve this? Perhaps there is a JAXB
>>> annotation or a CXF configuration?
>>>
>>>
>>>
>>> /Christian
>>>
>>>
>>>
>>>
>>>
>>>
>>
>

Reply via email to