[jira] [Created] (CXF-7948) Upgrade to asm 7

2019-01-18 Thread Grzegorz Grzybek (JIRA)
Grzegorz Grzybek created CXF-7948:
-

 Summary: Upgrade to asm 7
 Key: CXF-7948
 URL: https://issues.apache.org/jira/browse/CXF-7948
 Project: CXF
  Issue Type: Wish
Reporter: Grzegorz Grzybek


I just run all tests in 3.2.x-fixes branch with this patch:
{noformat}
diff --git a/parent/pom.xml b/parent/pom.xml
index 234bcbaa0f..47a3885db0 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -47,8 +47,8 @@
 
 org.ow2.asm
 asm
-5.2
-[3.0,6.3)
+7.0
+[3.0,8)
 
 
 
{noformat}

all tests pass.

background: I've prepared _simultaneous_ release of pax-web, pax-transx, 
pax-jms, pax-jdbc, pax-cdi, preparing for aligned release of karaf 4.2.3.
In pax-web I've upgraded to ASM7, so now, pax-web ship/install ASM7 bundles.
Karaf itself switched to ASM7 some time ago, but the reason why (so far) CXF 
tests worked was that pax-web used in Karaf was installing ASM6 libraries.

CXF contains (very) wide range for ASM import: {{[3, 6.3)}} and knowing the 
good history of backward compatibility of ASM, I think it's worth increasing 
the range for ASM in CXF.



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


[jira] [Commented] (CXF-7948) Upgrade to asm 7

2019-01-18 Thread Freeman Fang (JIRA)


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

Freeman Fang commented on CXF-7948:
---

yup, let's do it, to align with other stuff in Karaf container

> Upgrade to asm 7
> 
>
> Key: CXF-7948
> URL: https://issues.apache.org/jira/browse/CXF-7948
> Project: CXF
>  Issue Type: Wish
>Reporter: Grzegorz Grzybek
>Assignee: Freeman Fang
>Priority: Major
>
> I just run all tests in 3.2.x-fixes branch with this patch:
> {noformat}
> diff --git a/parent/pom.xml b/parent/pom.xml
> index 234bcbaa0f..47a3885db0 100644
> --- a/parent/pom.xml
> +++ b/parent/pom.xml
> @@ -47,8 +47,8 @@
>  
>  org.ow2.asm
>  asm
> -5.2
> -[3.0,6.3)
> +7.0
> +[3.0,8)
>  
>  
>  
> {noformat}
> all tests pass.
> background: I've prepared _simultaneous_ release of pax-web, pax-transx, 
> pax-jms, pax-jdbc, pax-cdi, preparing for aligned release of karaf 4.2.3.
> In pax-web I've upgraded to ASM7, so now, pax-web ship/install ASM7 bundles.
> Karaf itself switched to ASM7 some time ago, but the reason why (so far) CXF 
> tests worked was that pax-web used in Karaf was installing ASM6 libraries.
> CXF contains (very) wide range for ASM import: {{[3, 6.3)}} and knowing the 
> good history of backward compatibility of ASM, I think it's worth increasing 
> the range for ASM in CXF.



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


[jira] [Assigned] (CXF-7948) Upgrade to asm 7

2019-01-18 Thread Freeman Fang (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Freeman Fang reassigned CXF-7948:
-

Assignee: Freeman Fang

> Upgrade to asm 7
> 
>
> Key: CXF-7948
> URL: https://issues.apache.org/jira/browse/CXF-7948
> Project: CXF
>  Issue Type: Wish
>Reporter: Grzegorz Grzybek
>Assignee: Freeman Fang
>Priority: Major
>
> I just run all tests in 3.2.x-fixes branch with this patch:
> {noformat}
> diff --git a/parent/pom.xml b/parent/pom.xml
> index 234bcbaa0f..47a3885db0 100644
> --- a/parent/pom.xml
> +++ b/parent/pom.xml
> @@ -47,8 +47,8 @@
>  
>  org.ow2.asm
>  asm
> -5.2
> -[3.0,6.3)
> +7.0
> +[3.0,8)
>  
>  
>  
> {noformat}
> all tests pass.
> background: I've prepared _simultaneous_ release of pax-web, pax-transx, 
> pax-jms, pax-jdbc, pax-cdi, preparing for aligned release of karaf 4.2.3.
> In pax-web I've upgraded to ASM7, so now, pax-web ship/install ASM7 bundles.
> Karaf itself switched to ASM7 some time ago, but the reason why (so far) CXF 
> tests worked was that pax-web used in Karaf was installing ASM6 libraries.
> CXF contains (very) wide range for ASM import: {{[3, 6.3)}} and knowing the 
> good history of backward compatibility of ASM, I think it's worth increasing 
> the range for ASM in CXF.



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


[jira] [Commented] (CXF-7948) Upgrade to asm 7

2019-01-18 Thread Freeman Fang (JIRA)


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

Freeman Fang commented on CXF-7948:
---

Patch applied on behalf of Grzegorz Grzybek with thanks

> Upgrade to asm 7
> 
>
> Key: CXF-7948
> URL: https://issues.apache.org/jira/browse/CXF-7948
> Project: CXF
>  Issue Type: Wish
>Reporter: Grzegorz Grzybek
>Assignee: Freeman Fang
>Priority: Major
>
> I just run all tests in 3.2.x-fixes branch with this patch:
> {noformat}
> diff --git a/parent/pom.xml b/parent/pom.xml
> index 234bcbaa0f..47a3885db0 100644
> --- a/parent/pom.xml
> +++ b/parent/pom.xml
> @@ -47,8 +47,8 @@
>  
>  org.ow2.asm
>  asm
> -5.2
> -[3.0,6.3)
> +7.0
> +[3.0,8)
>  
>  
>  
> {noformat}
> all tests pass.
> background: I've prepared _simultaneous_ release of pax-web, pax-transx, 
> pax-jms, pax-jdbc, pax-cdi, preparing for aligned release of karaf 4.2.3.
> In pax-web I've upgraded to ASM7, so now, pax-web ship/install ASM7 bundles.
> Karaf itself switched to ASM7 some time ago, but the reason why (so far) CXF 
> tests worked was that pax-web used in Karaf was installing ASM6 libraries.
> CXF contains (very) wide range for ASM import: {{[3, 6.3)}} and knowing the 
> good history of backward compatibility of ASM, I think it's worth increasing 
> the range for ASM in CXF.



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


[jira] [Updated] (CXF-7946) OperationResourceInfoComparator should consider methods parameters

2019-01-18 Thread Freeman Fang (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Freeman Fang updated CXF-7946:
--
Fix Version/s: 3.2.8

> OperationResourceInfoComparator should consider methods parameters
> --
>
> Key: CXF-7946
> URL: https://issues.apache.org/jira/browse/CXF-7946
> Project: CXF
>  Issue Type: Bug
>Reporter: Freeman Fang
>Assignee: Freeman Fang
>Priority: Major
> Fix For: 3.3.0, 3.2.8
>
>
> In samples/jax_rs/spring_boot shipped with CXF kit, we can see warning 
> message like
> {code}
> WARNING: Both 
> org.apache.cxf.jaxrs.openapi.OpenApiCustomizedResource#getOpenApi and 
> org.apache.cxf.jaxrs.openapi.OpenApiCustomizedResource#getOpenApi are equal 
> candidates for handling the current request which can lead to unpredictable 
> results
> {code}
> when using swagger-ui.
> This is caused by that class OpenApiCustomizedResource has getOpenApi method, 
> but its parent class OpenApiResource also has getOpenApi method, two methods 
> are using different signatures.  OperationResourceInfoComparator shouldn't 
> see two methods as same because they are different



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


[jira] [Resolved] (CXF-7948) Upgrade to asm 7

2019-01-18 Thread Freeman Fang (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Freeman Fang resolved CXF-7948.
---
   Resolution: Fixed
Fix Version/s: 3.2.8
   3.3.0

> Upgrade to asm 7
> 
>
> Key: CXF-7948
> URL: https://issues.apache.org/jira/browse/CXF-7948
> Project: CXF
>  Issue Type: Wish
>Reporter: Grzegorz Grzybek
>Assignee: Freeman Fang
>Priority: Major
> Fix For: 3.3.0, 3.2.8
>
>
> I just run all tests in 3.2.x-fixes branch with this patch:
> {noformat}
> diff --git a/parent/pom.xml b/parent/pom.xml
> index 234bcbaa0f..47a3885db0 100644
> --- a/parent/pom.xml
> +++ b/parent/pom.xml
> @@ -47,8 +47,8 @@
>  
>  org.ow2.asm
>  asm
> -5.2
> -[3.0,6.3)
> +7.0
> +[3.0,8)
>  
>  
>  
> {noformat}
> all tests pass.
> background: I've prepared _simultaneous_ release of pax-web, pax-transx, 
> pax-jms, pax-jdbc, pax-cdi, preparing for aligned release of karaf 4.2.3.
> In pax-web I've upgraded to ASM7, so now, pax-web ship/install ASM7 bundles.
> Karaf itself switched to ASM7 some time ago, but the reason why (so far) CXF 
> tests worked was that pax-web used in Karaf was installing ASM6 libraries.
> CXF contains (very) wide range for ASM import: {{[3, 6.3)}} and knowing the 
> good history of backward compatibility of ASM, I think it's worth increasing 
> the range for ASM in CXF.



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


[jira] [Created] (CXF-7949) Update Servlet dependency to 4.x and Tomcat to 9.x

2019-01-18 Thread Dennis Kieselhorst (JIRA)
Dennis Kieselhorst created CXF-7949:
---

 Summary: Update Servlet dependency to 4.x and Tomcat to 9.x
 Key: CXF-7949
 URL: https://issues.apache.org/jira/browse/CXF-7949
 Project: CXF
  Issue Type: Task
Reporter: Dennis Kieselhorst
 Fix For: 3.4.0


Use Jakarta Servlet release https://github.com/eclipse-ee4j/servlet-api



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


[jira] [Commented] (CXF-7914) Exception in upgrading cxf-tools-wsdlto-frontend-jaxws jar version from 3.1.* to 3.2.*

2019-01-18 Thread Dennis Kieselhorst (JIRA)


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

Dennis Kieselhorst commented on CXF-7914:
-

No further information received, feel free to reopen with a reproducable sample.

> Exception in upgrading cxf-tools-wsdlto-frontend-jaxws jar version from 3.1.* 
> to 3.2.*
> --
>
> Key: CXF-7914
> URL: https://issues.apache.org/jira/browse/CXF-7914
> Project: CXF
>  Issue Type: Bug
>  Components: Tooling
>Affects Versions: 3.2.0
>Reporter: Ragul
>Priority: Major
>
> Upgrading cxf from  3.1.16 to 3.2.7 is causing the below expection.
> but Upgarding to minor version 3.1.17 is successfull
> Tried adding common-lang3 depenedency but still the exception persists
> INFO: JDK 8 Platform: Linux
> *StackTrace:*
>  ** soap_server_generate:
>  [echo] Using Apache CXF to generate the WSDL client.
>  [java] Nov 16, 2018 12:48:19 PM org.apache.cxf.staxutils.StaxUtils 
> createXMLInputFactory
>  [java] WARNING: Could not create a secure Stax XMLInputFactory.  Found 
> class com.sun.xml.internal.stream.XMLInputFactoryImpl.  Suggest Woodstox 
> 4.2.0 or newer.
>  [java] Nov 16, 2018 12:48:19 PM org.apache.cxf.staxutils.StaxUtils 
> createXMLInputFactory
>  [java] WARNING: Could not create a secure Stax XMLInputFactory.  Found 
> class com.sun.xml.internal.stream.XMLInputFactoryImpl.  Suggest Woodstox 
> 4.2.0 or newer.
>  [java] Loading FrontEnd jaxws ...
>  [java] Loading DataBinding jaxb ...
>  [java] wsdl2java -xjc-Xfluent-api-ext -xjc-Xfluent-api -d 
> */components/snapshotcollector/target/generated-sources/src/main/java -p 
> com.alcatel.ni.snapshotcollector.commands -wsdlLocation 
> classpath:${wsdl.location} -verbose 
> */components/snapshotcollector/target/generated-sources/src/main/wsee/META-INF/wsdl/snapshotcollector.wsdl
>  [java] wsdl2java - Apache CXF 3.2.7
>  [java]
>  [java] Nov 16, 2018 12:48:20 PM 
> org.apache.cxf.catalog.OASISCatalogManager loadCatalogs
>  [java] WARNING: Catalog found at 
> jar:[file:*/maven/local/repository/org/apache/cxf/cxf-tools-wsdlto-frontend-jaxws/3.2.7/cxf-tools-wsdlto-frontend-jaxws-3.2.7.jar!/META-INF/jax-ws-catalog.xml|file://udir/ragul/maven/local/repository/org/apache/cxf/cxf-tools-wsdlto-frontend-jaxws/3.2.7/cxf-tools-wsdlto-frontend-jaxws-3.2.7.jar!/META-INF/jax-ws-catalog.xml]
>  but no org.apache.xml.resolver.CatalogManager was found.  Check the 
> classpatch for an xmlresolver jar.
>  [java] Exception in thread "main" java.lang.NoClassDefFoundError: 
> org/apache/commons/lang3/StringUtils
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processService(ServiceProcessor.java:253)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.process(ServiceProcessor.java:101)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.wsdlDefinitionToJavaModel(WSDLToJavaProcessor.java:86)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.process(WSDLToJavaProcessor.java:60)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:282)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:164)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:412)
>  [java]  at 
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:185)
>  [java] Caused by: java.lang.ClassNotFoundException: 
> org.apache.commons.lang3.StringUtils
>  [java]  at 
> java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>  [java]  at 
> java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>  [java]  at 
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>  [java]  at 
> java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>  [java]  ... 11 more
>  



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


[jira] [Resolved] (CXF-7914) Exception in upgrading cxf-tools-wsdlto-frontend-jaxws jar version from 3.1.* to 3.2.*

2019-01-18 Thread Dennis Kieselhorst (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Kieselhorst resolved CXF-7914.
-
Resolution: Cannot Reproduce

> Exception in upgrading cxf-tools-wsdlto-frontend-jaxws jar version from 3.1.* 
> to 3.2.*
> --
>
> Key: CXF-7914
> URL: https://issues.apache.org/jira/browse/CXF-7914
> Project: CXF
>  Issue Type: Bug
>  Components: Tooling
>Affects Versions: 3.2.0
>Reporter: Ragul
>Priority: Major
>
> Upgrading cxf from  3.1.16 to 3.2.7 is causing the below expection.
> but Upgarding to minor version 3.1.17 is successfull
> Tried adding common-lang3 depenedency but still the exception persists
> INFO: JDK 8 Platform: Linux
> *StackTrace:*
>  ** soap_server_generate:
>  [echo] Using Apache CXF to generate the WSDL client.
>  [java] Nov 16, 2018 12:48:19 PM org.apache.cxf.staxutils.StaxUtils 
> createXMLInputFactory
>  [java] WARNING: Could not create a secure Stax XMLInputFactory.  Found 
> class com.sun.xml.internal.stream.XMLInputFactoryImpl.  Suggest Woodstox 
> 4.2.0 or newer.
>  [java] Nov 16, 2018 12:48:19 PM org.apache.cxf.staxutils.StaxUtils 
> createXMLInputFactory
>  [java] WARNING: Could not create a secure Stax XMLInputFactory.  Found 
> class com.sun.xml.internal.stream.XMLInputFactoryImpl.  Suggest Woodstox 
> 4.2.0 or newer.
>  [java] Loading FrontEnd jaxws ...
>  [java] Loading DataBinding jaxb ...
>  [java] wsdl2java -xjc-Xfluent-api-ext -xjc-Xfluent-api -d 
> */components/snapshotcollector/target/generated-sources/src/main/java -p 
> com.alcatel.ni.snapshotcollector.commands -wsdlLocation 
> classpath:${wsdl.location} -verbose 
> */components/snapshotcollector/target/generated-sources/src/main/wsee/META-INF/wsdl/snapshotcollector.wsdl
>  [java] wsdl2java - Apache CXF 3.2.7
>  [java]
>  [java] Nov 16, 2018 12:48:20 PM 
> org.apache.cxf.catalog.OASISCatalogManager loadCatalogs
>  [java] WARNING: Catalog found at 
> jar:[file:*/maven/local/repository/org/apache/cxf/cxf-tools-wsdlto-frontend-jaxws/3.2.7/cxf-tools-wsdlto-frontend-jaxws-3.2.7.jar!/META-INF/jax-ws-catalog.xml|file://udir/ragul/maven/local/repository/org/apache/cxf/cxf-tools-wsdlto-frontend-jaxws/3.2.7/cxf-tools-wsdlto-frontend-jaxws-3.2.7.jar!/META-INF/jax-ws-catalog.xml]
>  but no org.apache.xml.resolver.CatalogManager was found.  Check the 
> classpatch for an xmlresolver jar.
>  [java] Exception in thread "main" java.lang.NoClassDefFoundError: 
> org/apache/commons/lang3/StringUtils
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processService(ServiceProcessor.java:253)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.process(ServiceProcessor.java:101)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.wsdlDefinitionToJavaModel(WSDLToJavaProcessor.java:86)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.process(WSDLToJavaProcessor.java:60)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:282)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:164)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:412)
>  [java]  at 
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
>  [java]  at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:185)
>  [java] Caused by: java.lang.ClassNotFoundException: 
> org.apache.commons.lang3.StringUtils
>  [java]  at 
> java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>  [java]  at 
> java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>  [java]  at 
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>  [java]  at 
> java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>  [java]  ... 11 more
>  



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


[jira] [Created] (CXF-7950) Update Johnzon to 1.1.11

2019-01-18 Thread Dennis Kieselhorst (JIRA)
Dennis Kieselhorst created CXF-7950:
---

 Summary: Update Johnzon to 1.1.11
 Key: CXF-7950
 URL: https://issues.apache.org/jira/browse/CXF-7950
 Project: CXF
  Issue Type: Task
Reporter: Dennis Kieselhorst






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


[jira] [Commented] (CXF-7950) Update Johnzon to 1.1.11

2019-01-18 Thread Dennis Kieselhorst (JIRA)


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

Dennis Kieselhorst commented on CXF-7950:
-

Setting {color:#80}cxf.johnzon.version {color}to 1.1.11 currently fails 
with:
{noformat}
Message: Unable to resolve root: missing requirement [root] osgi.identity; 
osgi.identity=cxf-jsr-json; type=karaf.feature; version=3.3.0.SNAPSHOT; 
filter:="(&(osgi.identity=cxf-jsr-json)(type=karaf.feature)(version>=3.3.0.SNAPSHOT))"
 [caused by: Unable to resolve cxf-jsr-json/3.3.0.SNAPSHOT: missing requirement 
[cxf-jsr-json/3.3.0.SNAPSHOT] osgi.identity; 
osgi.identity=org.apache.johnzon.core; type=osgi.bundle; 
version="[1.1.11,1.1.11]"; resolution:=mandatory [caused by: Unable to resolve 
org.apache.johnzon.core/1.1.11: missing requirement 
[org.apache.johnzon.core/1.1.11] osgi.extender; 
filter:="(osgi.extender=osgi.serviceloader.registrar)"]]{noformat}

> Update Johnzon to 1.1.11
> 
>
> Key: CXF-7950
> URL: https://issues.apache.org/jira/browse/CXF-7950
> Project: CXF
>  Issue Type: Task
>Reporter: Dennis Kieselhorst
>Priority: Minor
>




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


[jira] [Commented] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


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

Tomas Vanhala commented on CXF-7941:


Thank you very much for confirming that chain trust should work. This prompted 
us to look closer at how we are creating the SOAP request messages in our 
internal testing.

We discovered that by changing the SAML request slightly, we were able to get 
WSS4J chain trust to work.

I am including three sample requests:
 * request-real-sanitised.xml
 * request-test-broken-sanitised.xml
 * request-test-working-sanitised.xml

All requests have the X.509 certificate as the value of 
wsse:BinarySecurityToken.

All requests sign the SAML Assertion.

The crucial difference between request-test-broken-sanitised.xml and 
request-test-working-sanitised.xml seems to be in the signature that is used to 
sign the SAML Assertion:
 * in request-test-broken-sanitised.xml, inside ds:KeyInfo there is the RSA 
public key
 * in request-test-working-sanitised.xml, inside ds:KeyInfo there is the the 
certificate

For the processing of request-test-broken-sanitised.xml, I have attached a 
stack trace leading to verifyTrust.

Does this confirm that there is not a problem in CXF/WSS4J ?

 

However, we are still not fully comfortable with our situation.

*The real request* (request-real-sanitised.xml) is produced by a partner 
organisation. It does not contain the certificate multiple times. The 
certificate appears once, as the value of wsse:BinarySecurityToken. In 
dsig:KeyInfo, the certificate is referenced by wsse:SecurityTokenReference. 
There is only one signature, which signs the elements: wsu:Timestamp, 
saml:Assertion, wsse:BinarySecurityToken.

*The test requests* are created by ourselves, using CXF. Our implementation 
generates two signatures:
 * the first signature signs the element saml2:Assertion
 * the second signature signs the elements wsu:Timestamp, 
wsse:SecurityTokenReference, wsse:BinarySecurityToken

The code that does this is as follows:
{code:java}
    static class SAMLCBHandler implements CallbackHandler {

    private final String issuer;
    private final String subjectName;
    private final String alias;
    private final String role;
    private Properties cryptoProps;

    public SAMLCBHandler(Properties cryptoProps, String issuer, String 
subjectName, String alias, String role) {
    this.cryptoProps = cryptoProps;
    this.issuer = issuer;
    this.subjectName = subjectName;
    this.alias = alias;
    this.role = role;
    }

    @Override
    public void handle(Callback[] callbacks) throws IOException, 
UnsupportedCallbackException {

    for (Callback cb: callbacks) {

    SAMLCallback scb = (SAMLCallback) cb;
    scb.setSamlVersion(Version.SAML_20);
    scb.setIssuer(issuer);

    SubjectBean subj = new SubjectBean();

    subj.setSubjectName(subjectName);
    
subj.setSubjectConfirmationMethod(SAML2Constants.CONF_SENDER_VOUCHES);

    scb.setSubject(subj);

    List asd = new ArrayList<>();
    AttributeBean roleBean = new AttributeBean("role", "role", 
Collections.singletonList((Object) role));
    ArrayList x = new ArrayList();
    x.add(roleBean);
    asd.add(new AttributeStatementBean(subj, x));

    scb.setAttributeStatementData(asd);
    scb.setSignAssertion(true);
    }
    }
{code}
Is it possible to modify the callback handler to build a request that bears 
more resemblance to the real requests?

> SamlValidator does not work with chain trust
> 
>
> Key: CXF-7941
> URL: https://issues.apache.org/jira/browse/CXF-7941
> Project: CXF
>  Issue Type: Bug
>  Components: WS-* Components
>Affects Versions: 3.2.7
>Reporter: Tomas Vanhala
>Priority: Major
> Attachments: cxf7941.zip
>
>
> As explained here 
> [http://coheigea.blogspot.com/2012/08/subject-dn-certificate-constraint.html,]
>  WSS4J supports specifying constraints on the subject DN of the certificate 
> used for signature validation.
> We have successfully applied "direct trust" when receiving SOAP requests 
> containing a signed SAML token.
> We attempted to migrate to "chain trust" by removing the certificate used to 
> sign the requests from the Merlin trust store, and setting an appropriate 
> Subject DN Cert Constraint.
> It did not work. Our analysis is that WSS4J's SamlValidator is not able to 
> handle a scenario where the certificate used to sign the requests is not in 
> the trust store. The problem seems to be in the method 
> findPublicKeyInKeyStore() of Merlin.java.
> We were able 

[jira] [Updated] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomas Vanhala updated CXF-7941:
---
Attachment: request-test-broken-sanitised.xml

> SamlValidator does not work with chain trust
> 
>
> Key: CXF-7941
> URL: https://issues.apache.org/jira/browse/CXF-7941
> Project: CXF
>  Issue Type: Bug
>  Components: WS-* Components
>Affects Versions: 3.2.7
>Reporter: Tomas Vanhala
>Priority: Major
> Attachments: cxf7941.zip, request-real-sanitised.xml, 
> request-test-broken-sanitised.xml, request-test-working-sanitised.xml, 
> stacktrace-request-test-broken.txt
>
>
> As explained here 
> [http://coheigea.blogspot.com/2012/08/subject-dn-certificate-constraint.html,]
>  WSS4J supports specifying constraints on the subject DN of the certificate 
> used for signature validation.
> We have successfully applied "direct trust" when receiving SOAP requests 
> containing a signed SAML token.
> We attempted to migrate to "chain trust" by removing the certificate used to 
> sign the requests from the Merlin trust store, and setting an appropriate 
> Subject DN Cert Constraint.
> It did not work. Our analysis is that WSS4J's SamlValidator is not able to 
> handle a scenario where the certificate used to sign the requests is not in 
> the trust store. The problem seems to be in the method 
> findPublicKeyInKeyStore() of Merlin.java.
> We were able to make chain trust (and the Subject DN Cert Constraint) work by 
> including the needed PKI code in a customised SamlValidator, but we would 
> rather not go this route.
> Please fix chain trust in WSS4J SAML validation.



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


[jira] [Updated] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomas Vanhala updated CXF-7941:
---
Attachment: request-test-working-sanitised.xml

> SamlValidator does not work with chain trust
> 
>
> Key: CXF-7941
> URL: https://issues.apache.org/jira/browse/CXF-7941
> Project: CXF
>  Issue Type: Bug
>  Components: WS-* Components
>Affects Versions: 3.2.7
>Reporter: Tomas Vanhala
>Priority: Major
> Attachments: cxf7941.zip, request-real-sanitised.xml, 
> request-test-broken-sanitised.xml, request-test-working-sanitised.xml, 
> stacktrace-request-test-broken.txt
>
>
> As explained here 
> [http://coheigea.blogspot.com/2012/08/subject-dn-certificate-constraint.html,]
>  WSS4J supports specifying constraints on the subject DN of the certificate 
> used for signature validation.
> We have successfully applied "direct trust" when receiving SOAP requests 
> containing a signed SAML token.
> We attempted to migrate to "chain trust" by removing the certificate used to 
> sign the requests from the Merlin trust store, and setting an appropriate 
> Subject DN Cert Constraint.
> It did not work. Our analysis is that WSS4J's SamlValidator is not able to 
> handle a scenario where the certificate used to sign the requests is not in 
> the trust store. The problem seems to be in the method 
> findPublicKeyInKeyStore() of Merlin.java.
> We were able to make chain trust (and the Subject DN Cert Constraint) work by 
> including the needed PKI code in a customised SamlValidator, but we would 
> rather not go this route.
> Please fix chain trust in WSS4J SAML validation.



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


[jira] [Updated] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomas Vanhala updated CXF-7941:
---
Attachment: stacktrace-request-test-broken.txt

> SamlValidator does not work with chain trust
> 
>
> Key: CXF-7941
> URL: https://issues.apache.org/jira/browse/CXF-7941
> Project: CXF
>  Issue Type: Bug
>  Components: WS-* Components
>Affects Versions: 3.2.7
>Reporter: Tomas Vanhala
>Priority: Major
> Attachments: cxf7941.zip, request-real-sanitised.xml, 
> request-test-broken-sanitised.xml, request-test-working-sanitised.xml, 
> stacktrace-request-test-broken.txt
>
>
> As explained here 
> [http://coheigea.blogspot.com/2012/08/subject-dn-certificate-constraint.html,]
>  WSS4J supports specifying constraints on the subject DN of the certificate 
> used for signature validation.
> We have successfully applied "direct trust" when receiving SOAP requests 
> containing a signed SAML token.
> We attempted to migrate to "chain trust" by removing the certificate used to 
> sign the requests from the Merlin trust store, and setting an appropriate 
> Subject DN Cert Constraint.
> It did not work. Our analysis is that WSS4J's SamlValidator is not able to 
> handle a scenario where the certificate used to sign the requests is not in 
> the trust store. The problem seems to be in the method 
> findPublicKeyInKeyStore() of Merlin.java.
> We were able to make chain trust (and the Subject DN Cert Constraint) work by 
> including the needed PKI code in a customised SamlValidator, but we would 
> rather not go this route.
> Please fix chain trust in WSS4J SAML validation.



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


[jira] [Comment Edited] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


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

Tomas Vanhala edited comment on CXF-7941 at 1/18/19 1:21 PM:
-

Thank you very much for confirming that chain trust should work. This prompted 
us to look closer at how we are creating the SOAP request messages in our 
internal testing.

We discovered that by changing the SAML request slightly, we were able to get 
WSS4J chain trust to work.

I am including three sample requests:
 * request-real-sanitised.xml
 * request-test-broken-sanitised.xml
 * request-test-working-sanitised.xml

All requests have the X.509 certificate as the value of 
wsse:BinarySecurityToken.

All requests sign the SAML Assertion.

The crucial difference between request-test-broken-sanitised.xml and 
request-test-working-sanitised.xml seems to be in the signature that is used to 
sign the SAML Assertion:
 * in request-test-broken-sanitised.xml, inside ds:KeyInfo there is the RSA 
public key
 * in request-test-working-sanitised.xml, inside ds:KeyInfo there is the the 
certificate

For the processing of request-test-broken-sanitised.xml, I have attached a 
stack trace leading to verifyTrust.

Does this confirm that there is not a problem in CXF/WSS4J ?

 

However, we are still not fully comfortable with our situation.

*The real request* (request-real-sanitised.xml) is produced by a partner 
organisation. It does not contain the certificate multiple times. The 
certificate appears once, as the value of wsse:BinarySecurityToken. In 
dsig:KeyInfo, the certificate is referenced by wsse:SecurityTokenReference. 
There is only one signature, which signs the elements: wsu:Timestamp, 
saml:Assertion, wsse:BinarySecurityToken.

*The test requests* are created by ourselves, using CXF. Our implementation 
generates two signatures:
 * The first signature signs the element saml2:Assertion. The signature 
contains a 2nd copy of the X.509 certificate.
 * The second signature signs the elements wsu:Timestamp, 
wsse:SecurityTokenReference, wsse:BinarySecurityToken. The signature contains a 
reference to the certificate in wsse:BinarySecurityToken.

The code that does this is as follows:
{code:java}
    static class SAMLCBHandler implements CallbackHandler {

    private final String issuer;
    private final String subjectName;
    private final String alias;
    private final String role;
    private Properties cryptoProps;

    public SAMLCBHandler(Properties cryptoProps, String issuer, String 
subjectName, String alias, String role) {
    this.cryptoProps = cryptoProps;
    this.issuer = issuer;
    this.subjectName = subjectName;
    this.alias = alias;
    this.role = role;
    }

    @Override
    public void handle(Callback[] callbacks) throws IOException, 
UnsupportedCallbackException {

    for (Callback cb: callbacks) {

    SAMLCallback scb = (SAMLCallback) cb;
    scb.setSamlVersion(Version.SAML_20);
    scb.setIssuer(issuer);

    SubjectBean subj = new SubjectBean();

    subj.setSubjectName(subjectName);
    
subj.setSubjectConfirmationMethod(SAML2Constants.CONF_SENDER_VOUCHES);

    scb.setSubject(subj);

    List asd = new ArrayList<>();
    AttributeBean roleBean = new AttributeBean("role", "role", 
Collections.singletonList((Object) role));
    ArrayList x = new ArrayList();
    x.add(roleBean);
    asd.add(new AttributeStatementBean(subj, x));

    scb.setAttributeStatementData(asd);
    scb.setSignAssertion(true);
    }
    }
{code}
Is it possible to modify the callback handler to build a request that bears 
more resemblance to the real requests?


was (Author: tomasv):
Thank you very much for confirming that chain trust should work. This prompted 
us to look closer at how we are creating the SOAP request messages in our 
internal testing.

We discovered that by changing the SAML request slightly, we were able to get 
WSS4J chain trust to work.

I am including three sample requests:
 * request-real-sanitised.xml
 * request-test-broken-sanitised.xml
 * request-test-working-sanitised.xml

All requests have the X.509 certificate as the value of 
wsse:BinarySecurityToken.

All requests sign the SAML Assertion.

The crucial difference between request-test-broken-sanitised.xml and 
request-test-working-sanitised.xml seems to be in the signature that is used to 
sign the SAML Assertion:
 * in request-test-broken-sanitised.xml, inside ds:KeyInfo there is the RSA 
public key
 * in request-test-working-sanitised.xml, inside ds:KeyInfo there is the the 
certificate

For the processing of request-test-broken-sanitised.xml, I have attached a 
stack trace 

[jira] [Updated] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomas Vanhala updated CXF-7941:
---
Attachment: request-real-sanitised.xml

> SamlValidator does not work with chain trust
> 
>
> Key: CXF-7941
> URL: https://issues.apache.org/jira/browse/CXF-7941
> Project: CXF
>  Issue Type: Bug
>  Components: WS-* Components
>Affects Versions: 3.2.7
>Reporter: Tomas Vanhala
>Priority: Major
> Attachments: cxf7941.zip, request-real-sanitised.xml, 
> request-test-broken-sanitised.xml, request-test-working-sanitised.xml, 
> stacktrace-request-test-broken.txt
>
>
> As explained here 
> [http://coheigea.blogspot.com/2012/08/subject-dn-certificate-constraint.html,]
>  WSS4J supports specifying constraints on the subject DN of the certificate 
> used for signature validation.
> We have successfully applied "direct trust" when receiving SOAP requests 
> containing a signed SAML token.
> We attempted to migrate to "chain trust" by removing the certificate used to 
> sign the requests from the Merlin trust store, and setting an appropriate 
> Subject DN Cert Constraint.
> It did not work. Our analysis is that WSS4J's SamlValidator is not able to 
> handle a scenario where the certificate used to sign the requests is not in 
> the trust store. The problem seems to be in the method 
> findPublicKeyInKeyStore() of Merlin.java.
> We were able to make chain trust (and the Subject DN Cert Constraint) work by 
> including the needed PKI code in a customised SamlValidator, but we would 
> rather not go this route.
> Please fix chain trust in WSS4J SAML validation.



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


[jira] [Comment Edited] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


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

Tomas Vanhala edited comment on CXF-7941 at 1/18/19 1:37 PM:
-

Thank you very much for confirming that chain trust should work. This prompted 
us to look closer at how we are creating the SOAP request messages in our 
internal testing.

We discovered that by changing the SAML request slightly, we were able to get 
WSS4J chain trust to work.

I am including three sample requests:
 * request-real-sanitised.xml
 * request-test-broken-sanitised.xml
 * request-test-working-sanitised.xml

All requests have the X.509 certificate as the value of 
wsse:BinarySecurityToken.

All requests sign the SAML Assertion.

The crucial difference between request-test-broken-sanitised.xml and 
request-test-working-sanitised.xml seems to be in the signature that is used to 
sign the SAML Assertion:
 * in request-test-broken-sanitised.xml, inside ds:KeyInfo there is the RSA 
public key
 * in request-test-working-sanitised.xml, inside ds:KeyInfo there is the the 
certificate

For the processing of request-test-broken-sanitised.xml, I have attached a 
stack trace leading to verifyTrust.

Originally, we had added some X.509 related code on the server side in order to 
make the processing of request-test-broken-sanitised.xml work. The code is 
included in the attachment obsolete-code.txt

Do these findings confirm that there is not a problem in CXF/WSS4J ?

 

However, we are still not fully comfortable with our situation.

*The real request* (request-real-sanitised.xml) is produced by a partner 
organisation. It does not contain the certificate multiple times. The 
certificate appears once, as the value of wsse:BinarySecurityToken. In 
dsig:KeyInfo, the certificate is referenced by wsse:SecurityTokenReference. 
There is only one signature, which signs the elements: wsu:Timestamp, 
saml:Assertion, wsse:BinarySecurityToken.

*The test requests* are created by ourselves, using CXF. Our implementation 
generates two signatures:
 * The first signature signs the element saml2:Assertion. The signature 
contains a 2nd copy of the X.509 certificate.
 * The second signature signs the elements wsu:Timestamp, 
wsse:SecurityTokenReference, wsse:BinarySecurityToken. The signature contains a 
reference to the certificate in wsse:BinarySecurityToken.

The code that does this is as follows:
{code:java}
    static class SAMLCBHandler implements CallbackHandler {

    private final String issuer;
    private final String subjectName;
    private final String alias;
    private final String role;
    private Properties cryptoProps;

    public SAMLCBHandler(Properties cryptoProps, String issuer, String 
subjectName, String alias, String role) {
    this.cryptoProps = cryptoProps;
    this.issuer = issuer;
    this.subjectName = subjectName;
    this.alias = alias;
    this.role = role;
    }

    @Override
    public void handle(Callback[] callbacks) throws IOException, 
UnsupportedCallbackException {

    for (Callback cb: callbacks) {

    SAMLCallback scb = (SAMLCallback) cb;
    scb.setSamlVersion(Version.SAML_20);
    scb.setIssuer(issuer);

    SubjectBean subj = new SubjectBean();

    subj.setSubjectName(subjectName);
    
subj.setSubjectConfirmationMethod(SAML2Constants.CONF_SENDER_VOUCHES);

    scb.setSubject(subj);

    List asd = new ArrayList<>();
    AttributeBean roleBean = new AttributeBean("role", "role", 
Collections.singletonList((Object) role));
    ArrayList x = new ArrayList();
    x.add(roleBean);
    asd.add(new AttributeStatementBean(subj, x));

    scb.setAttributeStatementData(asd);
    scb.setSignAssertion(true);
    }
    }
{code}
Is it possible to modify the callback handler to build a request that bears 
more resemblance to the real requests?


was (Author: tomasv):
Thank you very much for confirming that chain trust should work. This prompted 
us to look closer at how we are creating the SOAP request messages in our 
internal testing.

We discovered that by changing the SAML request slightly, we were able to get 
WSS4J chain trust to work.

I am including three sample requests:
 * request-real-sanitised.xml
 * request-test-broken-sanitised.xml
 * request-test-working-sanitised.xml

All requests have the X.509 certificate as the value of 
wsse:BinarySecurityToken.

All requests sign the SAML Assertion.

The crucial difference between request-test-broken-sanitised.xml and 
request-test-working-sanitised.xml seems to be in the signature that is used to 
sign the SAML Assertion:
 * in request-test-broken-sanitised.xml, inside ds:KeyIn

[jira] [Updated] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Tomas Vanhala (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomas Vanhala updated CXF-7941:
---
Attachment: obsolete-code.txt

> SamlValidator does not work with chain trust
> 
>
> Key: CXF-7941
> URL: https://issues.apache.org/jira/browse/CXF-7941
> Project: CXF
>  Issue Type: Bug
>  Components: WS-* Components
>Affects Versions: 3.2.7
>Reporter: Tomas Vanhala
>Priority: Major
> Attachments: cxf7941.zip, obsolete-code.txt, 
> request-real-sanitised.xml, request-test-broken-sanitised.xml, 
> request-test-working-sanitised.xml, stacktrace-request-test-broken.txt
>
>
> As explained here 
> [http://coheigea.blogspot.com/2012/08/subject-dn-certificate-constraint.html,]
>  WSS4J supports specifying constraints on the subject DN of the certificate 
> used for signature validation.
> We have successfully applied "direct trust" when receiving SOAP requests 
> containing a signed SAML token.
> We attempted to migrate to "chain trust" by removing the certificate used to 
> sign the requests from the Merlin trust store, and setting an appropriate 
> Subject DN Cert Constraint.
> It did not work. Our analysis is that WSS4J's SamlValidator is not able to 
> handle a scenario where the certificate used to sign the requests is not in 
> the trust store. The problem seems to be in the method 
> findPublicKeyInKeyStore() of Merlin.java.
> We were able to make chain trust (and the Subject DN Cert Constraint) work by 
> including the needed PKI code in a customised SamlValidator, but we would 
> rather not go this route.
> Please fix chain trust in WSS4J SAML validation.



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


[jira] [Created] (CXF-7951) Async binding not JAX-WS compliant

2019-01-18 Thread Aritz Bastida (JIRA)
Aritz Bastida created CXF-7951:
--

 Summary: Async binding not JAX-WS compliant
 Key: CXF-7951
 URL: https://issues.apache.org/jira/browse/CXF-7951
 Project: CXF
  Issue Type: Bug
  Components: JAX-WS Runtime
Affects Versions: 3.2.6
Reporter: Aritz Bastida


According to JAX-WS 2.3 spec, section 2.3.4.3, the async binding differs from 
the sync binding in the handling of in-out and out parameters, namely:
 * No Holder class is used
 * Out parts or wrapper childs are gathered as properties in an ebtity called 
RespobseBean.

Personally, I don't understand this requirement because this results in a 
different method signature. But for some reason that' what the spec days...

In our project we are deploying our our services in Weblogic, which includes 
Metro (JAX-WS RI) as JAX-WS implementation. And that requires the above 
signature for the async binding to work.

However, CXF does not behave the same way: it expects the exact same same 
signature in both cases, just differring in the response type and name ("Async" 
suffix).

To put you in context, we are using Document/Literal Bare style in our clients, 
with four parts:
 * "request": IN 
 * "response": OUT
 * "cabecera": IN-OUT header=true
 * "metadatos": IN-OUT header=true

So, for the sync binding we have three method parameters, the last two wrapped 
by Holders. That same signature works in tthe async style, but Weblogic/JAX-WS 
RI doesn't like it...



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


[jira] [Updated] (CXF-7951) Async binding not JAX-WS compliant

2019-01-18 Thread Aritz Bastida (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aritz Bastida updated CXF-7951:
---
Description: 
According to JAX-WS 2.3 spec, section 2.3.4.3, the async binding differs from 
the sync binding in the handling of in-out and out parameters, namely:
 * No Holder class is used
 * Out parts or wrapper childs are gathered as properties in an entity called 
ResponseBean.

Personally, I don't understand the reason for this requirement because it 
produces a different method signature, not very convenient. But that' what the 
spec days...

In our project we are deploying our services in Weblogic, which includes Metro 
(JAX-WS RI) as JAX-WS implementation. And that requires the above signature for 
the async binding to work.

However, CXF does not behave the same way: it expects the exact same same 
signature in both cases, just differring in the response type and name ("Async" 
suffix).

To put you in context, we are using Document/Literal BARE style in our clients, 
with four parts in each @WebMethod:
 * "request": IN 
 * "response": OUT
 * "cabecera": IN-OUT header=true
 * "metadatos": IN-OUT header=true

So, for the sync binding we have three method parameters, the last two wrapped 
by Holders. That same signature works in tthe async style, but Weblogic/JAX-WS 
RI doesn't like it...

  was:
According to JAX-WS 2.3 spec, section 2.3.4.3, the async binding differs from 
the sync binding in the handling of in-out and out parameters, namely:
 * No Holder class is used
 * Out parts or wrapper childs are gathered as properties in an ebtity called 
RespobseBean.

Personally, I don't understand this requirement because this results in a 
different method signature. But for some reason that' what the spec days...

In our project we are deploying our our services in Weblogic, which includes 
Metro (JAX-WS RI) as JAX-WS implementation. And that requires the above 
signature for the async binding to work.

However, CXF does not behave the same way: it expects the exact same same 
signature in both cases, just differring in the response type and name ("Async" 
suffix).

To put you in context, we are using Document/Literal Bare style in our clients, 
with four parts:
 * "request": IN 
 * "response": OUT
 * "cabecera": IN-OUT header=true
 * "metadatos": IN-OUT header=true

So, for the sync binding we have three method parameters, the last two wrapped 
by Holders. That same signature works in tthe async style, but Weblogic/JAX-WS 
RI doesn't like it...


> Async binding not JAX-WS compliant
> --
>
> Key: CXF-7951
> URL: https://issues.apache.org/jira/browse/CXF-7951
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-WS Runtime
>Affects Versions: 3.2.6
>Reporter: Aritz Bastida
>Priority: Major
>
> According to JAX-WS 2.3 spec, section 2.3.4.3, the async binding differs from 
> the sync binding in the handling of in-out and out parameters, namely:
>  * No Holder class is used
>  * Out parts or wrapper childs are gathered as properties in an entity called 
> ResponseBean.
> Personally, I don't understand the reason for this requirement because it 
> produces a different method signature, not very convenient. But that' what 
> the spec days...
> In our project we are deploying our services in Weblogic, which includes 
> Metro (JAX-WS RI) as JAX-WS implementation. And that requires the above 
> signature for the async binding to work.
> However, CXF does not behave the same way: it expects the exact same same 
> signature in both cases, just differring in the response type and name 
> ("Async" suffix).
> To put you in context, we are using Document/Literal BARE style in our 
> clients, with four parts in each @WebMethod:
>  * "request": IN 
>  * "response": OUT
>  * "cabecera": IN-OUT header=true
>  * "metadatos": IN-OUT header=true
> So, for the sync binding we have three method parameters, the last two 
> wrapped by Holders. That same signature works in tthe async style, but 
> Weblogic/JAX-WS RI doesn't like it...



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


[jira] [Commented] (CXF-7941) SamlValidator does not work with chain trust

2019-01-18 Thread Colm O hEigeartaigh (JIRA)


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

Colm O hEigeartaigh commented on CXF-7941:
--

Hi,

The problem in "request-test-broken-sanitised.xml" is that the PublicKey stored 
in the Assertion Signature KeyInfo is not in the truststore. As I said above, 
chain trust only works for the case of a certificate. So I think WSS4J is 
handling this appropriately.

However, what we could do for the case of a PublicKey Signature in general is 
to check to see if the public key matches that of a certificate carried in 
BinarySecurityToken, and then to trust verification on the Signature. I'm a bit 
reluctant though to implement this. If someone is including a PublicKey as the 
signing credentials of the KeyInfo, then they obviously expect that the 
recipieint of the assertion has direct access to that public key.

Colm.

 

> SamlValidator does not work with chain trust
> 
>
> Key: CXF-7941
> URL: https://issues.apache.org/jira/browse/CXF-7941
> Project: CXF
>  Issue Type: Bug
>  Components: WS-* Components
>Affects Versions: 3.2.7
>Reporter: Tomas Vanhala
>Priority: Major
> Attachments: cxf7941.zip, obsolete-code.txt, 
> request-real-sanitised.xml, request-test-broken-sanitised.xml, 
> request-test-working-sanitised.xml, stacktrace-request-test-broken.txt
>
>
> As explained here 
> [http://coheigea.blogspot.com/2012/08/subject-dn-certificate-constraint.html,]
>  WSS4J supports specifying constraints on the subject DN of the certificate 
> used for signature validation.
> We have successfully applied "direct trust" when receiving SOAP requests 
> containing a signed SAML token.
> We attempted to migrate to "chain trust" by removing the certificate used to 
> sign the requests from the Merlin trust store, and setting an appropriate 
> Subject DN Cert Constraint.
> It did not work. Our analysis is that WSS4J's SamlValidator is not able to 
> handle a scenario where the certificate used to sign the requests is not in 
> the trust store. The problem seems to be in the method 
> findPublicKeyInKeyStore() of Merlin.java.
> We were able to make chain trust (and the Subject DN Cert Constraint) work by 
> including the needed PKI code in a customised SamlValidator, but we would 
> rather not go this route.
> Please fix chain trust in WSS4J SAML validation.



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


[jira] [Resolved] (CXF-7929) org.apache.cxf.jaxrs.client.AbstractClient.convertToWebApplicationException is changing actual error cause and error http status

2019-01-18 Thread Colm O hEigeartaigh (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colm O hEigeartaigh resolved CXF-7929.
--
Resolution: Cannot Reproduce

We need a test-case of some sort to take this further.

> org.apache.cxf.jaxrs.client.AbstractClient.convertToWebApplicationException 
> is changing actual error cause and error http status 
> -
>
> Key: CXF-7929
> URL: https://issues.apache.org/jira/browse/CXF-7929
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.1.12
>Reporter: Vijay Kumar
>Priority: Major
> Attachments: image-2018-12-20-10-35-19-884.png, 
> image-2018-12-26-16-16-02-352.png, image-2018-12-26-16-21-15-698.png
>
>
> I would like to understand details of changing error / exception details
> org.apache.cxf.jaxrs.client.AbstractClient.convertToWebApplicationException(AbstractClient.java:511)
>  at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:901)
>  at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:862)
>  at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:427)
>  at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:607)
>  
> +*Scenario:*+ ** We are facing a scenario where my program throws an 
> exception with needful details as 
> cause: document with name  not available in the repository
> errorCode: 404 
> as 
> java.lang.RuntimeException: Document with name  not available in the 
> repository
> but from 
> org.apache.cxf.jaxrs.client.AbstractClient.convertToWebApplicationException 
> method it is converted to 
> code: 500
> cause: Internal Server Error
> Due to this conversion we are not able to understand / catch actual cause of 
> the error / exception.
>  
> Fare Scenario:
>  # I have file in repo
> 2. i have rest client api to download (etc)
>  # My rest client api uses org.apache.cxf.jaxrs.client
>  # When there is no file to download, my api throwing an runtime exception 
> with a cause of details.
>  # however the exception is handled by 
> org.apache.cxf.jaxrs.client.WebClient.get() is modifying the exception 
> details as internal server error, 500.
> org.apache.cxf.jaxrs.client.AbstractClient.convertToWebApplicationException(AbstractClient.java:511)
> at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:901)
> at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:862)
> at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:427)
> at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:607)
>  
> Please be informed that i have gone through the class details of WebClient 
> and AbstractWebClient
>  
> Please let me know in case of any info needed.
>  
>  
>  



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


[jira] [Commented] (CXF-7926) MicroProfile Rest Client 1.2

2019-01-18 Thread Colm O hEigeartaigh (JIRA)


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

Colm O hEigeartaigh commented on CXF-7926:
--

Can this issue be resolved? Any remaining work could go into a new Jira for 
3.3.1

> MicroProfile Rest Client 1.2
> 
>
> Key: CXF-7926
> URL: https://issues.apache.org/jira/browse/CXF-7926
> Project: CXF
>  Issue Type: New Feature
>  Components: JAX-RS
>Reporter: Andy McCright
>Assignee: Andy McCright
>Priority: Major
> Fix For: 3.3.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> MicroProfile Rest Client 1.2 adds a lot of new function that should improve 
> developer experience and third-party product integration.  
>  
> The complete list of issues in the new spec are available here:
> [https://github.com/eclipse/microprofile-rest-client/milestone/4?closed=1]
>  
> Some of the highlights are:
>  * the ability to specify the base URI in the `@RegisterRestClient` 
> annotation.
>  * `removeContext` method in `AsyncInvocationInterceptor` interface allowing 
> cleanup of contexts transferred from the calling thread.
>  * new `RestClientListener` SPI interface for intercepting Rest Client 
> instances.
>  * portable timeout properties.
>  
> The official release of MP Rest Client 1.2 will be some time in late January 
> or early February 2019.  There is a 1.2-m2 (milestone 2) early access release 
> of the API and TCK that we can build on for the CXF 3.3.0 release.  Once the 
> official release of the API/TCK occurs in early 2019, we can update the maven 
> dependencies to use the official release as part of 3.3.1 or 3.3.2.



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


[jira] [Resolved] (CXF-7944) OAuthClientUtils hides error message if it contains a comma

2019-01-18 Thread Colm O hEigeartaigh (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colm O hEigeartaigh resolved CXF-7944.
--
Resolution: Fixed

> OAuthClientUtils hides error message if it contains a comma
> ---
>
> Key: CXF-7944
> URL: https://issues.apache.org/jira/browse/CXF-7944
> Project: CXF
>  Issue Type: Bug
>Affects Versions: 3.2.7
>Reporter: Levi Miller
>Assignee: Colm O hEigeartaigh
>Priority: Major
> Fix For: 3.3.0, 3.2.8
>
>
> OAuthClientUtils.getAccessToken hides the response error if the error message 
> contains a comma.
> The root cause of this is that OAuthJSONProvider.readJSONResponse uses 
> String.split(",") to parse the json string, which throws
> {code:java}
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1{code}
> if there are unexpected commas.
>  
> Stack trace:
> {code:java}
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>   at java.lang.String.substring(Unknown Source)
>   at 
> org.apache.cxf.rs.security.oauth2.provider.OAuthJSONProvider.readJSONResponse(OAuthJSONProvider.java:310)
>   at 
> org.apache.cxf.rs.security.oauth2.client.OAuthClientUtils.getAccessToken(OAuthClientUtils.java:312)
>   at 
> org.apache.cxf.rs.security.oauth2.client.OAuthClientUtils.getAccessToken(OAuthClientUtils.java:231)
>   at 
> org.apache.cxf.rs.security.oauth2.client.OAuthClientUtils.getAccessToken(OAuthClientUtils.java:179){code}
> response.getEntity() json string:
> {code:java}
> {"error":"invalid_client","error_description":"Client authentication failed 
> due to unknown client, no client authentication included, or unsupported 
> authentication method."}{code}



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


[jira] [Commented] (CXF-7898) Cxf returns 'null' on MessagePartInfo typeClass in services with multiple portTypes

2019-01-18 Thread Colm O hEigeartaigh (JIRA)


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

Colm O hEigeartaigh commented on CXF-7898:
--

Do you have a test-case to help reproduce the problem?

> Cxf returns 'null' on MessagePartInfo typeClass in services with multiple 
> portTypes
> ---
>
> Key: CXF-7898
> URL: https://issues.apache.org/jira/browse/CXF-7898
> Project: CXF
>  Issue Type: Bug
>  Components: JAXB Databinding
>Reporter: Mathaus Erich Ramos
>Priority: Major
>
> Recently I started using the Apache Cxf lib with the intention of performing 
> the extraction of operation attributes in a WSDL files for SOAP Web Services. 
> That's because before the company where I worked had many problems with the 
> old lib, the Predic8.
> However, recently I tried to extract the attributes of a WSDL operation and I 
> was not able to get the expected result. From what I have analyzed with some 
> tests, it is not able to identify the type of the Class of the attributes 
> that have more than one binding. However with some tests I performed, 
> changing the portType of all bindings to the same I was able to get it to 
> interpret correctly. 
> I believe the problem is occurring when there is more and a binding and each 
> uses a different PortType, since it can only extract the type of classes from 
> the attributes in one of the portTypes.
> Please give me a light.
> *Code used to extract:*
> {code:java}
> public class DynClient {
>     
>     
>     public static void main(String[] args) {
>         JaxWsDynamicClientFactory factory = 
> JaxWsDynamicClientFactory.newInstance();
>         Client client = 
> factory.createClient("http://intsaprm.hptransportes.com.br:8051/wsConsultaSQL/MEX?wsdl";);
>         
>         for (ServiceInfo service : 
> client.getEndpoint().getService().getServiceInfos()) {
>             for (BindingInfo binding : service.getBindings()) {
>                 System.out.println("Binding: " + 
> binding.getName().getLocalPart());
>                 binding.getOperations().forEach(operation -> {                
>     
>                     if (operation.getInput() != null) {                       
>  
>                         operation.getInput().getMessageParts().forEach(part 
> -> {
>                             System.out.println(part.getName().getLocalPart() 
> + "=>" + part.getTypeClass());
>                         });
>                     }
>                     if (operation.getOutput() != null) {
>                         operation.getOutput().getMessageParts().forEach(part 
> -> {
>                             System.out.println(part.getName().getLocalPart() 
> + "=>" + part.getTypeClass());
>                         });
>                     }
>                 });
>             }
>         }
>         
>     }
> }{code}
>  
> *When executed:*
> {panel:title=Output}
> Binding: RM_IwsBase
> parameters=>class com.totvs.CheckServiceActivity
> parameters=>class com.totvs.CheckServiceActivityResponse
> parameters=>class com.totvs.AutenticaAcesso
> parameters=>class com.totvs.AutenticaAcessoResponse
> parameters=>class com.totvs.Implements
> parameters=>class com.totvs.ImplementsResponse
> Binding: RM_IwsConsultaSQL
> parameters=>null
> parameters=>null
> parameters=>null
> parameters=>null
> parameters=>null
> parameters=>null
> Binding: RM_IRMSServer
> parameters=>null
> parameters=>null
> parameters=>null
> parameters=>null
> {panel}
>  



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