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