Yes I think so.. Although I have no proof it works on non osgi systems.. On Wed, 6 Dec 2017, 12:35 Sergey Beryozkin, <sberyoz...@gmail.com> wrote:
> Hi Nino > > So it is a pure OSGI issue now, right ? > Lets ask Christian as well, Christian, can you advise how to overcome > this annotations issue ? > > Cheers, Sergey > On 06/12/17 11:30, nino martinez wael wrote: > > No change after getting the javax.xml.bind.annotation.. I can see I can > > change how some of the interpretations are done when adding jackson > > specific json annotations.. But it's still not correct. :( > > > > On Wed, Dec 6, 2017 at 7:07 AM, nino martinez wael > > <nino.martinez.w...@gmail.com <mailto:nino.martinez.w...@gmail.com>> > wrote: > > > > Okay after adding swagger annotations as an export from my bundle. > > The swagger json are now including whatever I describe in the > > annotations. However the maven bundle plugin keeps removing my > > export for javax.xml.bind.annotation and so I cannot test if this > > also have an impact on swagger ignoring my javax.xml.bind.annotation > > configurations, however it does seem logical.. Digging further. > > > > > > regards Nino > > > > On Tue, Dec 5, 2017 at 8:07 AM, nino martinez wael > > <nino.martinez.w...@gmail.com <mailto:nino.martinez.w...@gmail.com>> > > wrote: > > > > I've started testing that idea, and it seems to have an impact.. > > I will return once I know more!! > > > > Thanks! > > > > On Mon, Dec 4, 2017 at 5:08 PM, Sergey Beryozkin > > <sberyoz...@gmail.com <mailto:sberyoz...@gmail.com>> wrote: > > > > CXF Swagger feature itself is not importing Swagger > > annotations because it does not work with them, I'm not > > sure, may be you need to have your application bundle > > exporting the annotations to make the visible... > > > > Sergey > > On 04/12/17 15:06, nino martinez wael wrote: > > > > No, no namespaces.... > > > > And I am still pussled on why it does not do it the > > "right" way.. Currently I am experimenting putting in > > io.swagger.annotations BUT they seem to have no effect > > on the generated swagger describtion when placed in our > > backend models, they are in another bundle, im wondering > > if the swagger feature somehow are not able to read the > > annotations across the bundles, that would very much > > explain why its not working..? > > > > On Mon, Dec 4, 2017 at 11:46 AM, Sergey Beryozkin > > <sberyoz...@gmail.com <mailto:sberyoz...@gmail.com> > > <mailto:sberyoz...@gmail.com > > <mailto:sberyoz...@gmail.com>>> wrote: > > > > Nice, > > Just out of curiosity, what does Swagger set the > > XML Object's > > namespace to ? Is it initialized ? > > > > Sergey > > > > On 04/12/17 06:03, nino martinez wael wrote: > > > > Okay so I've looked into this a bit. And turned > > the problem > > upside down. Instead of trying to make the cxf > > swagger feature > > use jackson, just taking a look at the outcome > > and play around > > trying to change it.. Again if there is any way > > to see what the > > swagger feature plugin are using runtime to > > process file with, > > it would very helpfull.. > > > > It seems that the swagger feature are partially > > ignoring my > > annotations, so picking up @xmlrootelement but > > partially > > ignoring the list annotations.. > > > > @XmlAccessorType(XmlAccessType.FIELD) > > @XmlRootElement(name = "contacts") > > public class MinimalContactWrapper { > > > > @XmlElementWrapper(name = "wrap") > > @XmlElement(name = "minimalcontact") > > private List<MinimalContact> contactList; > > > > public List<MinimalContact> > > getMinimalContacts() { > > return contactList; > > } > > > > public void > > setMinimalContacts(List<MinimalContact> > > minimalContacts) { > > this.contactList = minimalContacts; > > } > > > > } > > > > > > to > > > > @XmlAccessorType(XmlAccessType.FIELD) > > @XmlRootElement(name ="contacts") > > public class MinimalContactWrapper { > > > > @XmlElementRef(name ="minimalContact") > > @Valid > > @NotNull > > @Size(min =1) > > private > > List<MinimalContact>minimalContacts=new ArrayList<>(); > > > > public List<MinimalContact> > > getMinimalContacts() { > > return minimalContacts; > > } > > > > public void > > setMinimalContacts(List<MinimalContact> > > minimalContacts) { > > this.minimalContacts = > minimalContacts; > > } > > > > } > > > > Made the xml results required equal in the > > swagger feature to > > what CXF and enunciate feels it should be... > > Namely this: > > > > > > > > <contacts><minimalcontact><dateForExtract>...</dateForExtract><indexNumber>...</indexNumber><accountNumber>...</accountNumber><queueNumber>...</queueNumber><personalIdentificationNumber1>...</personalIdentificationNumber1><firstName1>...</firstName1><lastName1>...</lastName1><personalIdentificationNumber2>...</personalIdentificationNumber2><firstName2>...</firstName2><lastName2>...</lastName2><address>...</address><zipCode>...</zipCode><city>...</city><homePhone>...</homePhone><mobilePhone>...</mobilePhone><id>...</id><campaignId>...</campaignId></minimalcontact></contacts> > > > > > > Instead of something like this: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <contacts> > > <minimalContacts> > > <minimalcontact> > > <campaignId>string</campaignId> > > <id>0</id> > > <indexNumber>string</indexNumber> > > <accountNumber>string</accountNumber> > > <queueNumber>string</queueNumber> > > <balance>0</balance> > > > > > <personalIdentificationNumber1>string</personalIdentificationNumber1> > > <firstName1>string</firstName1> > > <lastName1>string</lastName1> > > > > > <personalIdentificationNumber2>string</personalIdentificationNumber2> > > <firstName2>string</firstName2> > > <lastName2>string</lastName2> > > <address>string</address> > > <zipCode>string</zipCode> > > <city>string</city> > > <homePhone>string</homePhone> > > <mobilePhone>string</mobilePhone> > > <dateForExtract>string</dateForExtract> > > </minimalcontact> > > </minimalContacts> > > </contacts> > > > > > > > > > > On Thu, Nov 30, 2017 at 1:43 PM, nino martinez > wael > > <nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>>>> wrote: > > > > No change without setting > swagger2customizer.. > > > > I'll let it rest for a day.. > > > > On Thu, Nov 30, 2017 at 1:30 PM, nino > > martinez wael > > <nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>>>> > > wrote: > > > > yup have set > > skip.default.json.provider.re > > <http://skip.default.json.provider.re> > > <http://skip.default.json.provider.re > > <http://skip.default.json.provider.re>> > > <http://skip.default.json.provider.re > > <http://skip.default.json.provider.re> > > <http://skip.default.json.provider.re > > <http://skip.default.json.provider.re>>>gistration.. > > > > But no matter what I do it has no > > effect on what the > > swagger > > feature generates.. Where it's > > changing the json > > provider or > > removing it all together.. > > > > Trying it now without > > setting swagger2Customizer.. > > > > > > On Thu, Nov 30, 2017 at 1:04 PM, > > Sergey Beryozkin > > <sberyoz...@gmail.com > > <mailto:sberyoz...@gmail.com> > > <mailto:sberyoz...@gmail.com <mailto: > sberyoz...@gmail.com>> > > <mailto:sberyoz...@gmail.com > > <mailto:sberyoz...@gmail.com> > > <mailto:sberyoz...@gmail.com > > <mailto:sberyoz...@gmail.com>>>> wrote: > > > > Just FYI, removing Jettison lib > > will ensure it's not > > auto-installed by CXF, and if it > > is not possible to > > remove > > then the other option is to set > > a "skip.default.json.provider.re > > <http://skip.default.json.provider.re> > > <http://skip.default.json.provider.re > > <http://skip.default.json.provider.re>> > > > > <http://skip.default.json.provider.re > > <http://skip.default.json.provider.re> > > <http://skip.default.json.provider.re > > <http://skip.default.json.provider.re>>>gistration" bus > > property. > > > > However it's not related to > > Swagger at all, Jettison if > > installed will only affect the way > > JSON is > > generated for > > service responses > > > > Sergey > > > > On 30/11/17 11:57, nino martinez > > wael wrote: > > > > It does not seem to be a > > jettison problem.. And > > neither > > an problem with > > jackson versions, I just wiped > > all jettison and > > jackson(except 2.9.1 ) > > versions from my running > > environment.. > > > > Looking into of it could be > > something with > > JacksonJaxbJsonProvider vs > > JacksonJsonProvider > > > > On Thu, Nov 30, 2017 at 12:45 > > PM, nino martinez > > wael < > > nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>> > > > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>>>> wrote: > > > > IS there somewhere while > > on runtime where I can > > print current registered > > providers for cxf, I have > > a feeling that it > > somehow > > are using jettison for > > json... > > > > On Thu, Nov 30, 2017 at > > 12:17 PM, nino > > martinez wael < > > nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>> > > > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>>>> wrote: > > > > Okay I will check into > > libraries whats > > on class > > path.. I have the same > > gut feeling that it > > could be something > > like that. > > > > I have enunciate up > > and working on the > > side.. > > > > On Thu, Nov 30, 2017 > > at 11:18 AM, Sergey > > Beryozkin > > <sberyoz...@gmail.com <mailto:sberyoz...@gmail.com> > > <mailto:sberyoz...@gmail.com > > <mailto:sberyoz...@gmail.com>> > > > > <mailto:sberyoz...@gmail.com <mailto: > sberyoz...@gmail.com> > > > > <mailto:sberyoz...@gmail.com > > <mailto:sberyoz...@gmail.com>>>> > > > > wrote: > > > > Yes, the minor > > Swagger version > > caused this > > change, what was > > working > > 3.1.x, > > specifically the serializers > > approach, was not > > working any longer > > with the new > > Swagger version, hence > > this update. > > > > I honestly do not > > know why exactly > > a JAXB > > annotated bean is > not > > correctly > > represented in the > > Swagger-generated > > #definitions, > > it's obviously > > something to do > > with the way > > Jackson and > > JAXB interacts. > > Perhaps Jackson > > you register with > > DOSGI is > > not the same > version > > installed by the > > CXF swagger2 feature, > > perhaps some diff > > JAXB versions are > > involved, please > > keep experimenting > > > > Sergey > > > > > > defaultSwagger2Serializers.setJavadocProvider(new > > JavaDocProvider()); > > > > > > > swagger.setSwagger2Serializers(defaultSwagger2Serializers); > > > > I think this > > could be the same: > > > > > Swagger2Customizer > > swagger2Customizer = > > new > > Swagger2Customizer(); > > > > swagger2Customizer.setJavadocProvider(new > > JavaDocProvider()); > > > > > > > > swagger.setCustomizer(swagger2Customizer); > > > > > > I have setup > > CXF to use JACKSON > > > > (JacksonJaxbJsonProvider) > > > > > > How can I tell > > swagger to do > > the same? I > > think that's > > the problem.. > > > > > > > > regards Nino > > > > > > > > > > On Thu, Nov > > 30, 2017 at 10:50 > > AM, nino > > martinez wael < > > nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>> > > > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>>>> > > wrote: > > > > Im wondering > > if this could be > > the problem : > > > > > > https://github.com/swagger-api/swagger-core/issues/960 > > <https://github.com/swagger-api/swagger-core/issues/960> > > > > <https://github.com/swagger-api/swagger-core/issues/960 > > <https://github.com/swagger-api/swagger-core/issues/960 > >> > > > > <https://github.com/swagger-api/swagger-core/issues/960 > > <https://github.com/swagger-api/swagger-core/issues/960> > > > > <https://github.com/swagger-api/swagger-core/issues/960 > > <https://github.com/swagger-api/swagger-core/issues/960 > >>> > > > > On Thu, > > Nov 30, 2017 at > > 10:38 AM, > > nino > > martinez wael < > > nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>> > > > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com> > > > > <mailto:nino.martinez.w...@gmail.com > > <mailto:nino.martinez.w...@gmail.com>>>> > > > > wrote: > > > > So I have > > a bean CXF > > accepts only > > this > > interpretation for my > > endpoint: > > > > > > { > > > > "contactList": [ > > > > { > > > > "campaignId": "2", > > > > "id":"", > > > > "indexNumber": "", > > > > "accountNumber": > > "232", > > > > "queueNumber": "0", > > > > "balance": 0, > > > > > > "personalIdentificationNumber1": > > > "string", > > > > "firstName1": > > > "string", > > > > "lastName1": > > > "string", > > > > > > "personalIdentificationNumber2": > > > "string", > > > > "firstName2": > > > "string", > > > > "lastName2": > > > "string", > > > > "address": "string", > > > > "zipCode": "string", > > > > "city": > > "string", > > > > "homePhone": "+4521", > > > > "mobilePhone": > > > "+45122", > > > > "campaing": "string", > > > > "dateForExtract": > > > "string" > > > > > > } > > > ] > > } > > > > > > However the swagger > > feature are > > > > generating this as example: > > > > { > > > > "minimalContacts": [ > > > { > > > > "campaignId": > > "string", > > > > "id": 0, > > > > "indexNumber": > > "string", > > > > "accountNumber": "string", > > > > "queueNumber": > > "string", > > > > "balance": 0, > > > > > > "personalIdentificationNumber1": > > > "string", > > > > "firstName1": > > "string", > > > > "lastName1": > > "string", > > > > > > "personalIdentificationNumber2": > > > "string", > > > > "firstName2": > > "string", > > > > "lastName2": > > "string", > > > > "address": > > "string", > > > > "zipCode": > > "string", > > > > "city": "string", > > > > "homePhone": > > "string", > > > > "mobilePhone": > > "string", > > > > "campaing": > > "string", > > > > "dateForExtract": "string" > > > } > > ] > > } > > > > > > MinimalContactWrapper > > > > > > @XmlAccessorType(XmlAccessType.FIELD) > > > > @XmlRootElement(name = > > "contacts") > > public > > class > > MinimalContactWrapper { > > > > > > @XmlElementWrapper > > > > @XmlElementRef > > > > @Valid > > > > @NotNull > > > > @Size(min = 1) > > > > private > > > > List<MinimalContact> > > > > contactList=new > > ArrayList<>(); > > > > > > public > > > > List<MinimalContact> > > > > getMinimalContacts() { > > > > return > > contactList; > > > } > > > > > > public void > > > > setMinimalContacts(List<MinimalContact> > > > > minimalContacts) { > > > > this.contactList = > > > > minimalContacts; > > > } > > > > > > > > MinimalContact > > > > > > @XmlAccessorType(XmlAccessType.PROPERTY) > > > > @XmlRootElement(name="minimalcontact") > > public > > class > > MinimalContact { > > > > > > @NotNull > > > > @Size(min=1, > > max=240) > > > > private String > > campaignId; > > > > > > private Long id; > > > > @Size(min=1, > > max=240) > > > > private String > > indexNumber; > > > > @Size(min=1, max=20) > > > > @NotNull > > > > private String > > accountNumber; > > > > @Size(min=1, max=8) > > > > private String > > queueNumber; > > > > > > > > private Float > > balance; > > > > > > @Size(min=0, max=11) > > > > private String > > > > personalIdentificationNumber1; > > > > > > @Size(min=0, max=55) > > > > private String > > firstName1; > > > > > > @Size(min=0, max=55) > > > > private String > > lastName1; > > > > > > @Size(min=0, max=11) > > > > private String > > > > personalIdentificationNumber2; > > > > > > private String > > firstName2; > > > > > > private String > > lastName2; > > > > > > private String > > address; > > > > > > private String > > zipCode; > > > > private String city; > > > > > > @NotNull > > > > @Size(min=0, max=20) > > > > private String > > homePhone; > > > > > > @NotNull > > > > @Size(min=0, max=20) > > > > private String > > mobilePhone; > > > > > > private String > > campaing; > > > > > > @NotNull > > > > private String > > > > dateForExtract; > > > > > > > > > > > > > > -- > > Best > > regards / Med > > venlig hilsen > > Nino > > Martinez > > > > > > > > > > -- > > Best > > regards / Med venlig > > hilsen > > Nino > Martinez > > > > > > > > > > > > > > > > -- > > Best regards / Med > > venlig hilsen > > Nino Martinez > > > > > > > > > > -- > > Best regards / Med venlig > > hilsen > > Nino Martinez > > > > > > > > > > > > > > > > -- Best regards / Med venlig > > hilsen > > Nino Martinez > > > > > > > > > > -- Best regards / Med venlig hilsen > > Nino Martinez > > > > > > > > > > -- Best regards / Med venlig hilsen > > Nino Martinez > > > > > > > > > > -- > > Best regards / Med venlig hilsen > > Nino Martinez > > > > > > > > > > -- > > Best regards / Med venlig hilsen > > Nino Martinez > > > > > > > > > > -- > > Best regards / Med venlig hilsen > > Nino Martinez > > > > > > > > > > -- > > Best regards / Med venlig hilsen > > Nino Martinez > >