Closed markusheiden closed 1 year ago
Fair ask. We will evaluate this.
Do you have any updates on this? This blocks our migration to Spring Boot 3. Alternatively, a description would be nice how to use Bing Ads API with Spring Boot 3.
Hi yes, the SDK vNext targets early June 2023, we will support jakarta in that version. works for you?
Thanks for the fast answer! That's quite some time ;-) but OK for us.
folks, v13.0.16 was released June/07(please use 13.0.16.1 as it fix a tiny issue, see release notes). from now on we start to support jakarta instead of jaxws. Please use this version.
we also upgrade pom.xml in the example. Please refer to it in case you have any dependent issue.
@markusheiden
@qitia Currently, I am not able to test, because there is still a Hibernate bug that let our application fail.
There is still a dependency on javax.activation
instead of jakarta.activation
. I am not sure whether that may be a problem and cause conflicts if jakarta.activation
(via Spring Boot 3+) is on the classpath too.
In the pom.xml
jaxws-rt
is rather old: 3.0.0 is from 11/18/2020. IMO it should be at least 3.0.2, probably even 4.0.1. That applies to the version of other dependencies in the above-mentioned pom.xml
and in the pom.xml
of this lib too.
thanks. Let me double check.
A first test shows: The current version works fine with Spring Boot 3+ / Jakarta. Thanks a lot!
We will do more testing when the Hibernate problems mentioned above have been fixed in an official Hibernate release. So that may take some days.
Glad to know!
seems like we missed removing javax.activation, let me know if there is conflict, we can ship a quick release in that case.
for jaxws-rt in the example pom, I have update it to 4.0.1
@qitia I tested with com.sun.activation:javax.activation
and had no problems. So there's no need for a release.
For production, I excluded that transitive dependency via Gradle.
@qitia , hii, i upgrade my bing ads sdk to use pom xml version of 13.0.16.2
(previously, i used version: 13.0.15). now i start getting issue :
java.lang.ClassNotFoundException: jakarta.xml.ws.spi.Provider.
the below dependncies appear in 13.0.16.2,
<artifactId>jakarta.jws-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>3.0.0</version>
</dependency>
any answer please, why this happen ?
This library has made the switch from using javax.*
to jakarta.*
with version 13.0.16
. So you need to upgrade your JAXB implementation etc. dependencies to be able to use the newer versions of this lib. This can be done for example by upgrading your application from using Spring Boot 2.*
to Spring Boot 3.*
.
got you, thanks i will check again and update.
changing spring version is little complicated in current time, i have a lot of relations is there alternative way? you said JAXB ?
I tried to make the old versions (13.0.15 and below) run with Spring Boot 3 but never got it running successfully. So I assume that the other way around is hard too. As far as I know some of the javax.*
dependencies are incompatible with their jakarta.*
counterparts.
There are two jakarta dependencies in this lib: jakarta.jws:jakarta.jws-api (JWS) -> Most probably provided by cxf as a direct dependency of this lib. jakarta.xml.ws:jakarta.xml.ws-api (JAXB) -> glassfish-jaxb, needs to be provided by you.
Take a look at the Spring Boot 3 dependencies for the exact glassfish-jaxb version.
Qingjun
From: Markus Heiden @.> Sent: Wednesday, September 27, 2023 2:54 PM To: BingAds/BingAds-Java-SDK @.> Cc: Qingjun Tian @.>; Mention @.> Subject: Re: [BingAds/BingAds-Java-SDK] Version supporting jakarta is missing (Issue #142)
I tried to make the old versions (13.0.15 and below) run with Spring Boot 3 but never got it running successfully. So I assume that the other way around is hard too. As far as I know some of the javax. dependencies are incompatible with jakarta..
There are two jakarta dependencies: jakarta.jws:jakarta.jws-api -> ??? jakarta.xml.ws:jakarta.xml.ws-api (JAXB) -> glassfish-jabx
Take a look at the Spring Boot 3 dependencies for the exact versions.
- Reply to this email directly, view it on GitHubhttps://github.com/BingAds/BingAds-Java-SDK/issues/142#issuecomment-1736808680, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AG6WBQOVA72XQPF6Q7XRSU3X4PEP5ANCNFSM6AAAAAAUPKV3VA. You are receiving this because you were mentioned.Message ID: @.**@.>>
thanks , i will check.
it fixed, but later in the code i got the below error:
java.lang.NoClassDefFoundError: Could not initialize class org.glassfish.jaxb.runtime.v2.model.impl.RuntimeBuiltinLeafInfoImpl
in general, this is my pom for BingADS artifact:
i added the org.glassfish-api dependency and thr jakarta.xmk-bind-api, beasue before adding ,last fail was on them, but now,later in the code, an error prompted while call the interface: ICustomerManagementService.
<artifactId>microsoft.bingads</artifactId>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>4.0.2</version>
</dependency>
It works for me to use jakarta.xml.bind 3.0.0 instead of 4.0.0. Could you also have a try? As we are using jakarta.jws 3.0.0 and jakarta.xml.ws 3.0.0 and it may cause conflict.
The lib still uses
javax.xml.ws:jaxws-api
instead of the newerjakarta.xml.ws:jakarta.xml.ws-api
. Are there plans for a migration? With Spring Boot 3 the support for the old lib has been dropped.