[jira] [Created] (CXF-8276) Create a Build Of Material POM file with only the CXF modules
Emile de Weerd created CXF-8276: --- Summary: Create a Build Of Material POM file with only the CXF modules Key: CXF-8276 URL: https://issues.apache.org/jira/browse/CXF-8276 Project: CXF Issue Type: Improvement Components: Build system Reporter: Emile de Weerd CXF parent was changed in 3.2.5 to contain all the CXF modules in the dependency managemenet which was a great improvement for CXF users when integrating CXF as they would have to worry so much about dependency version. A project I am involved in though is also a framework project and provides CXF amongst a whole lot of other dependencies, and integrating the CXF thirdparty dependency tree becomes quite tricky. Hence the need for a lighter BOM (build of material) POM file, containing only the modules of the CXF project. This would follow the example of netty for instance in [https://github.com/netty/netty/blob/4.1/bom/pom.xml] with their netty-bom module. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (CXF-8274) Method arguments are null
[ https://issues.apache.org/jira/browse/CXF-8274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel_K updated CXF-8274: - Issue Type: Improvement (was: Bug) > Method arguments are null > - > > Key: CXF-8274 > URL: https://issues.apache.org/jira/browse/CXF-8274 > Project: CXF > Issue Type: Improvement >Affects Versions: 3.3.6 > Environment: Debian, Java 14 >Reporter: Pavel_K >Priority: Major > > I use CXF 3.3.6 with Jetty 9.4.14. Jetty doesn't know about CXF and to link > them I use web.xml. In that descriptor I set CXF servlet in which I override > loadBus method. > These are dependencies I use. All these jars are loaded to JPMS layer (with > Jetty) as explicit or automatic JPMS modules: > {code:java} > cxf-rt-transports-http-3.3.6.jar > cxf-rt-frontend-jaxws-3.3.6.jar > cxf-core-3.3.6.jar > cxf-rt-frontend-simple-3.3.6.jar > cxf-rt-bindings-soap-3.3.6.jar > cxf-rt-wsdl-3.3.6.jar > cxf-rt-databinding-jaxb-3.3.6.jar > jakarta.xml.ws-api-2.3.2.jar > jakarta.xml.soap-api-1.4.1.jar > jakarta.jws-api-1.1.1.jar > xmlschema-core-2.2.5.jar > istack-commons-runtime-3.0.8.jar > woodstox-core-5.0.3.jar > stax2-api-3.1.4.jar > wsdl4j-1.6.3.jar > > //having lost any hope I also added the following: > cxf-rt-bindings-xml-3.3.6.jar > cxf-rt-ws-addr-3.3.6.jar > cxf-rt-ws-policy-3.3.6.jar > cxf-rt-transports-http-jetty-3.3.6.jar > neethi-3.1.1.jar > xml-resolver-1.2.jar > txw2-2.3.2.jar > stax-ex-1.8.3.jar > saaj-impl-1.4.0-b03.jar > mimepull-1.9.7.jar > FastInfoset-1.2.16.jar > jaxb-runtime-2.3.2.jar > jboss-rmi-api_1.0_spec-1.0.6.Final.jar > jacorb-omgapi-3.9.jar > {code} > This is my class > {code:java} > @WebService(name="CalculatorService", serviceName="CalculatorService") > public class CalculatorService { > > @WebMethod > public double addNumbers(double v1, double v2) { > return v1 + v2; > } > } > {code} > This is generated wsdl > {code:java} > > targetNamespace="http://cfx.foo.com/"; > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:tns="http://cfx.foo.com/"; > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";> > > http://cfx.foo.com/"; > xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="unqualified" > targetNamespace="http://cfx.foo.com/"; version="1.0"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >message="tns:addNumbersResponse"> > > > >type="tns:CalculatorService"> > transport="http://schemas.xmlsoap.org/soap/http"/> > > > > > > > > > > > > binding="tns:CalculatorServiceSoapBinding"> >location="http://localhost:9090/CalculatorServicePort"/> > > > > {code} > Upon generated wsdl I generate (using plugin) java client stubs. The problem > is that when via client I try to call my service my arguments for method are > ignored. This is what I see using ngrep: > > {code:java} >T 127.0.0.1:33602 -> 127.0.0.1:8080 [AP] > POST /webservices/calcService HTTP/1.1..Content-Type: text/xml; > charset=UTF-8..Accept: */*..SOAPAction: ""..User-Agent: Apache-CXF/3.3.6. > .Cache-Control: no-cache..Pragma: no-cache..Host: > 127.0.0.1:8080..Connection: keep-alive..Content-Length: 218 > > ## > T 127.0.0.1:33602 -> 127.0.0.1:8080 [AP] >xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";> > xmlns:ns2="http://cfx.foo.com/";>1.21.2 > > ## > T 127.0.0.1:8080 -> 127.0.0.1:33602 [AP] > HTTP/1.1 500 Server Error..Date: Thu, 30 Apr 2020 15:38:13 > GMT..Content-Type: text/xml;charset=utf-8..Content-Length: 322..Server: Jetty( > 9.4.z-SNAPSHOT) xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>soap:Server aultcode>null while invoking public double > com.foo.cfx.CalculatorService.addNumbers(double,double) with params [ > null, null]. > > ### > {code} > As you see both arguments for addNumbers are passed but they are ignored. > And this is the stack > {code:java} > org.apache.cxf.interceptor.Fault: null while invoking public double > com.temp.cfx.CalculatorService.addNumbers(doubl
[jira] [Commented] (CXF-8274) Method arguments are null
[ https://issues.apache.org/jira/browse/CXF-8274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17099105#comment-17099105 ] Pavel_K commented on CXF-8274: -- I got answer in mailing list from Daniel Kulp. It was necessary to change in loadBus method one line {code:java} ServerFactoryBean factory = new ServerFactoryBean();{code} to {code:java} JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();{code} However, I still think that there must be a big, big, very big warning, showing consequences of using ServerFactoryBean. But this is my humble opinion as I lost about 30 hours trying to solve this problem. > Method arguments are null > - > > Key: CXF-8274 > URL: https://issues.apache.org/jira/browse/CXF-8274 > Project: CXF > Issue Type: Bug >Affects Versions: 3.3.6 > Environment: Debian, Java 14 >Reporter: Pavel_K >Priority: Major > > I use CXF 3.3.6 with Jetty 9.4.14. Jetty doesn't know about CXF and to link > them I use web.xml. In that descriptor I set CXF servlet in which I override > loadBus method. > These are dependencies I use. All these jars are loaded to JPMS layer (with > Jetty) as explicit or automatic JPMS modules: > {code:java} > cxf-rt-transports-http-3.3.6.jar > cxf-rt-frontend-jaxws-3.3.6.jar > cxf-core-3.3.6.jar > cxf-rt-frontend-simple-3.3.6.jar > cxf-rt-bindings-soap-3.3.6.jar > cxf-rt-wsdl-3.3.6.jar > cxf-rt-databinding-jaxb-3.3.6.jar > jakarta.xml.ws-api-2.3.2.jar > jakarta.xml.soap-api-1.4.1.jar > jakarta.jws-api-1.1.1.jar > xmlschema-core-2.2.5.jar > istack-commons-runtime-3.0.8.jar > woodstox-core-5.0.3.jar > stax2-api-3.1.4.jar > wsdl4j-1.6.3.jar > > //having lost any hope I also added the following: > cxf-rt-bindings-xml-3.3.6.jar > cxf-rt-ws-addr-3.3.6.jar > cxf-rt-ws-policy-3.3.6.jar > cxf-rt-transports-http-jetty-3.3.6.jar > neethi-3.1.1.jar > xml-resolver-1.2.jar > txw2-2.3.2.jar > stax-ex-1.8.3.jar > saaj-impl-1.4.0-b03.jar > mimepull-1.9.7.jar > FastInfoset-1.2.16.jar > jaxb-runtime-2.3.2.jar > jboss-rmi-api_1.0_spec-1.0.6.Final.jar > jacorb-omgapi-3.9.jar > {code} > This is my class > {code:java} > @WebService(name="CalculatorService", serviceName="CalculatorService") > public class CalculatorService { > > @WebMethod > public double addNumbers(double v1, double v2) { > return v1 + v2; > } > } > {code} > This is generated wsdl > {code:java} > > targetNamespace="http://cfx.foo.com/"; > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:tns="http://cfx.foo.com/"; > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";> > > http://cfx.foo.com/"; > xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="unqualified" > targetNamespace="http://cfx.foo.com/"; version="1.0"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >message="tns:addNumbersResponse"> > > > >type="tns:CalculatorService"> > transport="http://schemas.xmlsoap.org/soap/http"/> > > > > > > > > > > > > binding="tns:CalculatorServiceSoapBinding"> >location="http://localhost:9090/CalculatorServicePort"/> > > > > {code} > Upon generated wsdl I generate (using plugin) java client stubs. The problem > is that when via client I try to call my service my arguments for method are > ignored. This is what I see using ngrep: > > {code:java} >T 127.0.0.1:33602 -> 127.0.0.1:8080 [AP] > POST /webservices/calcService HTTP/1.1..Content-Type: text/xml; > charset=UTF-8..Accept: */*..SOAPAction: ""..User-Agent: Apache-CXF/3.3.6. > .Cache-Control: no-cache..Pragma: no-cache..Host: > 127.0.0.1:8080..Connection: keep-alive..Content-Length: 218 > > ## > T 127.0.0.1:33602 -> 127.0.0.1:8080 [AP] >xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";> > xmlns:ns2="http://cfx.foo.com/";>1.21.2 > > ## > T 127.0.0.1:8080 -> 127.0.0.1:33602 [AP] > HTTP/1.1 500 Server Error..Date: Thu, 30 Apr 2020 15:38:13 > GMT..Content-Type: text/xml;charset=utf-8..Content-Length: 322..Server: Jetty( > 9.4.z-SNAPSHOT) xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>soap:S
[jira] [Comment Edited] (CXF-8274) Method arguments are null
[ https://issues.apache.org/jira/browse/CXF-8274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17099105#comment-17099105 ] Pavel_K edited comment on CXF-8274 at 5/4/20, 6:31 PM: --- I got answer in mailing list from Daniel Kulp. It was necessary to change in loadBus method one line {code:java} ServerFactoryBean factory = new ServerFactoryBean();{code} to {code:java} JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();{code} However, I still think that there must be a big, big, very big warning, showing consequences of using ServerFactoryBean. But this is my humble opinion as I lost about 30 hours trying to solve this problem. was (Author: pavel_k): I got answer in mailing list from Daniel Kulp. It was necessary to change in loadBus method one line {code:java} ServerFactoryBean factory = new ServerFactoryBean();{code} to {code:java} JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();{code} However, I still think that there must be a big, big, very big warning, showing consequences of using ServerFactoryBean. But this is my humble opinion as I lost about 30 hours trying to solve this problem. > Method arguments are null > - > > Key: CXF-8274 > URL: https://issues.apache.org/jira/browse/CXF-8274 > Project: CXF > Issue Type: Improvement >Affects Versions: 3.3.6 > Environment: Debian, Java 14 >Reporter: Pavel_K >Priority: Major > > I use CXF 3.3.6 with Jetty 9.4.14. Jetty doesn't know about CXF and to link > them I use web.xml. In that descriptor I set CXF servlet in which I override > loadBus method. > These are dependencies I use. All these jars are loaded to JPMS layer (with > Jetty) as explicit or automatic JPMS modules: > {code:java} > cxf-rt-transports-http-3.3.6.jar > cxf-rt-frontend-jaxws-3.3.6.jar > cxf-core-3.3.6.jar > cxf-rt-frontend-simple-3.3.6.jar > cxf-rt-bindings-soap-3.3.6.jar > cxf-rt-wsdl-3.3.6.jar > cxf-rt-databinding-jaxb-3.3.6.jar > jakarta.xml.ws-api-2.3.2.jar > jakarta.xml.soap-api-1.4.1.jar > jakarta.jws-api-1.1.1.jar > xmlschema-core-2.2.5.jar > istack-commons-runtime-3.0.8.jar > woodstox-core-5.0.3.jar > stax2-api-3.1.4.jar > wsdl4j-1.6.3.jar > > //having lost any hope I also added the following: > cxf-rt-bindings-xml-3.3.6.jar > cxf-rt-ws-addr-3.3.6.jar > cxf-rt-ws-policy-3.3.6.jar > cxf-rt-transports-http-jetty-3.3.6.jar > neethi-3.1.1.jar > xml-resolver-1.2.jar > txw2-2.3.2.jar > stax-ex-1.8.3.jar > saaj-impl-1.4.0-b03.jar > mimepull-1.9.7.jar > FastInfoset-1.2.16.jar > jaxb-runtime-2.3.2.jar > jboss-rmi-api_1.0_spec-1.0.6.Final.jar > jacorb-omgapi-3.9.jar > {code} > This is my class > {code:java} > @WebService(name="CalculatorService", serviceName="CalculatorService") > public class CalculatorService { > > @WebMethod > public double addNumbers(double v1, double v2) { > return v1 + v2; > } > } > {code} > This is generated wsdl > {code:java} > > targetNamespace="http://cfx.foo.com/"; > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:tns="http://cfx.foo.com/"; > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";> > > http://cfx.foo.com/"; > xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="unqualified" > targetNamespace="http://cfx.foo.com/"; version="1.0"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >message="tns:addNumbersResponse"> > > > >type="tns:CalculatorService"> > transport="http://schemas.xmlsoap.org/soap/http"/> > > > > > > > > > > > > binding="tns:CalculatorServiceSoapBinding"> >location="http://localhost:9090/CalculatorServicePort"/> > > > > {code} > Upon generated wsdl I generate (using plugin) java client stubs. The problem > is that when via client I try to call my service my arguments for method are > ignored. This is what I see using ngrep: > > {code:java} >T 127.0.0.1:33602 -> 127.0.0.1:8080 [AP] > POST /webservices/calcService HTTP/1.1..Content-Type: text/xml; > charset=UTF-8..Accept: */*..SOAPAction: ""..User-Agent: Apache-CXF/3.3.6. > .Cache-Control: no-cache..Pragma: no-cache..Host: > 127.0.0.1:8080..Connection: keep-alive..Content-Length: 218..
[jira] [Commented] (CXF-5216) WSDL definition cache issue for web service client when WSDL in service war changed
[ https://issues.apache.org/jira/browse/CXF-5216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17099268#comment-17099268 ] Ranjit Vadakkan commented on CXF-5216: -- Can this please be revisited? As was previously noted, WSDLManager.getDefinition either gets a definition from its cache or loads it from the URL. This means that for a new URL that isn't in the cache, it needs to be loaded twice from the URL - once for removal (a waste), and then later when it really needs to load. bus.getExtension(WSDLManager.class).removeDefinition(bus.getExtension(WSDLManager.class).getDefinition(url)); > WSDL definition cache issue for web service client when WSDL in service war > changed > --- > > Key: CXF-5216 > URL: https://issues.apache.org/jira/browse/CXF-5216 > Project: CXF > Issue Type: Bug >Affects Versions: 2.6.2 >Reporter: Bin Zhu >Assignee: Freeman Yue Fang >Priority: Major > Fix For: Invalid > > Attachments: CXF-5216-2.patch, CXF-5216.patch > > > In current design, the WSDL definition will be cached in case the the same > wsdl will be queried later.(WSDLManagerImpl.getDefinition) > e.g. > public Definition getDefinition(String url) throws WSDLException { > synchronized (definitionsMap) { > if (definitionsMap.containsKey(url)) { > return definitionsMap.get(url); > } > } > return loadDefinition(url); > } > The cache mechanism indeed improves the performance in most scenarios. But if > the WSDL file in service provider app changed, the client will not get the > correct WSDL definition even using retrieves the wsdl from server dynamically > (http://hostname:portname/xxx?wsdl),unless restarting the client app. > It would be more reasonable to introduce a client property to allow user to > disable the definition cache so that they can choose if they get WSDL > definition from cache or the URL dynamically for their scenarios. Any > thoughts? Thanks. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Comment Edited] (CXF-5216) WSDL definition cache issue for web service client when WSDL in service war changed
[ https://issues.apache.org/jira/browse/CXF-5216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17099268#comment-17099268 ] Ranjit Vadakkan edited comment on CXF-5216 at 5/4/20, 7:10 PM: --- Can this please be revisited? {{bus.getExtension(WSDLManager.class).removeDefinition(bus.getExtension(WSDLManager.class).getDefinition(url));}} As was previously noted, WSDLManager.getDefinition either gets a definition from its cache or loads it from the URL. This means that for a new URL that isn't in the cache, it needs to be loaded twice from the URL - once for removal (a waste), and then later when it really needs to load. was (Author: rvadakkan): Can this please be revisited? As was previously noted, WSDLManager.getDefinition either gets a definition from its cache or loads it from the URL. This means that for a new URL that isn't in the cache, it needs to be loaded twice from the URL - once for removal (a waste), and then later when it really needs to load. bus.getExtension(WSDLManager.class).removeDefinition(bus.getExtension(WSDLManager.class).getDefinition(url)); > WSDL definition cache issue for web service client when WSDL in service war > changed > --- > > Key: CXF-5216 > URL: https://issues.apache.org/jira/browse/CXF-5216 > Project: CXF > Issue Type: Bug >Affects Versions: 2.6.2 >Reporter: Bin Zhu >Assignee: Freeman Yue Fang >Priority: Major > Fix For: Invalid > > Attachments: CXF-5216-2.patch, CXF-5216.patch > > > In current design, the WSDL definition will be cached in case the the same > wsdl will be queried later.(WSDLManagerImpl.getDefinition) > e.g. > public Definition getDefinition(String url) throws WSDLException { > synchronized (definitionsMap) { > if (definitionsMap.containsKey(url)) { > return definitionsMap.get(url); > } > } > return loadDefinition(url); > } > The cache mechanism indeed improves the performance in most scenarios. But if > the WSDL file in service provider app changed, the client will not get the > correct WSDL definition even using retrieves the wsdl from server dynamically > (http://hostname:portname/xxx?wsdl),unless restarting the client app. > It would be more reasonable to introduce a client property to allow user to > disable the definition cache so that they can choose if they get WSDL > definition from cache or the URL dynamically for their scenarios. Any > thoughts? Thanks. -- This message was sent by Atlassian Jira (v8.3.4#803005)