Skip to content

Commit 9c0e99d

Browse files
committed
Make Spring WS work with both Axiom 1.2 and Axiom 1.3/1.4.
See #1264.
1 parent cce6722 commit 9c0e99d

File tree

64 files changed

+1282
-163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1282
-163
lines changed

Jenkinsfile

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,26 @@ pipeline {
2222
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
2323
}
2424
steps {
25-
sh "PROFILE=distribute,convergence ci/test.sh"
25+
sh "PROFILE=distribute,convergence,testing ci/test.sh"
2626
}
2727
}
2828

2929
stage("Test other configurations") {
3030
parallel {
31+
stage("Test: Axiom 1.3)") {
32+
agent {
33+
docker {
34+
image 'adoptopenjdk/openjdk8:latest'
35+
args '-v $HOME/.m2:/root/.m2'
36+
}
37+
}
38+
environment {
39+
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
40+
}
41+
steps {
42+
sh "PROFILE=axiom-1.3,convergence,testing ci/test.sh"
43+
}
44+
}
3145
stage("Test: spring-buildsnapshot (jdk8)") {
3246
agent {
3347
docker {
@@ -39,7 +53,35 @@ pipeline {
3953
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
4054
}
4155
steps {
42-
sh "PROFILE=spring-buildsnapshot,convergence ci/test.sh"
56+
sh "PROFILE=spring-buildsnapshot,convergence,testing ci/test.sh"
57+
}
58+
}
59+
stage("Test: spring-security-5.6 (jdk8)") {
60+
agent {
61+
docker {
62+
image 'adoptopenjdk/openjdk8:latest'
63+
args '-v $HOME/.m2:/root/.m2'
64+
}
65+
}
66+
environment {
67+
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
68+
}
69+
steps {
70+
sh "PROFILE=spring-security-5.6,convergence,testing ci/test.sh"
71+
}
72+
}
73+
stage("Test: spring-security-5.7 (jdk8)") {
74+
agent {
75+
docker {
76+
image 'adoptopenjdk/openjdk8:latest'
77+
args '-v $HOME/.m2:/root/.m2'
78+
}
79+
}
80+
environment {
81+
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
82+
}
83+
steps {
84+
sh "PROFILE=spring-security-5.7,convergence,testing ci/test.sh"
4385
}
4486
}
4587
stage("Test: baseline (jdk11)") {
@@ -53,7 +95,7 @@ pipeline {
5395
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
5496
}
5597
steps {
56-
sh "PROFILE=distribute,java11,convergence ci/test.sh"
98+
sh "PROFILE=distribute,java11,convergence,testing ci/test.sh"
5799
}
58100
}
59101
stage("Test: spring-buildsnapshot (jdk11)") {
@@ -67,7 +109,7 @@ pipeline {
67109
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
68110
}
69111
steps {
70-
sh "PROFILE=spring-buildsnapshot,java11,convergence ci/test.sh"
112+
sh "PROFILE=spring-buildsnapshot,java11,convergence,testing ci/test.sh"
71113
}
72114
}
73115
stage("Test: spring-buildsnapshot (jdk16)") {
@@ -81,7 +123,7 @@ pipeline {
81123
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
82124
}
83125
steps {
84-
sh "PROFILE=spring-buildsnapshot,java11,convergence ci/test.sh"
126+
sh "PROFILE=spring-buildsnapshot,java11,convergence,testing ci/test.sh"
85127
}
86128
}
87129
}

pom.xml

Lines changed: 53 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@
8888
<activemq.version>4.1.2</activemq.version>
8989
<aspectj.version>1.9.6</aspectj.version>
9090
<assertj.version>3.9.0</assertj.version>
91-
<axiom.version>1.2.20</axiom.version>
91+
<axiom-1.2.version>1.2.20</axiom-1.2.version>
92+
<axiom-1.3.version>1.3.0</axiom-1.3.version>
93+
<axiom-1.4.version>1.4.0</axiom-1.4.version>
94+
<axiom.version>${axiom-1.4.version}</axiom.version>
9295
<commons-httpclient.version>3.1</commons-httpclient.version>
9396
<commons-io.version>2.5</commons-io.version>
9497
<dom4j.version>1.6.1</dom4j.version>
@@ -109,8 +112,8 @@
109112
<slf4j.version>1.7.25</slf4j.version>
110113
<smack.version>4.2.1</smack.version>
111114
<soap-api.version>1.4.0</soap-api.version>
112-
<spring.version>5.3.17</spring.version>
113-
<spring-security.version>5.5.5</spring-security.version>
115+
<spring.version>5.3.23</spring.version>
116+
<spring-security.version>5.5.8</spring-security.version>
114117
<stax.version>1.8.3</stax.version>
115118
<sun-mail.version>1.6.0</sun-mail.version>
116119
<woodstox.version>4.2.0</woodstox.version>
@@ -228,11 +231,28 @@
228231
</build>
229232

230233
<profiles>
234+
<profile>
235+
<id>axiom-1.3</id>
236+
<properties>
237+
<axiom.version>${axiom-1.3.version}</axiom.version>
238+
</properties>
239+
</profile>
231240
<profile>
232241
<id>spring-buildsnapshot</id>
233242
<properties>
234-
<spring.version>5.3.18-SNAPSHOT</spring.version>
235-
<spring-security.version>5.5.6-SNAPSHOT</spring-security.version>
243+
<spring.version>5.3.24-SNAPSHOT</spring.version>
244+
</properties>
245+
</profile>
246+
<profile>
247+
<id>spring-security-5.6</id>
248+
<properties>
249+
<spring-security.version>5.6.8</spring-security.version>
250+
</properties>
251+
</profile>
252+
<profile>
253+
<id>spring-security-5.7</id>
254+
<properties>
255+
<spring-security.version>5.7.4</spring-security.version>
236256
</properties>
237257
</profile>
238258

@@ -286,6 +306,17 @@
286306
</build>
287307
</profile>
288308

309+
<profile>
310+
<id>testing</id>
311+
312+
<modules>
313+
<module>spring-ws-core</module>
314+
<module>spring-ws-security</module>
315+
<module>spring-ws-support</module>
316+
<module>spring-xml</module>
317+
<module>spring-ws-tests</module>
318+
</modules>
319+
</profile>
289320

290321
<profile>
291322
<id>distribute</id>
@@ -699,6 +730,17 @@
699730
<useSystemClassLoader>false</useSystemClassLoader>
700731
<argLine>
701732
--illegal-access=permit
733+
--add-opens java.base/java.lang=ALL-UNNAMED
734+
--add-opens java.base/java.lang=ALL-UNNAMED
735+
--add-opens java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED
736+
--add-opens java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED
737+
--add-opens java.xml.crypto/com.sun.org.apache.xml.internal.security=ALL-UNNAMED
738+
--add-opens java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED
739+
--add-exports java.base/java.lang=ALL-UNNAMED
740+
--add-exports java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED
741+
--add-exports java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED
742+
--add-exports java.xml.crypto/com.sun.org.apache.xml.internal.security=ALL-UNNAMED
743+
--add-exports java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED
702744
</argLine>
703745
</configuration>
704746
</plugin>
@@ -744,10 +786,6 @@
744786
<artifactId>saaj-impl</artifactId>
745787
<version>${saaj-impl.version}</version>
746788
<exclusions>
747-
<exclusion>
748-
<groupId>javax.xml.soap</groupId>
749-
<artifactId>javax.xml.soap-api</artifactId>
750-
</exclusion>
751789
<exclusion>
752790
<groupId>jakarta.xml.soap</groupId>
753791
<artifactId>jakarta.xml.soap-api</artifactId>
@@ -787,6 +825,12 @@
787825
<groupId>jakarta.xml.bind</groupId>
788826
<artifactId>jakarta.xml.bind-api</artifactId>
789827
<version>2.3.2</version>
828+
<exclusions>
829+
<exclusion>
830+
<groupId>jakarta.activation</groupId>
831+
<artifactId>jakarta.activation-api</artifactId>
832+
</exclusion>
833+
</exclusions>
790834
</dependency>
791835

792836
</dependencies>

spring-ws-core/pom.xml

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<project xmlns="http://maven.apache.org/POM/4.0.0"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66

77
<parent>
88
<groupId>org.springframework.ws</groupId>
99
<artifactId>spring-ws</artifactId>
1010
<version>3.1.4-SNAPSHOT</version>
11+
<relativePath>../pom.xml</relativePath>
1112
</parent>
1213

1314
<artifactId>spring-ws-core</artifactId>
@@ -118,14 +119,25 @@
118119
<groupId>org.codehaus.woodstox</groupId>
119120
<artifactId>wstx-asl</artifactId>
120121
</exclusion>
122+
<exclusion>
123+
<groupId>com.fasterxml.woodstox</groupId>
124+
<artifactId>woodstox-core</artifactId>
125+
</exclusion>
121126
<exclusion>
122127
<groupId>commons-logging</groupId>
123128
<artifactId>commons-logging</artifactId>
124129
</exclusion>
125130
</exclusions>
126131
</dependency>
127132

128-
<!--// WSDL-->
133+
<dependency>
134+
<groupId>org.apache.ws.commons.axiom</groupId>
135+
<artifactId>axiom-compat</artifactId>
136+
<version>${axiom.version}</version>
137+
<optional>true</optional>
138+
</dependency>
139+
140+
<!--// WSDL-->
129141
<dependency>
130142
<groupId>wsdl4j</groupId>
131143
<artifactId>wsdl4j</artifactId>
@@ -230,4 +242,20 @@
230242
</profile>
231243
</profiles>
232244

233-
</project>
245+
<build>
246+
<plugins>
247+
<plugin>
248+
<groupId>org.apache.maven.plugins</groupId>
249+
<artifactId>maven-jar-plugin</artifactId>
250+
<executions>
251+
<execution>
252+
<goals>
253+
<goal>test-jar</goal>
254+
</goals>
255+
</execution>
256+
</executions>
257+
</plugin>
258+
</plugins>
259+
</build>
260+
261+
</project>

spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/CachingPayload.java renamed to spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/Axiom12CachingPayload.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2005-2010 the original author or authors.
2+
* Copyright 2005-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -25,15 +25,16 @@
2525
import org.apache.axiom.soap.SOAPFactory;
2626

2727
/**
28-
* Caching payload in Axiom.
28+
* Caching payload in Axiom 1.2.
2929
*
3030
* @author Arjen Poutsma
31+
* @author Greg Turnquist
3132
* @since 1.5.2
3233
*/
3334
@SuppressWarnings("Since15")
34-
class CachingPayload extends AbstractPayload {
35+
class Axiom12CachingPayload extends AxiomAbstractPayload {
3536

36-
CachingPayload(SOAPBody axiomBody, SOAPFactory axiomFactory) {
37+
Axiom12CachingPayload(SOAPBody axiomBody, SOAPFactory axiomFactory) {
3738
super(axiomBody, axiomFactory);
3839
}
3940

@@ -48,5 +49,4 @@ protected XMLStreamReader getStreamReader(OMElement payloadElement) {
4849
public Result getResultInternal() {
4950
return getAxiomBody().getSAXResult();
5051
}
51-
5252
}

spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/NonCachingPayload.java renamed to spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/Axiom12NonCachingPayload.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,18 @@
3535
import org.springframework.util.xml.StaxUtils;
3636

3737
/**
38-
* Non-caching payload in Axiom.
38+
* Non-caching payload in Axiom 1.2.
3939
*
4040
* @author Jim Cummings
4141
* @author Arjen Poutsma
42+
* @author Greg Turnquist
4243
* @since 1.5.2
4344
*/
44-
class NonCachingPayload extends AbstractPayload {
45+
class Axiom12NonCachingPayload extends AxiomAbstractPayload {
4546

4647
private static final int BUF_SIZE = 1024;
4748

48-
NonCachingPayload(SOAPBody axiomBody, SOAPFactory axiomFactory) {
49+
Axiom12NonCachingPayload(SOAPBody axiomBody, SOAPFactory axiomFactory) {
4950
super(axiomBody, axiomFactory);
5051
}
5152

@@ -77,7 +78,7 @@ private DelegatingStreamWriter() {
7778
try {
7879
this.delegate = StAXUtils.createXMLStreamWriter(baos);
7980
} catch (XMLStreamException ex) {
80-
throw new AxiomSoapBodyException("Could not determine payload root element", ex);
81+
throw new RuntimeException("Could not determine payload root element", ex);
8182
}
8283
}
8384

@@ -286,6 +287,5 @@ public void writeProcessingInstruction(String target) throws XMLStreamException
286287
public void writeProcessingInstruction(String target, String data) throws XMLStreamException {
287288
delegate.writeProcessingInstruction(target, data);
288289
}
289-
290290
}
291291
}

0 commit comments

Comments
 (0)