-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added a GitHub-compatible README from twoAttachmentStreamingTest/readme
- Loading branch information
Andreas Krüger
authored and
Andreas Krüger
committed
May 8, 2012
1 parent
ecc57eb
commit ed1a4a7
Showing
1 changed file
with
80 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
This demonstrates a regression in MTOM streaming in Apache CXF. | ||
|
||
## What you run | ||
|
||
You run `demo.mtom.streamsending.client.Driver` as a JUnit 4 test. | ||
|
||
This test combines a JAX-WS client and server. It starts the server in the background, the test exercises the client. | ||
|
||
The following instructions assume you use Eclipse to do so, though that is not really essential. | ||
|
||
You can run this in three configurations. Common in all configurations is the use of JDK 6. Personally, I used this precise version: | ||
|
||
$ java -version | ||
java version "1.6.0_24" | ||
OpenJDK Runtime Environment (IcedTea6 1.11.1) (ArchLinux-6.b24_1.11.1-3-x86_64) | ||
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) | ||
|
||
|
||
### Plain JDK 6 configuration | ||
|
||
* (Remove cxf-manifest.jar from .classpath if there.) | ||
* run demo.mtom.streamsending.client.Driver as a JUnit test. | ||
|
||
This uses the reference implementation (RI) that's part of JDK 6. The RI does not do streaming. So expected outcome: testTwoAttachmentsRequiringStreaming fails (the other three pass). | ||
|
||
|
||
### CXF version 2.3.1 | ||
|
||
* Unpack apache-cxf-2.3.1 binary distribution, | ||
* add apache-cxf-2.3.1/lib/cxf-manifest.jar to the classpath, | ||
* run demo.mtom.streamsending.client.Driver as a JUnit test. | ||
|
||
CXF knows how to do streaming. | ||
|
||
Expected outcome and outcome seen by me: All tests pass. | ||
|
||
|
||
### CXF version 2.6.0 | ||
|
||
* Unpack apache-cxf-2.6.0 binary distribution | ||
* add apache-cxf-2.6.0/lib/cxf-manifest.jar to the classpath, | ||
* run demo.mtom.streamsending.client.Driver as a JUnit test. | ||
|
||
Exected outcome: Same as 2.3.1. | ||
|
||
_Outcome seen: Same as plain JDK 6._ | ||
|
||
This is a regression, CXF 2.6.0 no longer does MTOM streaming properly. | ||
|
||
|
||
### For the record | ||
|
||
I generated the WSDL in directory src via | ||
|
||
cd src | ||
../../apache-cxf-2.3.1/bin/java2ws -frontend jaxws -wsdl -d WEB-INF -cp ../bin demo.mtom.streamreceiving.server.WSBean | ||
|
||
Then, the client stubs were generated with | ||
|
||
../../apache-cxf-2.3.1/bin/wsdl2java -p demo.mtom.streamsending.client.stubs -d . -client -validate WEB-INF/WSBeanService.wsdl | ||
|
||
I had to remove three WSBeanService constructors that did not compile (at least not with plain JDK), for lack of Service super-constructors. | ||
|
||
|
||
|
||
#### Copyright (C) 2012 innoQ Deutschland GmbH | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
|
||
You may obtain a copy of the License at | ||
[http://www.apache.org/licenses/LICENSE-2.0] | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
|
||
Author: [mailto:andreas.krueger@innoQ.com](Andreas Krüger) |