[ 
https://issues.apache.org/jira/browse/CXF-7953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16793239#comment-16793239
 ] 

Freeman Fang edited comment on CXF-7953 at 3/15/19 1:51 AM:
------------------------------------------------------------

While I investigate this issue, I found that the corba binding wsdl generated 
with JDK11 isn't correct, missing "corba" prefix for the corba related types, 
which in turn will cause error like
{code}
[ERROR] 
testOneway(org.apache.cxf.systest.type_test.corba.CORBADocLitClientTypeTest)  
Time elapsed: 0.004 s  <<< ERROR!
javax.xml.ws.WebServiceException: org.apache.cxf.interceptor.Fault: Marshalling 
Error: Index 0 out of bounds for length 0
Caused by: org.apache.cxf.interceptor.Fault: Marshalling Error: Index 0 out of 
bounds for length 0
Caused by: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for 
length 0
{code}

So with corba maven plugin + JDK11 it can't load class package-info. I 
eventually find [this issue in 
plexus-classworlds|https://github.com/codehaus-plexus/plexus-classworlds/issues/3],
 this is the culprit. Fortunately this is fixed by plexus-classworlds 2.6.0, so 
if we copy 
[plexus-classworlds-2.6.0.jar|http://repo2.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar]
 into MAVEN_HOME/boot to override the original one(this is needed for maven 
boot so can't specify plexus-classworlds version in pom as it's too late when 
maven parse pom, the plexus-classworlds already get loaded. Hopefully next 
maven release will use plexus-classworlds 2.6.0 so we don't need to do this by 
ourselves ), we can get rid of the incorrect corba binding wsdl with JDK11.

Now we can see errors like
{code}
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   
CORBADocLitClientTypeTest>AbstractTypeTestClient.testSimpleRestriction:1628 x 
parameter maxLength=10 restriction is violated.
[ERROR]   
CORBADocLitClientTypeTest>AbstractTypeTestClient.testSimpleRestriction4:1776 x 
parameter minLength=5 restriction is violated.
[ERROR] Errors: 
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testAnyURIEnum:1581 
» WebService
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testDecimalEnum:1516 
» WebService
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testNumberEnum:1453 
» WebService
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testStringEnum:1484 
» WebService
{code}

4 Enum related, 2 schema validation related, and those failures are all 
mentioned in CXF-7054 when using jacorb as ORB implementation, so I believe 
they are jacorb specific.

[~zhfeng], Do you have any idea here?

Thanks

Freeman


was (Author: ffang):
While I investigate this issue, I found that the corba binding wsdl generated 
with JDK11 isn't correct, missing "corba" prefix for the corba related types, 
which in turn will cause error like
{code}
[ERROR] 
testOneway(org.apache.cxf.systest.type_test.corba.CORBADocLitClientTypeTest)  
Time elapsed: 0.004 s  <<< ERROR!
javax.xml.ws.WebServiceException: org.apache.cxf.interceptor.Fault: Marshalling 
Error: Index 0 out of bounds for length 0
Caused by: org.apache.cxf.interceptor.Fault: Marshalling Error: Index 0 out of 
bounds for length 0
Caused by: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for 
length 0
{code}

So with corba maven plugin + JDK11 it can't load class package-info. I 
eventually find [this issue in 
plexus-classworlds|https://github.com/codehaus-plexus/plexus-classworlds/issues/3],
 this is the culprit. Fortunately this is fixed by plexus-classworlds 2.6.0, so 
if we copy 
[plexus-classworlds-2.6.0.jar|http://repo2.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar]
 into MAVEN_HOME/boot to override the original one(this is needed for maven 
boot so can't specify plexus-classworlds version in pom as it's too late when 
maven parse pom, the plexus-classworlds already get loaded), we can get rid of 
the incorrect corba binding wsdl with JDK11.

Now we can see errors like
{code}
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   
CORBADocLitClientTypeTest>AbstractTypeTestClient.testSimpleRestriction:1628 x 
parameter maxLength=10 restriction is violated.
[ERROR]   
CORBADocLitClientTypeTest>AbstractTypeTestClient.testSimpleRestriction4:1776 x 
parameter minLength=5 restriction is violated.
[ERROR] Errors: 
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testAnyURIEnum:1581 
» WebService
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testDecimalEnum:1516 
» WebService
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testNumberEnum:1453 
» WebService
[ERROR]   CORBADocLitClientTypeTest>AbstractTypeTestClient.testStringEnum:1484 
» WebService
{code}

4 Enum related, 2 schema validation related, and those failures are all 
mentioned in CXF-7054 when using jacorb as ORB implementation, so I believe 
they are jacorb specific.

[~zhfeng], Do you have any idea here?

Thanks

Freeman

> make corba binding working with JDK11
> -------------------------------------
>
>                 Key: CXF-7953
>                 URL: https://issues.apache.org/jira/browse/CXF-7953
>             Project: CXF
>          Issue Type: Wish
>            Reporter: Freeman Fang
>            Assignee: Freeman Fang
>            Priority: Minor
>             Fix For: 3.3.2
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to