RE: SOAP flow Compression?
Please add the below lines at the head of your server.xml import resource=classpath:META-INF/cxf/cxf.xml/ import resource=classpath:META-INF/cxf/cxf-extension-soap.xml/ import resource=classpath:META-INF/cxf/cxf-servlet.xml/ So you can get the enough componets to publish the services. You can find more information here [1] [1]http://cwiki.apache.org/CXF20DOC/servlet-transport.html Willem. -Original Message- From: Tophebboy [mailto:[EMAIL PROTECTED] Sent: 12/18/2007 18:32 To: cxf-user@incubator.apache.org Subject: Re: SOAP flow Compression? Hi! Here is my web.xml content: == ?xml version=1.0 encoding=UTF-8? !DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN http://java.sun.com/dtd/web-app_2_3.dtd; web-app display-namecxf/display-name descriptioncxf/description context-param param-namecontextConfigLocation/param-name param-valueWEB-INF/server.xml/param-value /context-param listener listener-class org.springframework.web.context.ContextLoaderListener /listener-class /listener servlet servlet-namecxf/servlet-name display-namecxf/display-name descriptionApache CXF Endpoint/description servlet-class org.apache.cxf.transport.servlet.CXFServlet /servlet-class load-on-startup1/load-on-startup /servlet servlet-mapping servlet-namecxf/servlet-name url-pattern/services/*/url-pattern /servlet-mapping session-config session-timeout60/session-timeout /session-config /web-app == And my server.xml content: == beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/core; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd; bean id=GZIPStream class=com.structis.edoc.services.utils.interceptors.StreamInterceptor / !-- We are adding the interceptors to the bus as we will have only one endpoint/service/bus. -- cxf:bus cxf:inInterceptors list ref bean=GZIPStream/ /list /cxf:inInterceptors cxf:outInterceptors list ref bean=GZIPStream/ /list /cxf:outInterceptors /cxf:bus /beans == Thanks a lot! Chris Willem2 wrote: Hi, Can I see your bus configuration file ? The NPE is caused by you do not set the bus rightly. I just checked the code , you may not include the right bus. Willem. Tophebboy wrote: On top of that, on the server side, launching Tomcat now gives me 2 errors: 17 déc. 2007 14:45:35 org.apache.cxf.transport.servlet.CXFServlet loadSpringBus INFO: load the bus with application context 14:45:35,482 ERROR [main] org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/EDocRequest] - StandardWrapper.Throwable java.lang.NullPointerException at org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:162) at org.apache.cxf.transport.servlet.CXFServlet.init(CXFServlet.java:98) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at
答复: http://schemas.xmlsoap.org/wsdl/ is not a valid SOAP version
Can you show us the detail stack trace and the on wire message? So we can investigate it. You can find the tips of debug CXF application in CXF user wiki[1] [1]http://cwiki.apache.org/CXF20DOC/debugging.html Willem -Original Message- From: bjarnek [mailto:[EMAIL PROTECTED] Sent: 12/18/2007 (星期二) 20:49 To: cxf-user@incubator.apache.org Subject: Re: http://schemas.xmlsoap.org/wsdl/; is not a valid SOAP version Hi, I use CXF 2.0.3 I have not configured any bus, as far as I know. How do I do that? I get this message while running: Could not find the configuration file cxf.xml on the classpath Maybe this is where the bus configuration goes? bjarne Benson Margulies-4 wrote: What version of CXF? How did you configure the bus? On Tue, 2007-12-18 at 01:34 -0800, bjarnek wrote: Hi I get this exception: org.apache.cxf.binding.soap.SoapFault: http://schemas.xmlsoap.org/wsdl/; is not a valid SOAP version. (I have marked in code where the exception occurs (last line under)) using this server def: simple:server id=lokcerService serviceClass=no.asp.as.masterlocker.client.ILockerClient address=/locker simple:dataBinding bean class=org.apache.cxf.aegis.databinding.AegisDatabinding / /simple:dataBinding simple:serviceBean bean class=no.asp.as.masterlocker.LockerUtilityImpl / /simple:serviceBean /simple:server and this client code: ClientProxyFactoryBean factory = new ClientProxyFactoryBean(); factory.setServiceClass(ILockerClient.class); factory.setAddress(adresse); factory.getServiceFactory().setDataBinding(new AegisDatabinding()); client = (ILockerClient) factory.create(); LockResult lockResult = client.addLock(firmaNr, tableName, tableId, userID); // -- this cause the exception This worked fine when addLock returned just a String. But when I change return value to a class, LockResult, I got the SOAP exception. Can anyone help me? -- View this message in context: http://www.nabble.com/%22http%3A--schemas.xmlsoap.org-wsdl-%22-is-not-a-valid-SOAP-version-tp14387884p14396217.html Sent from the cxf-user mailing list archive at Nabble.com.
RE: SOAP flow Compression?
The importing files are the cxf componets' spring configuration files. They are in the cxf*.jar's META-INF/cxf/ directory and not in the WEB-INF directory. Since your server configuration file has the bus defintions , when the CXFSerlvet load the bus , it will not load the defualt bus and core components (which is in the META-INF/cxf/cxf.xml), and soap component (which is in META-INF/cxf/cxf-extension-soap.xml). That is the cause of the NPE. Willem. -Original Message- From: Tophebboy [mailto:[EMAIL PROTECTED] Sent: 12/18/2007 (星期二) 21:04 To: cxf-user@incubator.apache.org Subject: RE: SOAP flow Compression? Thanks for your answer! I only have a cxf-servlet.xml and a server.xml in the WEB-INF directory. What should I put un cxf.xml and in cxf-servlet.xml? Where could I find examples for those files? Thanks a lot! Willem2 wrote: Please add the below lines at the head of your server.xml import resource=classpath:META-INF/cxf/cxf.xml/ import resource=classpath:META-INF/cxf/cxf-extension-soap.xml/ import resource=classpath:META-INF/cxf/cxf-servlet.xml/ So you can get the enough componets to publish the services. You can find more information here [1] [1]http://cwiki.apache.org/CXF20DOC/servlet-transport.html Willem. -Original Message- From: Tophebboy [mailto:[EMAIL PROTECTED] Sent: 12/18/2007 18:32 To: cxf-user@incubator.apache.org Subject: Re: SOAP flow Compression? Hi! Here is my web.xml content: == ?xml version=1.0 encoding=UTF-8? !DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN http://java.sun.com/dtd/web-app_2_3.dtd; web-app display-namecxf/display-name descriptioncxf/description context-param param-namecontextConfigLocation/param-name param-valueWEB-INF/server.xml/param-value /context-param listener listener-class org.springframework.web.context.ContextLoaderListener /listener-class /listener servlet servlet-namecxf/servlet-name display-namecxf/display-name descriptionApache CXF Endpoint/description servlet-class org.apache.cxf.transport.servlet.CXFServlet /servlet-class load-on-startup1/load-on-startup /servlet servlet-mapping servlet-namecxf/servlet-name url-pattern/services/*/url-pattern /servlet-mapping session-config session-timeout60/session-timeout /session-config /web-app == And my server.xml content: == beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/core; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd; bean id=GZIPStream class=com.structis.edoc.services.utils.interceptors.StreamInterceptor / !-- We are adding the interceptors to the bus as we will have only one endpoint/service/bus. -- cxf:bus cxf:inInterceptors list ref bean=GZIPStream/ /list /cxf:inInterceptors cxf:outInterceptors list ref bean=GZIPStream/ /list /cxf:outInterceptors /cxf:bus /beans == Thanks a lot! Chris Willem2 wrote: Hi, Can I see your bus configuration file ? The NPE is caused by you do not set the bus rightly. I just checked the code , you may not include the right bus. Willem. Tophebboy wrote: On top of that, on the server side, launching Tomcat now gives me 2 errors: 17 déc. 2007 14:45:35 org.apache.cxf.transport.servlet.CXFServlet loadSpringBus INFO: load the bus with application context 14:45:35,482 ERROR [main] org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/EDocRequest] - StandardWrapper.Throwable java.lang.NullPointerException at org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:162) at org.apache.cxf.transport.servlet.CXFServlet.init(CXFServlet.java:98) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) at
RE: org.apache.cxf.endpoint.Client usage
Hi Davide, You can do it by adding the interceptors with the below codes JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.getInInterceptors().add(youInInterceptor); factory.getOutInterceptors().add(youOutInterceptor); Willem. -Original Message- From: Davide Gesino [mailto:[EMAIL PROTECTED] Sent: Wed 12/12/2007 21:06 To: cxf-user@incubator.apache.org Subject: org.apache.cxf.endpoint.Client usage I am trying to add client interceptors programmatically and need some help to user the Client interface. here is the snippet of code: // WITHOUT DYNAMIC CLIENT ConfigurationService service = new ConfigurationService(); //SERVICE ManagedElementMgr mgr = service.getManagedElementMgrHttp(); // PORT HolderHeaderT holder = new HolderHeaderT(); //PARAM 1 GetAllManagedElementsResponseT response = mgr.getAllManagedElements(holder, new GetAllManagedElementsT()); // WS CALL //WITH DYNAMIC CLIENT JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setServiceClass(ManagedElementMgr.class); factory.setAddress(http://localhost:8080/mtosi/v1/ManagedElementMgr;); Client client = ClientProxy.getClient(factory.create()); IteratorClientInterceptor inter = new IteratorClientInterceptor(); // ADD MY ITERCEPTOR client.what? I don't know how to invoke the client. I havev tried: client.invoke(getAllManagedElements,holder,new GetAllManagedElements()); but I get an exception: org.apache.cxf.interceptor.Fault: Message part {tmf854.v1}header was not recognized. at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:179) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73) at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:256) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170) at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Unknown Source) WHATAM I MISSING?? -- View this message in context: http://www.nabble.com/org.apache.cxf.endpoint.Client-usage-tp14294775p14294775.html Sent from the cxf-user mailing list archive at Nabble.com.
RE: org.apache.cxf.endpoint.Client usage
Hi Davide, I have no idea about it now. Maybe you open CXF logger Interceptor to look into the on wire message. [1]http://cwiki.apache.org/CXF20DOC/debugging.html Willem. -Original Message- From: Davide Gesino [mailto:[EMAIL PROTECTED] Sent: Wed 12/12/2007 21:28 To: cxf-user@incubator.apache.org Subject: RE: org.apache.cxf.endpoint.Client usage Hi Willem, my question was not crystal clear... sorry. my problem is on how to invoke the method. using client.invoke(getAllManagedElements,holder,new GetAllManagedElements()); Calling it through the Service concrete implementation generated by wsdl2java works fine. I get the exception shown below. Is the service invoked correctly? Willem2 wrote: Hi Davide, You can do it by adding the interceptors with the below codes JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.getInInterceptors().add(youInInterceptor); factory.getOutInterceptors().add(youOutInterceptor); Willem. -Original Message- From: Davide Gesino [mailto:[EMAIL PROTECTED] Sent: Wed 12/12/2007 21:06 To: cxf-user@incubator.apache.org Subject: org.apache.cxf.endpoint.Client usage I am trying to add client interceptors programmatically and need some help to user the Client interface. here is the snippet of code: // WITHOUT DYNAMIC CLIENT ConfigurationService service = new ConfigurationService(); //SERVICE ManagedElementMgr mgr = service.getManagedElementMgrHttp(); // PORT HolderHeaderT holder = new HolderHeaderT(); //PARAM 1 GetAllManagedElementsResponseT response = mgr.getAllManagedElements(holder, new GetAllManagedElementsT()); // WS CALL //WITH DYNAMIC CLIENT JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setServiceClass(ManagedElementMgr.class); factory.setAddress(http://localhost:8080/mtosi/v1/ManagedElementMgr;); Client client = ClientProxy.getClient(factory.create()); IteratorClientInterceptor inter = new IteratorClientInterceptor(); // ADD MY ITERCEPTOR client.what? I don't know how to invoke the client. I havev tried: client.invoke(getAllManagedElements,holder,new GetAllManagedElements()); but I get an exception: org.apache.cxf.interceptor.Fault: Message part {tmf854.v1}header was not recognized. at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:179) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73) at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:256) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170) at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Unknown Source) WHATAM I MISSING?? -- View this message in context: http://www.nabble.com/org.apache.cxf.endpoint.Client-usage-tp14294775p14294775.html Sent from the cxf-user mailing list archive at Nabble.com. -- View this message in context: http://www.nabble.com/org.apache.cxf.endpoint.Client-usage-tp14294775p14295105.html Sent from the cxf-user mailing list archive at Nabble.com.
RE: Annotations
Hi, You can take a look at this doc[1] which is useful for working on the JAXB2 annotation. [1]http://www.caucho.com/resin-3.1/doc/jaxb-annotations.xtp Willem. -Original Message- From: Thorsten Kraus [mailto:[EMAIL PROTECTED] Sent: Sun 12/2/2007 1:48 To: cxf-user@incubator.apache.org Subject: Annotations Hello, I have a method which has a custom bean object in its signature. This method should be accessable via SOAP. I want to mark some attributes of this bean object as required and some other attributes I don't want to include in the request -- these attributes should not exist in the generated WSDL. Can someone tell me how I can annotate this attributes that the needed behaviour is generated? Regards, TMK
RE: Problems with CXF and Spring DM
Hi Jonny, Which CXF version are you using? Please try the latest CXF release version 2.0.3. Since we don't test CXF with Spring 2.5 M1, please let us know if there is anything wrong when you run the code. Willem. -Original Message- From: Jonny Coombes [mailto:[EMAIL PROTECTED] Sent: Wed 11/21/2007 18:30 To: cxf-user@incubator.apache.org Subject: Problems with CXF and Spring DM Hi all, I'm currently playing around with some OSGi-based code, using Spring DM 1.0 M3. One of the services that I'm developing is a dynamic web-service publication service which I was initially hoping to construct using CXF under the covers. Whilst attempting to get this work - I managed to get a heap of errors relating to XSD schema validation which I eventually traced back to the version of Spring that CXF uses internally in order to work. (I think it uses 2.0?) Because in my OSGi ecosystem I've deployed bundles for Spring 2.5 (which works real nice with Spring DM) I couldn't get to a configuration where all of Spring 2.5 + CXF + Spring DM were happy to co-exist with one another. Has anyone else done something similar - and is there is hard dependency between CXF and earlier versions of the Spring framework? At the moment, I've reverted to using XFire 1.2.6 (so similar but not related) but ideally would really like to get this all working via CXF as soon as possible. If anyone could comment/offer some advice/thoughts that would much appreciated. Cheers JC
RE: Difference between cxf.xml and cxf-servlet.xml?
Hi Glen, You can find some examples in the servlet systest[1]. [1]https://svn.apache.org/repos/asf/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet Willem. -Original Message- From: Glen Mazza [mailto:[EMAIL PROTECTED] Sent: Fri 11/16/2007 10:32 To: cxf-user@incubator.apache.org Subject: RE: Difference between cxf.xml and cxf-servlet.xml? Do we have a sample anywhere of the syntax of this--specifying the Spring app context in the XML, and what such a config file would look like? Thanks, Glen Am Donnerstag, den 15.11.2007, 11:12 -0500 schrieb Jiang, Ning (Willem): If you specify the Spring application context in your web.xml file. You do not need to touch any of cxf.xml and cxf-servlet.xml. I admit that CXF provides lots of configuration here. Willem. -Original Message- From: Randy Burgess [mailto:[EMAIL PROTECTED] Sent: Thu 11/15/2007 21:52 To: cxf-user@incubator.apache.org Subject: Re: Difference between cxf.xml and cxf-servlet.xml? I don't even use either file and my services work without any issues. I use applicationContext*.xml files since I was using Spring before CXF and didn't see the point in creating either. Regards, Randy Burgess Web Applications Developer Nuvox Communications From: Jean-François Daune [EMAIL PROTECTED] Reply-To: cxf-user@incubator.apache.org cxf-user@incubator.apache.org Date: Thu, 15 Nov 2007 08:23:02 +0100 To: cxf-user@incubator.apache.org Conversation: Difference between cxf.xml and cxf-servlet.xml? Subject: RE: Difference between cxf.xml and cxf-servlet.xml? +1 to reduce, and make it clearer. CXF really rocks, but configuration is IMHO a weak point. J-F -Message d'origine- De : James Mao [mailto:[EMAIL PROTECTED] Envoyé : jeudi 15 novembre 2007 7:56 À : cxf-user@incubator.apache.org Objet : Re: Difference between cxf.xml and cxf-servlet.xml? Glen, I would say +1 to reduce the number of configuration files, James Hello, I'm getting confused over the server-side configuration files for CXF. When deploying a web service in a WAR file, what is the difference between the cxf.xml config file and the cxf-servlet.xml config file? I know the former needs to be on the classpath, and the latter is kept directly under the WEB-INF folder--but what is the difference in those two files' contents or purpose? Or, is there really no cxf.xml for the service, that cxf.xml is only to be packaged with the client? I.e., can everything that is specified in the cxf.xml actually be specifiable in the cxf-servlet instead, eliminating the need for both files? Thanks, Glen This email and any attachments (Message) may contain legally privileged and/or confidential information. If you are not the addressee, or if this Message has been addressed to you in error, you are not authorized to read, copy, or distribute it, and we ask that you please delete it (including all copies) and notify the sender by return email. Delivery of this Message to any person other than the intended recipient(s) shall not be deemed a waiver of confidentiality and/or a privilege.
RE: Monitoring CXF Webservices
In theory, if your server and consoler are in the same JVM you do not need to start a RMI server. But I don't think current CXF instrument manager provide this kind of feature. Anyway, you can fill a JIRA to add your wishes. Willem. -Original Message- From: Vespa, Anthony J [mailto:[EMAIL PROTECTED] Sent: Thu 11/15/2007 1:11 To: cxf-user@incubator.apache.org; Jiang, Ning (Willem) Subject: RE: Monitoring CXF Webservices Actually I have one last issue...is it possible to not set this up as a server implememntation but to access it like the other java MX beans? Eg can I do something like: ThreadMXBean tMxBean = ManagementFactory.getThreadMXBean(); tMxBean.getTotalStartedThreadCount(); I'd rather not start up an RMI instance. When I do, I can't seem to stop tomcat anymore - it just hangs when I try to shut down. Any help is appreciated. -Tony -Original Message- From: Vespa, Anthony J Sent: Monday, November 12, 2007 12:28 PM To: cxf-user@incubator.apache.org Subject: RE: Monitoring CXF Webservices Thank you for these examples but I am not 100% on a couple things - do I need to set up an RMI server as below explicitly? Also when I try to convert the command line to a servlet, it doesn't seem to find the URL...from what you sent it looks like that the ports in both examples (config and code) should match? -Original Message- From: Willem Jiang [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 10:28 AM To: cxf-user@incubator.apache.org Subject: Re: Monitoring CXF Webservices FYI You can get the published service name, port name and some performance metric data from JMX. Currently there is no sample or doc which talk about it . You can hack the console code[1] to find some information to write your own console. And you can find the configuration which could enable the JMX support on the server side here[2]. [1]https://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/management/sr c/main/java/org/apache/cxf/management/utils/ManagementConsole.java [2]https://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/management/sr c/test/resources/managed-spring.xml Willem. Vespa, Anthony J wrote: That's generally what I'm looking at, I am wondering if there are examples or good patterns of use? -Original Message- From: Adrian C [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 9:17 AM To: cxf-user@incubator.apache.org Subject: Re: Monitoring CXF Webservices Could you use MBeans i.e. JMX? Vespa, Anthony J wrote: Hello, I am doing some planning for production deployment of the web services I am developing and am wondering about the best way to implement heart beats / diagnostics for the services themselves. Is there a way to trivially enumurate through the services, display basic info (basic config info, name etc) and do some trivial test besides just returning the whole WSDL or writing an additional function? Was just wondering if there was something baked in. I would envison this as something that would run in the same tomcat instance (like a another servlet) that I would access through an admin console I write. Thanks for any help! -Tony
RE: when are interceptor chains created?
Hi Glen, I think the interceptor chains are sorted by the message flow's direction. One is for incoming message , it could be the response message in client and the request message in server; the other is outgoing message which could be the request message in client and response message in server. Willem. -Original Message- From: Glen Mazza [mailto:[EMAIL PROTECTED] Sent: Wed 11/14/2007 8:42 To: cxf-user@incubator.apache.org Subject: when are interceptor chains created? Hello, I'm slightly confused on when interceptor chains[1] are created. The text gives sections on On the incoming chains, you'll have the following phases and On the outgoing chain there are the following phases, but I'm unsure what incoming and outgoing refer to. Is it: 1.) Only with respect to the client (outgoing chain = SOAP request, incoming chain = SOAP Response, for a total of two chains per request/response). 2.) Only with respect to the server (incoming = SOAP request, outgoing = SOAP Response, for a total of two chains per request/response). 3.) Two sets of chains, one set each for client's perspective and from the server's: (four chains total) Thanks, Glen [1] http://cwiki.apache.org/CXF20DOC/interceptors.html
RE: Monitoring CXF Webservices
NO , you do not need to start up the RMI Server explicitly. Oh, the config file's URI is not match with the code (ManagementConsole.java). So you need to make sure the jmx server and client's URL are same. Willem. -Original Message- From: Vespa, Anthony J [mailto:[EMAIL PROTECTED] Sent: Tue 11/13/2007 1:28 To: cxf-user@incubator.apache.org Subject: RE: Monitoring CXF Webservices Thank you for these examples but I am not 100% on a couple things - do I need to set up an RMI server as below explicitly? Also when I try to convert the command line to a servlet, it doesn't seem to find the URL...from what you sent it looks like that the ports in both examples (config and code) should match? -Original Message- From: Willem Jiang [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 10:28 AM To: cxf-user@incubator.apache.org Subject: Re: Monitoring CXF Webservices FYI You can get the published service name, port name and some performance metric data from JMX. Currently there is no sample or doc which talk about it . You can hack the console code[1] to find some information to write your own console. And you can find the configuration which could enable the JMX support on the server side here[2]. [1]https://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/utils/ManagementConsole.java [2]https://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/management/src/test/resources/managed-spring.xml Willem. Vespa, Anthony J wrote: That's generally what I'm looking at, I am wondering if there are examples or good patterns of use? -Original Message- From: Adrian C [mailto:[EMAIL PROTECTED] Sent: Friday, November 09, 2007 9:17 AM To: cxf-user@incubator.apache.org Subject: Re: Monitoring CXF Webservices Could you use MBeans i.e. JMX? Vespa, Anthony J wrote: Hello, I am doing some planning for production deployment of the web services I am developing and am wondering about the best way to implement heart beats / diagnostics for the services themselves. Is there a way to trivially enumurate through the services, display basic info (basic config info, name etc) and do some trivial test besides just returning the whole WSDL or writing an additional function? Was just wondering if there was something baked in. I would envison this as something that would run in the same tomcat instance (like a another servlet) that I would access through an admin console I write. Thanks for any help! -Tony
Say hi from ApacheCon
Hi, I am in Westin Peachtree Plaza and looking forward to having the f2f talk with you :) Willem
RE: Bus has no BindingFactoryManager extension in AbstractBindingFactory.registerWithBindingManager
Hi Tom, I found Dan Klup's merging email to CXF2.0.x in cxf-commits mail list. The patch of CXF-1060 should be also in CXF2.0.x branch now. Please feel free to try the CXF 2.0.3 which is still been voting. Willem. -Original Message- From: Tom Davies [mailto:[EMAIL PROTECTED] Sent: Wed 11/7/2007 7:46 To: cxf-user@incubator.apache.org Subject: Re: Bus has no BindingFactoryManager extension in AbstractBindingFactory.registerWithBindingManager On 07/11/2007, at 1:18 AM, Willem Jiang wrote: Hi Tom, Can you try your application with the Spring 2.0.6? We did not develop and test CXF with Spring 2.5-rc1. Thanks Willem. In fact I was using 2.1-m4, not 2.5-rc1, my mistake. I have other dependencies on Spring 2.5, so I would like to try to use it. When I use 2.5-rc1 I encounter CXF-1060. (or at least, a problem with the same symptoms). Should I expect CXF-1060 to be fixed in apache- cxf-2.0.3-incubator-20071102.144221-7? It is marked as fixed in 2.0.3 (https://issues.apache.org/jira/browse/CXF-1060 ) but the commit is on trunk (http://svn.apache.org/viewvc?view=revrevision=581341 ) not the 2.0.x-fixes branch. Thanks, Tom
RE: CXF First Time User Questions
Hi Please see my comments in the mail. -Original Message- From: Asleson, Ryan [mailto:[EMAIL PROTECTED] Sent: Wed 10/24/2007 21:38 To: cxf-user@incubator.apache.org Subject: CXF First Time User Questions Hello, I'm a first time user of CXF. I've used other web service tools in the past and am now looking at using CXF. I have a series of questions that I hope somebody can answer for me: 1. I used the WSDL2Java tool to generate a web service client from a WSDL. I noticed that none of the generated code contains the web service endpoint URL. Where does this come from? Am I supposed to supply it programmatically at runtime? If so, how? Willem For the server side , you can specify the endpoint publish by using the JAXWS API's Endpoint.publish or by ServerFactoryBean's setAddress method. WillemFor the client side , it mainly come from the WSDL and you can also changed it by using the ProxyFactoryBean's setAddress method. WillemYou can find more information about the client side setting here[1] [1]http://www.nabble.com/Client-question-tf4357978.html#a12419843 2. Related to #1, is there a way to define, programmatically, the web service endpoint URL? We are a web service consumer, but the web service provider has a testing and a production environment. I need to be able to specify, at runtime, the endpoint to use, rather than having to specify it at compile time. Like many organizations, we promote code through various testing environments to a production environment, and I'd hate to have to specify a web service endpoint URL at compile time. Willem I think I already give you the answer. 3. Is there a way, programmatically, to specify a proxy server and proxy port? Our environment does not use the standard http.proxyHost and http.proxyPort system variables (don't ask me why) so I need a way to programmatically set the proxy server and proxy port for a web service client. Willem You can specify it in the configuration file [2] [2]http://cwiki.apache.org/CXF20DOC/client-http-transport.html 4. Is there any way that WSDL2Java can generate Java 1.4 compliant code? I see the output of WSDL2Java uses annotations. Unfortunately we're not yet on Java 1.5 (it should be happening soon) but the reality is that we're currently still on 1.4. Do I have any options here or do I have to use another tool? Willem No, CXF do not support JDK1.4, our work is based on the JAXWS API which heavily uses the JDK 1.5's annotations. Willem. Thank you!!! -Ryan This e-mail message is being sent solely for use by the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by phone or reply by e-mail, delete the original message and destroy all copies. Thank you.
RE: Process doesn't die when I configure handlers in spring
Hi Benson, I checked the changes log, the fixing of the jetty engine shutting down did not catch up the 2.0.2 release. So you need to try it in the 2.0.3 SNAPSHOT. Willem. -Original Message- From: Benson Margulies [mailto:[EMAIL PROTECTED] Sent: Sun 10/14/2007 1:12 To: cxf-user@incubator.apache.org Subject: Process doesn't die when I configure handlers in spring Willem may have already fixed this. Consider this (which wouldn't be a bad example for the doc): It adds a log, a webapp, and some static content to the server. All is well, except that the process seems never to exit. Is this just 'fixed in 2.0.3'? ?xml version=1.0 encoding=UTF-8? beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:sec=http://cxf.apache.org/configuration/security; xmlns:http=http://cxf.apache.org/transports/http/configuration; xmlns:httpj=http://cxf.apache.org/transports/http-jetty/configuration; xmlns:jaxws=http://java.sun.com/xml/ns/jaxws; xsi:schemaLocation=http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://cxf.apache.org/transports/http-jetty/configuration http://cxf.apache.org/schemas/configuration/http-jetty.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd; httpj:engine-factory bus=cxf httpj:engine port=8808 httpj:handlers bean class=org.mortbay.jetty.handler.RequestLogHandler property name=requestLog bean class=org.mortbay.jetty.NCSARequestLog property name=filename value=jetty.log/ /bean /property /bean bean class=org.mortbay.jetty.webapp.WebAppContext constructor-arg value=${jsunitPathname}/ constructor-arg value=/jsunit/ /bean bean class=org.mortbay.jetty.handler.ContextHandler property name=contextPath value=/${staticResourceBase} / property name=handler bean class=org.mortbay.jetty.handler.ResourceHandler property name=baseResource bean class=org.mortbay.resource.FileResource constructor-arg value=${staticResourceURL} / /bean /property /bean /property /bean /httpj:handlers /httpj:engine /httpj:engine-factory /beans
RE: Error deploying CXF 2.0.2 to WebSphere 6.1.0.5
Hi Jeff, I do not think the servlet2.5 API is the cause of the error. If I remembered right, you told me that you had tried to remove the servlet2.5 API from the war's lib and it was workable. Form the stack trace, it looks like the exception is thrown by calling the WSDL4J extension. Maybe you can try to put the WSDL4J jar in the endorse directory. Willem. -Original Message- From: Jeff Yu [mailto:[EMAIL PROTECTED] Sent: Fri 10/12/2007 18:33 To: cxf-user@incubator.apache.org Subject: Re: Error deploying CXF 2.0.2 to WebSphere 6.1.0.5 Hi Well, tried it again today, but without success, now I got exception as following: I thought it might be caused by the servlet, as we are using the servlet-2.5, but the websphere6.1 supports servlet-2.4, I put the servlet in the endorsed folder, but still got the same error, I also find this JIRA [1], I have deployed the cxf-2.0M1 HelloWorld sample into the websphere6.1 successfully, but then from the 2.0RC, it failed. Anyone else got it work, or what error it might be? PS: I've already set the parent-last classloader in the websphere. Thanks Jeff [1] https://issues.apache.org/jira/browse/CXF-714 [10/12/07 18:21:12:614 CST] 0044 ServletWrappe E SRVE0100E: Did not realize init() exception thrown by servlet cxf: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hello_world_xml_bare': Invocation of init method failed; nested exception is java.lang.IncompatibleClassChangeError Caused by: java.lang.IncompatibleClassChangeError at org.apache.cxf.wsdl11.WSDLServiceBuilder.copyExtensionAttributes(WSDLServiceBuilder.java:123) at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:233) at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:159) at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:117) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:188) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:244) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:135) at org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:82) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:84) at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:280) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:178) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:361) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1214) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1179) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1145) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:279) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:360) at org.apache.cxf.transport.servlet.CXFServlet.loadAdditionalConfig(CXFServlet.java:186) at org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:156) at org.apache.cxf.transport.servlet.CXFServlet.init(CXFServlet.java:95) at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:185) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java:316) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:341) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463) at
RE: spring logging mystery
Hi Benson I just tested the web.xml with the Log4jConfigListener and ContextLoaderListener , they are workable :) you need to specify the listeners like this: listener listener-class org.springframework.web.util.Log4jConfigListener /listener-class /listener listener listener-class org.springframework.web.context.ContextLoaderListener /listener-class /listener Willem. -Original Message- From: Benson Margulies [mailto:[EMAIL PROTECTED] Sent: Fri 10/5/2007 21:13 To: cxf-user@incubator.apache.org Subject: spring logging mystery Here is concrete evidence of the Log4jConfigListener having disasterous effects on CXF. The variable is the comments in the following web.xml fragment. listener !-- listener-classorg.springframework.web.util.Log4jConfigListener/listen er-class -- listener-classorg.springframework.web.context.ContextLoaderListener/l istener-class /listener With org.springframework.web.util.Log4jConfigListener: jetty.run: [jetty] Configuring Jetty for project: RLPWS [jetty] 2007-10-05 09:08:01.230::INFO: Logging to STDERR via org.mortbay.log.StdErrLog [jetty] [jetty] Configuring Jetty for web application: rlpws [jetty] Webapp source directory = c:\x\rlp54\rlpws\cxfwebapp\development [jetty] Context path = /rlpws [jetty] Classpath = [] [jetty] Default scanned paths = [] [jetty] Extra scan targets = [] [jetty] Temp directory = c:\x\rlp54\rlpws\cxfwebapp\jetty-temp\rlpws [jetty] web.xml file = c:\x\rlp54\rlpws\cxfwebapp\development\WEB-INF\web.xml [jetty] 2007-10-05 09:08:01.512::INFO: jetty-6.1.3 [jetty] 2007-10-05 09:08:04.840::INFO: No Transaction manager found - if your webapp requires one, please configure one. [jetty] 2007-10-05 09:08:09.746:rlpws:INFO: Set web app root system property: 'webapp.root' = [C:\x\rlp54\rlpws\cxfwebapp\development\] [jetty] 2007-10-05 09:08:09.746:rlpws:INFO: Initializing Log4J from [classpath:rlpws-log4j.properties] [jetty] Oct 5, 2007 9:08:10 AM org.apache.cxf.transport.servlet.CXFServlet loadSpringBus [jetty] INFO: load the bus without application context [jetty] Oct 5, 2007 9:08:12 AM org.apache.cxf.transport.servlet.CXFServlet replaceDestinationFactory [jetty] INFO: replaced the http destionFactory with servlet transport factory [jetty] 2007-10-05 09:08:13.090::INFO: Started SelectChannelConnector @ 0.0.0.0:8080 [jetty] Oct 5, 2007 9:08:28 AM org.apache.cxf.transport.servlet.ServletController invoke [jetty] WARNING: Can't find the the request for http://localhost:8080/rlpws/NameIndex's Observer Without: jetty.run: [jetty] Configuring Jetty for project: RLPWS [jetty] 2007-10-05 09:09:22.590::INFO: Logging to STDERR via org.mortbay.log.StdErrLog [jetty] [jetty] Configuring Jetty for web application: rlpws [jetty] Webapp source directory = c:\x\rlp54\rlpws\cxfwebapp\development [jetty] Context path = /rlpws [jetty] Classpath = [] [jetty] Default scanned paths = [] [jetty] Extra scan targets = [] [jetty] Temp directory = c:\x\rlp54\rlpws\cxfwebapp\jetty-temp\rlpws [jetty] web.xml file = c:\x\rlp54\rlpws\cxfwebapp\development\WEB-INF\web.xml [jetty] 2007-10-05 09:09:22.683::INFO: jetty-6.1.3 [jetty] 2007-10-05 09:09:22.887::INFO: No Transaction manager found - if your webapp requires one, please configure one. [jetty] 2007-10-05 09:09:23.277:rlpws:INFO: Initializing Spring root WebApplicationContext [jetty] log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). [jetty] log4j:WARN Please initialize the log4j system properly. [jetty] Oct 5, 2007 9:09:26 AM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass [jetty] INFO: Creating Service {http://impl.ws.index.rnm.basistech.com/}NameIndexServiceImplService from class com.basistech.rnm.index.ws.impl.NameIndexServiceImpl [jetty] Oct 5, 2007 9:09:27 AM org.apache.cxf.transport.servlet.CXFServlet loadSpringBus [jetty] INFO: load the bus with application context [jetty] Oct 5, 2007 9:09:27 AM org.apache.cxf.transport.servlet.CXFServlet replaceDestinationFactory [jetty] INFO: servlet transport factory already registered [jetty] 2007-10-05 09:09:27.668::INFO: Started SelectChannelConnector @ 0.0.0.0:8080
RE: Spring 1.2.7 beans configuration problems, XFire - CXF migration.
Hi I think you need upgrade the Spring version to 2.0. CXF internal components configuration is aready the Spring 2.0 formate. BTW, if you do not use the servlet transport , you can use the CXFBusFactory instead of SpringBusFactory. Here[1] are some discussion about it. [1]http://www.nabble.com/CXF-without-Spring--tf4470086.html#a12745335 Willem. -Original Message- From: volume [mailto:[EMAIL PROTECTED] Sent: Thu 9/27/2007 20:32 To: cxf-user@incubator.apache.org Subject: Re: Spring 1.2.7 beans configuration problems, XFire - CXF migration. Hi Jeff, When trying the following ?xml version=1.0 encoding=UTF-8? !DOCTYPE beans PUBLIC -//SPRING//DTD BEAN//EN http://www.springframework.org/dtd/spring-beans.dtd; beans import resource=/cxf/cxf.xml / import resource=/cxf/cxf-extension-soap.xml / import resource=/cxf/cxf-servlet.xml / bean class=uk.ltd.singles.datingengine.remoting.http.TestServiceImpl /bean /beans then exception occurs while parsing imported resources - 15:15:53,703 [ERROR] [org.springframework.web.context.ContextLoader] - Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Line 26 in XML document from ServletContext resource [/WEB-INF/cxf/cxf.xml] is invalid; nested exception is org.xml.sax.SAXParseException: Attribute xmlns must be declared for element type beans. org.xml.sax.SAXParseException: Attribute xmlns must be declared for element type beans. and the problem remains. Jeff.Yu wrote: Hi, AFAIK, You can not use the xml config extension jaxws:endpoint... tag by using spring 1.x version. You need to translate it to the traditional xml config bean ... /bean I haven't tried it, but you can give it a shot this way. Thanks Jeff volume wrote: Hi, all! Now I'm trying to migrate from XFire 1.1.2 to CXF 2.0.2. All is under Spring 1.2.7, app-server Tomcat 5.5.14, Java - 1.5.0_09-b03 .. So, the questions are: 1) Is it possible to configure CFX with Spring less than 2.0 ? 2) Noticeable errors in code? Any help would be appreciated, thanks. -- View this message in context: http://www.nabble.com/Spring-1.2.7-%22beans%22-configuration-problems%2C-XFire--%3E-CXF-migration.-tf4527535.html#a12920280 Sent from the cxf-user mailing list archive at Nabble.com.
RE: cannot reach webservice (SimplefrontEnd related ?)
Hi, You need to set the factory with the address that you got from the wsdl (http://localhost:8080/Service?wsdl). It must be something like this http://localhost:8080/Service/***; Willem. -Original Message- From: Valerio Schiavoni [mailto:[EMAIL PROTECTED] Sent: Sat 9/22/2007 0:07 To: cxf-user@incubator.apache.org Subject: Re: cannot reach webservice (SimplefrontEnd related ?) A little update, to enforce that the web-service is actually uprunning. I wrote this simple groovy-based ws-client: import groovy.net.soap.SoapClient def proxy = new SoapClient(http://localhost:8080/Service?wsdl;) result = proxy.printAndAnswer() print(result) and everything goes pretty well.. On 9/21/07, Valerio Schiavoni [EMAIL PROTECTED] wrote: Hello everyone, i'm a newbie of CXF and webservices in general, so sorry if my question is somehow dumb. I create a webservice using the SimpleFrontEnd. Once wsServerFactoryBean.create() method is invoked, the corresponding wsdl is made available at the expected address. Also, i see this output : 21-set-2007 13.42.55 org.springframework.context.support.AbstractApplicationContext refresh INFO: Refreshing [EMAIL PROTECTED]: display name [EMAIL PROTECTED]; startup date [Fri Sep 21 13:42:55 CEST 2007]; root of context hierarchy 21-set-2007 13.42.55 org.apache.cxf.bus.spring.BusApplicationContext getConfigResources INFO: Could not find the configuration file cxf.xml on the classpath. 21-set-2007 13.42.55 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf.xml] 21-set-2007 13.42.55 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-soap.xml] 21-set-2007 13.42.55 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-xml.xml] 21-set-2007 13.42.56 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-http-jetty.xml] 21-set-2007 13.42.56 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-http.xml] 21-set-2007 13.42.56 org.springframework.context.support.AbstractApplicationContext refresh INFO: Bean factory for application context [EMAIL PROTECTED]: [EMAIL PROTECTED] 21-set-2007 13.42.56 org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker postProcessAfterInitialization INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 21-set-2007 13.42.56 org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker postProcessAfterInitialization INFO: Bean 'cxf' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 21-set-2007 13.42.56 org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker postProcessAfterInitialization INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 21-set-2007 13.42.56 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in [EMAIL PROTECTED]: defining beans [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder]; root of factory hierarchy 21-set-2007 13.42.57
RE: JUnit test with local transport failing to find hibernate session
Hi , I don't know if it relates to the http header staff(it is the major different between the http transport and local transport. I did not write any code about DAO, so may be I am wrong. Could you send me the stake trace or the work space. May be I can debug it to find out the real reason. Willem. -Original Message- From: Gilles Durys [mailto:[EMAIL PROTECTED] Sent: Wed 9/19/2007 21:16 To: cxf-user@incubator.apache.org Subject: JUnit test with local transport failing to find hibernate session Hi, I developed a web service in a cxf-spring-hibernat environment. It runs in Tomcat fine. I also wrote some Junit tests that use the same web service with a local transport. Within these tests, the DAOs fail to find an Hibernate session. Has anyone a lead on why this fail? Thanks, -- Gilles Durys
RE: HTTPS Server
Hi You can find the exmple with the https transport in the CXF bin kit's ${CXF_HOME}/samples/hello_world_https directory. You need set the http:tlsClientParameters to let CXF init the https connection for your. You can take the WibbleClient.cxf as an example. Willem. -Original Message- From: Julio Arias [mailto:[EMAIL PROTECTED] Sent: Sat 8/11/2007 7:16 To: cxf-user@incubator.apache.org Subject: HTTPS Server Hi, I have a web app that has cxf web services, in our local env everything works fine but we just move to QA and the QA server is behind HTTPS and now the client throws an exception. I was looking into the http-conduit config but I don't quite get it (the conf goes in the client side or the server side), can some one send and simple example. The exception is: Caused by: org.apache.cxf.interceptor.Fault: Could not send Message. at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage (MessageSenderInterceptor.java:48) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept (PhaseInterceptorChain.java:207) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java: 254) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java: 205) at org.apache.cxf.frontend.ClientProxy.invokeSync (ClientProxy.java:73) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke (JaxWsClientProxy.java:135) ... 45 more Caused by: java.io.IOException: Illegal Protocol https for HTTP URLConnection Factory. at org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConnect ion(HttpURLConnectionFactoryImpl.java:44) at org.apache.cxf.transport.http.HTTPConduit.prepare (HTTPConduit.java:473) at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage (MessageSenderInterceptor.java:46) ... 50 more Thanks. Julio Arias Java Developer Roundbox Global : enterprise : technology : genius - Avenida 11 y Calle 7-9, Barrio Amón, San Jose, Costa Rica tel: 404.567.5000 ext. 2001 | cell: 11.506.849.5981 email: [EMAIL PROTECTED] | www.rbxglobal.com -
RE: Getting the source request
Hi, You can get the request from the inMessage HttpServletRequest req = inMessage.get(AbstractHTTPDestination.HTTP_REQUEST); HttpServletResponse resp = inMessage.get(AbstractHTTPDestination.HTTP_RESPONSE); If you could get the inMessage from the exchange in you application code. Willem. -Original Message- From: Christian Vest Hansen [mailto:[EMAIL PROTECTED] Sent: Tue 8/7/2007 20:36 To: cxf-user@incubator.apache.org Subject: Getting the source request Hi! In XFire, you could do this funky trick to get a hold of the source request for a service invocation: HttpServletRequest req = XFireServletController.getRequest(); I wonder what the CXF counterpart is? -- Venlig hilsen / Kind regards, Christian Vest Hansen.
RE: beginner q: classnotfoundexception using DynamicClientFactory
Hi, I just went through the DynamicClientFactory code, and found your code got class loader a little earlier. When the DynamicClientFactory create the client , it will setup the classpath to load the generated class. You just need to use the thread's ContextClassLoader after the dcf.createClient to load the jaxb class. The codes could be: [code] ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); DynamicClientFactory dcf = DynamicClientFactory.newInstance(); Client client = dcf.createClient(http://www.webservicex.net/CurrencyConvertor.asmx?wsdl;, classLoader); Object rate = Thread.currentThread().getContextClassLoader().loadClass(net.webservicex.ConversionRate).newInstance(); Method m1 = rate.getClass().getMethod(setFromCurrency, String.class); Method m2 = rate.getClass().getMethod(setToCurrency, String.class); m1.invoke(rate, GBP); m2.invoke(rate, USD); Object result = client.invoke(ConversionRate, rate); System.out.println(result= + result); [/code] Willem. -Original Message- From: MartyH [mailto:[EMAIL PROTECTED] Sent: Wed 7/25/2007 20:24 To: cxf-user@incubator.apache.org Subject: beginner q: classnotfoundexception using DynamicClientFactory Hi folks, Having some diffs with the DynamicClientFactory. On following the example like so: [code] ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); DynamicClientFactory dcf = DynamicClientFactory.newInstance(); Client client = dcf.createClient(http://www.webservicex.net/CurrencyConvertor.asmx?wsdl;, classLoader); Object rate = classLoader.loadClass(net.webservicex.ConversionRate).newInstance(); Method m1 = rate.getClass().getMethod(setFromCurrency, String.class); Method m2 = rate.getClass().getMethod(setToCurrency, String.class); m1.invoke(rate, GBP); m2.invoke(rate, USD); Object result = client.invoke(ConversionRate, rate); System.out.println(result= + result); [/code] I get a classnotfoundexception on the loadClass bit to create the object. CXF seems to be creating the necessary objects: [code] 25-Jul-2007 12:10:34 org.apache.cxf.endpoint.dynamic.DynamicClientFactory outputDebug INFO: Created classes: net.webservicex.ConversionRate, net.webservicex.ConversionRateResponse, net.webservicex.Currency, net.webservicex.ObjectFactory [/code] but they don't seem to be available in the classloader. Any thoughts? thanks, Marty -- View this message in context: http://www.nabble.com/beginner-q%3A-classnotfoundexception-using-DynamicClientFactory-tf4141887.html#a11781608 Sent from the cxf-user mailing list archive at Nabble.com.
RE: Could not find destination factory for transport
I got what's you want. I filled a JIRA for it[1]. And You could watch it and try out the snapshots when I close the JIRA. [1]https://issues.apache.org/jira/browse/CXF-821 Willem. -Original Message- From: Diego Xu [mailto:[EMAIL PROTECTED] Sent: Fri 7/20/2007 18:38 To: cxf-user@incubator.apache.org Subject: Re: Could not find destination factory for transport Hi Willem: Thanks alot for ur reply. And definitly u r right. i have tried it out, and it turn's out work fine. you also make the trick more clear, i got that. thks again:) while as u just mentioned: one can not put both server and client in one spring context... that make me come up with a senario that in some cases we need an spring application be both the web service provider and consumer. is your saying meant that there will be problem work this out? well, this 'problem' is not proved by code anyway. but i realy interested about it. Willem Jiang-2 wrote: Hi Diego, I just went through your mail, and found you put the server and client in one spring application context. That is wrong. because they have different context. And I also found that the log should be Could not find conduit initiator for *** There some transport URI conflict between servlet transport and the standalone http transport. We just split them into cxf-extension-http-jetty.xml and cxf-servlet.xml. And there is no http conduit initiatior defined in the servlet transport factory. And in your case , you just put the cxf-servlet.xml in you spring application context, so the client http conduit Initiator will not be found for the client. You need to create the client with another spring application context file likes this: beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:jaxws=http://cxf.apache.org/jaxws; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd; import resource=classpath:META-INF/cxf/cxf.xml / import resource=classpath:META-INF/cxf/cxf-extension-soap.xml / import resource=classpath:META-INF/cxf/cxf-extension-http-jetty.xml / bean id=client class=com.net2com.webservice.HelloWorld factory-bean=clientFactory factory-method=create/ bean id=clientFactory class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean property name=serviceClass value=com.net2com.webservice.HelloWorld/ property name=address value=http://localhost:8080/interface/webservice/HelloWorld/ /bean /beans Cheers, Willem. Diego Xu wrote: Hi: I'm using CXF2.0 release version for my first try of jax-ws, and now got blocked by an error throwed by server. I'm using JDK5.0, Tomcat5.5, Spring2.0.6. here is my HellowWorld interface: - package com.net2com.webservice; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(String text); } and impl: package com.net2com.webservice; import javax.jws.WebService; @WebService(endpointInterface = com.net2com.webservice.HelloWorld) public class HelloWorldImpl implements HelloWorld { public String sayHi(String text) { return Hello + text; } } Spring config: (I put both server and client into one application) --- beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:jaxws=http://cxf.apache.org/jaxws; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd; import resource=classpath:META-INF/cxf/cxf.xml / import resource=classpath:META-INF/cxf/cxf-extension-soap.xml / import resource=classpath:META-INF/cxf/cxf-servlet.xml / ... jaxws:endpoint id=helloWorld implementor=com.net2com.webservice.HelloWorldImpl address=/HelloWorld / bean id=client class=com.net2com.webservice.HelloWorld factory-bean=clientFactory factory-method=create/ bean id=clientFactory class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean property name=serviceClass value=com.net2com.webservice.HelloWorld/ property name=address value=http://localhost:8080/interface/webservice/HelloWorld/ /bean /beans tomcat web.xml web-app ... servlet servlet-nameCXFServlet/servlet-name
RE: Configuring a JSON endpoint via Spring
Hi From your fault message, I think you need add the below line in you spring application context. import resource=classpath:META-INF/cxf/cxf-extension-xml.xml/ Which include the cxf xformat binding for wiring the bus. Willem -Original Message- From: Dale Peakall [mailto:[EMAIL PROTECTED] Sent: Fri 7/20/2007 18:55 To: cxf-user@incubator.apache.org Subject: Configuring a JSON endpoint via Spring I've been trying to add a JSON endpoint to my service by updating the Spring configuration but with no success. The REST based version works just fine, but the JSON version either: returns an empty-page for the Mapped version or returns: {ns1:XMLFault:{@xmlns:{ns1:http:\/\/cxf.apache.org\/bindings\/xformat},ns1:faultstring:{@xmlns:{ns1:http:\/\/cxf.apache.org\/bindings\/xformat},$:java.lang.NullPointerException}}} for the BadgerFish based version. In neither case is the Content-Type header set. Any ideas where I'm going wrong? Here are the relevant excerpts from my spring configuration. import resource=classpath:META-INF/cxf/cxf.xml/ import resource=classpath:META-INF/cxf/cxf-extension-soap.xml/ import resource=classpath:META-INF/cxf/cxf-extension-http-binding.xml/ import resource=classpath:META-INF/cxf/cxf-servlet.xml/ jaxws:endpoint id=catalogRestWS implementor=#catalogService address=/xml/Catalog bindingUri=http://apache.org/cxf/binding/http; jaxws:serviceFactory bean class=org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean property name=wrapped value=true/ /bean /jaxws:serviceFactory /jaxws:endpoint jaxws:endpoint id=catalogJsonWS implementor=#catalogService address=/json/Catalog bindingUri=http://apache.org/cxf/binding/http; jaxws:serviceFactory bean class=org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean property name=wrapped value=false/ property name=properties map entry key=Content-Type value=text/plain/ entry keyvaluejavax.xml.stream.XMLInputFactory/value/key bean class=org.codehaus.jettison.mapped.MappedXMLInputFactory constructor-arg map entry key=http://catalog.epv.oclc.org/; value=catalog/ entry key=http://impl.catalog.epv.oclc.org/; value=catalogimpl/ /map /constructor-arg /bean /entry entry keyvaluejavax.xml.stream.XMLOutputFactory/value/key bean class=org.codehaus.jettison.mapped.MappedXMLOutputFactory constructor-arg map entry key=http://catalog.epv.oclc.org/; value=catalog/ entry key=http://impl.catalog.epv.oclc.org/; value=catalogimpl/ /map /constructor-arg /bean /entry !-- entry keyvaluejavax.xml.stream.XMLInputFactory/value/key bean class=org.codehaus.jettison.badgerfish.BadgerFishXMLInputFactory/ /entry entry keyvaluejavax.xml.stream.XMLOutputFactory/value/key bean class=org.codehaus.jettison.badgerfish.BadgerFishXMLOutputFactory/ /entry -- /map /property /bean /jaxws:serviceFactory /jaxws:endpoint
RE: Specifying port for the example server
Hi Lukas, You just need set the endpoint address with different port, Here are the example, if you publish service with jaxws api: Object implementor = new GreeterImpl(); String address1 = http://localhost:9000/SoapContext/GreeterPort;; Endpoint.publish(address, implementor); String address2 = http://localhost:9001/SoapContext/GreeterPort;; Endpoint.publish(address, implementor); Cheers, Willem -Original Message- From: Lukas Zapletal [mailto:[EMAIL PROTECTED] Sent: Tue 7/17/2007 18:44 To: cxf-user@incubator.apache.org Subject: Specifying port for the example server Hello, can I change the port of the standalone http server? I would like to run two servers on one machine. Thanks -- Lukas Zapletal http://lukas.zapletalovi.com
RE: Getting the HTTP server off the bus
Done. Here is the URL http://cwiki.apache.org/confluence/display/CXF20DOC/Standalone+HTTP+Transport -Original Message- From: Clough, Samuel (USPC.PRG.Atlanta) [mailto:[EMAIL PROTECTED] Sent: Tue 7/17/2007 20:39 To: cxf-user@incubator.apache.org Subject: RE: Getting the HTTP server off the bus I think it would be helpful on a wiki... -Original Message- From: Benson Margulies [mailto:[EMAIL PROTECTED] Sent: Monday, July 16, 2007 8:55 PM To: cxf-user@incubator.apache.org Subject: RE: Getting the HTTP server off the bus Well, you can ignore the first paragraph. The rest of my analysis turned out to be correct. Would anyone care to see the following on a wiki? EndpointInfo ei = new EndpointInfo(); ei.setAddress(serviceFactory.getAddress()); Destination destination = df.getDestination(ei); JettyHTTPDestination jettyDestination = (JettyHTTPDestination) destination; ServerEngine engine = jettyDestination.getEngine(); Handler handler = engine.getServant(new URL(serviceFactory.getAddress())); org.mortbay.jetty.Server server = handler.getServer(); Handler serverHandler = server.getHandler(); ContextHandlerCollection contextHandlerCollection = (ContextHandlerCollection)serverHandler; HandlerList handlerList = new HandlerList(); ResourceHandler resourceHandler = new ResourceHandler(); handlerList.addHandler(resourceHandler); handlerList.addHandler(contextHandlerCollection); server.setHandler(handlerList); handlerList.start(); File staticContentFile = new File(staticContentPath); URL targetURL = new URL(file:// + staticContentFile.getCanonicalPath()); FileResource fileResource = new FileResource(targetURL); resourceHandler.setBaseResource(fileResource); -Original Message- From: Benson Margulies [mailto:[EMAIL PROTECTED] Sent: Monday, July 16, 2007 8:48 PM To: cxf-user@incubator.apache.org Subject: RE: Getting the HTTP server off the bus Dan and Willem, It looks to me like I'm fairly nearly stuck until you let me fully control the server wiring unless I'm willing to do some fairly extensive rewiring of your wiring. The jetty doc isn't precisely helpful here, but I have reached the following tentative view of the situation: As things are, the org.mortbay.jetty.Server has, as its singular handler, a ContextHandlerCollection, which has (at least one) ContextHandler. ContextHandlers are all about Servlet contexts, of course. Once a ContextHandlerCollection has at least one ContextHandler, it ignores any ordinary handlers that it has when handling any request that begins with '/'. So, to get a ResourceHandler into the game, I think that I'd have to create a HandlerList and have that point off to the ContextHandlerCollection as well as the ResourceHandler, and install it as the server's handler. I have a giant feeling here that there's something basic I'm missing about Jetty that is supposed to make this easier, but I'm pretty near to accusing the folks who run the Jetty web site of intentionally making the version 6 docs less helpful than the version 5 docs to sell more consulting. Probably just sour grapes on my part. --benson Princeton Retirement Group, Inc - Important Terms This E-mail is not intended for distribution to, or use by, any person or entity in any location where such distribution or use would be contrary to law or regulation, or which would subject Princeton Retirement Group, Inc. or any affiliate to any registration requirement within such location. This E-mail may contain privileged or confidential information or may otherwise be protected by work product immunity or other legal rules. No confidentiality or privilege is waived or lost by any mistransmission. Access, copying or re-use of information by non-intended or non-authorized recipients is prohibited. If you are not an intended recipient of this E-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute any portion of this E-mail. The transmission and content of this E-mail cannot be guaranteed to be secure or error-free. Therefore, we cannot represent that the information in this E-mail is complete, accurate, uncorrupted, timely or free of viruses, and Princeton Retirement Group, Inc. cannot accept any liability for E-mails that have been altered in the course of delivery. Princeton Retirement Group, Inc. reserves the right to monitor, review and retain all electronic communications, including E-mail, traveling through its networks and systems (subject to and in accordance with local laws). If any of your details are incorrect or if you no longer wish to receive mailings such as this by E-mail please contact
RE: How can cxf.xml refer to beans defined in the application context? (Xfire to CXF migration)
I think you could try to use the endpoint's attribute implementor. It should be workable with the # convention. Here is an example for it jaxws:endpoint id=endpoint1 implementor=#HelloService address=/services/Greeter1/ Willem -Original Message- From: Jacob Marcus [mailto:[EMAIL PROTECTED] Sent: Tue 7/17/2007 21:59 To: cxf-user@incubator.apache.org Subject: How can cxf.xml refer to beans defined in the application context? (Xfire to CXF migration) Hi all, I am an xfire user who is used to the xfire services.xml. I am now porting the services.xml to cxf.xml and have it working for a simple 'Hello World' case. I have a requirement to refer to beans defined else where in the cxf.xml. XFire used to let me do this using the # convention. Example : serviceBean#ihelloService/serviceBean. I tried a similar approach with cxf. However, it cannot find the bean. Has anybody tried this? Is this approach supported in cxf? Thanks, Jacob
RE: Getting the HTTP server off the bus
Hi Beanson, My bad to take the JettyHTTPHandler as ContextHandler. I just checked the Jetty's handler api, and I didn't find a way to get the parent handler form a childer handler. Maybe you can find the Context handler by looking up the context path from server, or we can add the getContextHandler method in the JettyHTTPServerEngine. Willem. -Original Message- From: Benson Margulies [mailto:[EMAIL PROTECTED] Sent: Mon 7/16/2007 22:53 To: cxf-user@incubator.apache.org Subject: RE: Getting the HTTP server off the bus Willem, When I call getServant, I get back the JettyHTTPHandler. Which, interestingly enough, will cheerfully return the Jetty Server object which I was asking for in the first place. The ContextHandler in which the JettyHTTPHandler lives is somewhat obscurely connected, I haven't found the trail of breadcrumbs for it yet, but I'm working on it. --benson -Original Message- From: Willem Jiang [mailto:[EMAIL PROTECTED] Sent: Monday, July 16, 2007 4:44 AM To: cxf-user@incubator.apache.org Subject: Re: Getting the HTTP server off the bus Benson, I just noticed that you can get the context handler by the below code when you get the service engine. ... JettyHTTPDestination destination = (JettyHTTPDestination)df.getDestination(epi); ServerEngine engine= destination.getEngine(); ContextHandler context = (ContextHandler) engine.getServant(new URL(address)); ... And you can use this context to add the static resource handler. Willem. Benson Margulies wrote: Before I finish the story I started, I see that I could get what I want around here by making a mutant copy of JettyHTTPServerEngine and using it by imposing my own subclass of JettyHTTPServerEngineFactory. So I'm looking around to see where I can configure THAT trick. In XFire, I made a variation on XFireHttpServer in which I could have the following ... ResourceHandler rh = new ResourceHandler(); rh.setDirAllowed(true); context.addHandler(rh); context.setResourceBase(staticContentDirectory);
RE: Global invoker
MayBe you can try the replace the cxf orignal ServiceInvokerInterceptor in the bus, You can find ServiceInvokerInterceptor in the trunk\rt\core\src\main\java\org\apache\cxf\interceptor\ServiceInvokerInterceptor.java Willem. -Original Message- From: Lukas Zapletal [mailto:[EMAIL PROTECTED] Sent: Mon 7/16/2007 23:09 To: cxf-user@incubator.apache.org Subject: Global invoker Hello, I need to create a service that will accept all incoming requests and relay them to other web service. It seems Invoker can help me over here. Is it possible to register some global invoker or do I have to create endpoint+invoker for each service I want to track? Thanks for help -- Lukas Zapletal http://lukas.zapletalovi.com
RE: Getting the HTTP server off the bus
Hi Benson, It's my fault that I missed something about getting the destination from the transport factory. It is JettyHTTPTransportFactory and not JettyHttpTransportFactory The code should be Bus bus = BusFactory.getDefaultBus(); DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class); JettyHTTPTransportFactory df = (JettyHTTPTransportFactory) dfm.getDestinationFactory(http://cxf.apache.org/transports/http/configuration;); // get the the destionation from the transport factory by the address EndpointInfo epi = new EndpointInfo(); epi.setAddress(you endpoint address); JettyHTTPDestination destination = df.getDestination(epi); ServerEngine engine= destination.getEngine(); Willem. -Original Message- From: Benson Margulies [mailto:[EMAIL PROTECTED] Sent: Sat 7/14/2007 2:42 To: cxf-user@incubator.apache.org Subject: RE: Getting the HTTP server off the bus Willem, In 2.0, there is no JettyHttpTransportFactory. There is a JettyHTTPTransportFactory. But it has no getEngine(). ? -Original Message- From: Willem Jiang [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 11, 2007 10:35 PM To: cxf-user@incubator.apache.org Subject: Re: Getting the HTTP server off the bus Hi Benson, All the Jetty related stuff of CXF are in the cxf-rt-transports-http-jetty module. You can get the serverEngine which wraps the Jetty instance from the JettyHttpTransportFactory. You can use the below codes to get the serverEngine. Bus bus = BusFactory.getDefaultBus(); DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class); JettyHttpTransportFactory df = (JettyHttpTransportFactory) dfm.getDestinationFactory(http://cxf.apache.org/transports/http/configu ra tion); ServerEngine engine= df.getEngine(); The you just need to extends JettyHTTPHandler to deal with the static content directory, and add it into the engine by call addServant(URL url, JettyHTTPHandler handler). You can find the detail information about the ServerEngine and JettyHTTPHandler from this directory https://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/transports/http- jetty/src/main/java/org/apache/cxf/transport/http_jetty Enjoy hacking the code ! Willem. Benson Margulies wrote: Could someone reveal how to ask the default bus for the running Jetty instance? I want to add a static content directory for it to handle.
RE: Java out of memory building 2.0 from source with maven?!
This is a common issue of the wsdl2java maven plugin, if you wsdl is very large , the out of memory exception will be thrown. Please try this export MAVEN_OPTS=-Xmx512M Cheers, Willem. -Original Message- From: Benson Margulies [mailto:[EMAIL PROTECTED] Sent: Thu 7/12/2007 20:49 To: cxf-user@incubator.apache.org Subject: Java out of memory building 2.0 from source with maven?! This belongs on the devo list, I guess, but I'm really just a user running a build to get the rest of the javadoc. Any hints on how to get around this? I have the current 1.5 JDK. [INFO] Compiling 1313 source files to C:\x\s\apache-cxf-2.0-incubator-src\testutils\target\classes [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure Failure executing javac, but could not parse the error: The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: Java heap space Failure executing javac, but could not parse the error: The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: Java heap space
RE: another deployment issue; COULD_NOT_FIND_PORTTYPE
The key issue that you met is the wsdl and impl class's info are not match yet. So when CXF tries to build the service model from the wsdl and takes the impl class information as the reference, it finds the mismatch of these two types infomation and throws out the exception. And I think your SEI's parament's annoation need to change to this @WebResult(name=msg, targetNamespace=http://ws.unwire.dk/webstat/v1;) public String sayHello( @WebParam(mode = WebParam.Mode.IN, name = msg) String msg ); BTW you can check if the wsdl which is build from the service model is same with your orginal wsdl by ?wsdl. Willem. -Original Message- From: Christian Vest Hansen [mailto:[EMAIL PROTECTED] Sent: Tue 7/10/2007 19:01 To: cxf-user@incubator.apache.org Subject: Re: another deployment issue; COULD_NOT_FIND_PORTTYPE Anyway, I finally managed to get it to work. Without changing the wsdl or beans.xml, if I use the following interface and implementation, then it works as expected. --- interface --- package dk.unwire.statistics2; import javax.jws.*; import javax.jws.soap.SOAPBinding; @WebService( targetNamespace = http://ws.unwire.dk/webstat/v1;, name = HelloWorldPort) @SOAPBinding(style = SOAPBinding.Style.RPC) public interface HelloWorldPort { @WebMethod(action = http://unwire.dk/SayHello;, operationName = SayHello) @WebResult(name=msg, targetNamespace=http://ws.unwire.dk/webstat/v1;) public String sayHello( @WebParam(mode = WebParam.Mode.INOUT, partName = msg, name = msg) String msg ); } --- /interface --- --- impl --- package dk.unwire.statistics2; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; @WebService( targetNamespace=http://ws.unwire.dk/webstat/v1; ,name=HelloWorldPort ,serviceName = HelloWorld ) @SOAPBinding(style = SOAPBinding.Style.RPC) public class HelloWorldPortImpl implements HelloWorldPort{ public String sayHello(String msg) { return I greet thee; + msg + !; } } --- impl --- Thanks for all the help. 2007/7/10, Christian Vest Hansen [EMAIL PROTECTED]: That's strange... Why does it generate a method that returns void when the wsdl clearly states that SayHello outputs an Msg message? wsdl:operation name=SayHello wsdl:input message=unw:Msg/ wsdl:output message=unw:Msg/ /wsdl:operation 2007/7/10, Willem Jiang [EMAIL PROTECTED]: Hi Christian, I used the wsd2java to generate the SEI from your wsdl package dk.unwire.ws.webstat.v1; import javax.jws.WebParam.Mode; import javax.jws.WebParam; import javax.jws.WebService; import javax.jws.soap.SOAPBinding.Style; import javax.jws.soap.SOAPBinding; import javax.jws.WebMethod; /** * This class was generated by the CXF 2.1-incubator-SNAPSHOT * Tue Jul 10 18:07:02 CST 2007 * Generated source version: 2.1-incubator-SNAPSHOT * */ @WebService(targetNamespace = http://ws.unwire.dk/webstat/v1;, name = HelloWor ldPort) @SOAPBinding(style = SOAPBinding.Style.RPC) public interface HelloWorldPort { @WebMethod(action = http://unwire.dk/SayHello;, operationName = SayHello) public void sayHello( @WebParam(mode = Mode.INOUT, partName = msg, name = msg) javax.xml.ws.Holderjava.lang.String msg ); } It looks like your wsdl is not march with the SEI that you use in your impl's WebService annotation. My suggestion is you remove the wsdlLocation in the beans.xml to let the ReflectionServiceFactoryBean to build the service form class, or you can change to use the upper SEI to implement your service without changing any thing in the beans.xml ( ReflectionServiceFactoryBean will build the service from wsdl ). Hope these can help your out :) Willem. Christian Vest Hansen wrote: The service impl class looks like this with the change you suggested, plus I added the 'name' parameter: package dk.unwire.statistics2; import javax.jws.WebService; @WebService( endpointInterface = dk.unwire.statistics2.HelloWorld ,serviceName=HelloWorld ,targetNamespace=http://ws.unwire.dk/webstat/v1; ,portName=HelloWorldDev ,name=HelloWorldPort ) public class HelloWorldImpl implements HelloWorld{ public String sayHello(String text) { return I greet thee; + text + !; } } But now I'm getting a different exception: 11:38:34,053 DEBUG [DefaultListableBeanFactory] Eagerly caching bean 'helloWorld' to allow for resolving potential circular references 11:38:34,066 ERROR [STDERR] Jul 10, 2007 11:38:34 AM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL INFO: Creating Service {http://ws.unwire.dk/webstat/v1}HelloWorld from WSDL: classpath:HelloWorld.wsdl 11:38:34,139 DEBUG
RE: Logging SOAP Messages
Hi Freeman, It is not a good idea to add the logging interceptor in this way. We suppose to use the feature to take care all the complex interceptor setting things. In you configuration, you missed the InFaultInterceptors and OutFaultInterceptors. Let's use the Ajay's way to set the logging interceptors. Cheers, Willem. -Original Message- From: Freeman Fang [mailto:[EMAIL PROTECTED] Sent: 6/15/2007 (星期五) 19:08 To: cxf-user@incubator.apache.org Subject: Re: Logging SOAP Messages Hi Krystian, Another way to do it is specify in/out logging interceptor for you endpoint. jaxws:endpoint id=hello_world_xml_bare implementor=demo.hw.server.GreeterImpl wsdlLocation=WEB-INF/wsdl/hello_world.wsdl address=/hello_world jaxws:inInterceptors bean class=org.apache.cxf.interceptor.LoggingInInterceptor /bean /jaxws:inInterceptors jaxws:outInterceptors bean class=org.apache.cxf.interceptor.LoggingOutInterceptor /bean /jaxws:outInterceptors /jaxws:endpoint I just test it with our servlet samples, it works Cheers Freeman Paibir, Ajay wrote: Hi Krystian, It can be done as below. jaxws:endpoint name=endpoint qname jaxws:features bean class=org.apache.cxf.feature.LoggingFeature/ /jaxws:features /jaxws:endpoint Ajay -Original Message- From: Krystian Lider [mailto:[EMAIL PROTECTED] Sent: 15 June 2007 11:38 To: cxf-user@incubator.apache.org Subject: Re: Logging SOAP Messages Hi Freeman Thanks for the replay. Is there any way to do that using eg Spring configuration file? To publish endpoints I use XML Spring configuration file which I put inside my WAR. On 6/15/2007 12:28 PM,User Freeman Fang wrote: Hi Krystian, When you publish your server, you can add log intercepor for your endponint. Some thing like Object implementor = new RemedyTsExtractImpl(); String address = http://localhost:1;; EndpointImpl e = (EndpointImpl)Endpoint.publish(address, implementor); e.getServer().getEndpoint().getInInterceptors().add(new LoggingInInterceptor()); e.getServer().getEndpoint().getOutInterceptors().add(new LoggingOutInterceptor()); By this way you can see the request and response message on server side. Cheers Freeman Krystian Lider wrote: Hi Do you know how can I enable logging my SOAP XML messages (request/response) which comes to my server (CXF + Jetty)? I use below properties file and I have some information in my log file such as information about creating services from WSDL file etc. but that what I really (XML request, response messages during work of the server) care is missing. Probably I have to add something. handlers= java.util.logging.FileHandler level= INFO java.util.logging.FileHandler.pattern = ./var/log/cxf_%u.log java.util.logging.FileHandler.limit = 5000 java.util.logging.FileHandler.count = 10 java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter java.util.logging.FileHandler.level = INFO java.util.logging.ConsoleHandler.level = INFO java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter I will be thankful for any comments. -- Best Regards, Krystian Lider http://gryfsoft.pl IONA Technologies PLC (registered in Ireland) Registered Number: 171387 Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
RE: Wsdl returned from secure service
Hi Richard Just FYI, Here are some changes of the configuration of https in the trunk that we did today. I just updated the sample of hello_world_https, it should be work with latest trunk now. You can take the configurations (*.cxf in hello_world_https) as the examples :). Cheers, Willem. -Original Message- From: Polar Humenn [mailto:[EMAIL PROTECTED] Sent: Thu 6/7/2007 22:12 To: cxf-user@incubator.apache.org Subject: Re: Wsdl returned from secure service There are several things you now need to do in order for this to work with the current configuration, if you are using the the snapshot that got committed this morning. You'll need to take your etx/mosaic.truststore which I presume is a plain PEM encoded certificate (which is the way it used to work when your keystore was PKCS12), and put it into a JavaKeyStore. (JKS). keytool -storetype etc/mosaic.truststore.jks -import -file etc/mosaic.truststore Next you need to change your configuration to the following: xmlns:httpj=http://cxf.apache.org/transports/http-jetty/configuration; xsi:schemaLocation= http://cxf.apache.org/transports/http-jetty/configuration http://cxf.apache.org/schemas/configuration/http-jetty.xsd; httpj:engine-factory bus=cxf httpj:engine port=9095 httpj:tlsServerParameters sec:keyManagers keyPassword=X sec:keyStore type=PKCS12 file=etc/TrafficWales.p12 password=password/ /sec:keyManagers sec:trustManagers sec:keyStore type=jks file=etc/mosaic.truststore.jks/ /sec:trustManagers sec:clientAuthentication want=true required=true/ /httpj:tlsServerParameters /httpj:engine /httpj:engine-factory bus=cxf Cheers, -Polar Shaw, Richard A wrote: I've secured my service using the following bean - beans xmlns=http://www.springframework.org/schema/beans; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:sec=http://cxf.apache.org/configuration/security; xmlns:http=http://cxf.apache.org/transports/http/configuration; xsi:schemaLocation= http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schema/transports/http.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd; http:destination id={http://www.atkinsglobal.com/mosaic/traffic/twdatabaseaccess/}TWDatabaseAccessPort.http-destination; http:sslServer sec:Keystoreetc/TrafficWales.p12/sec:Keystore sec:KeystoreTypePKCS12/sec:KeystoreType sec:KeystorePasswordpassword/sec:KeystorePassword sec:KeyPasswordm0sa1c/sec:KeyPassword sec:WantClientAuthenticationtrue/sec:WantClientAuthentication sec:RequireClientAuthenticationtrue/sec:RequireClientAuthentication sec:TrustStoreetc/mosaic.truststore/sec:TrustStore sec:CiphersuiteFilters !-- these filters ensure that a ciphersuite with export-suitable or null encryption is used, but exclude anonymous Diffie-Hellman key change as this is vulnerable to man-in-the-middle attacks -- sec:include.*_EXPORT_.*/sec:include sec:include.*_EXPORT1024_.*/sec:include sec:include.*_WITH_DES_.*/sec:include sec:include.*_WITH_NULL_.*/sec:include sec:exclude.*_DH_anon_.*/sec:exclude /sec:CiphersuiteFilters /http:sslServer /http:destination /beans And when I call the https://localhost:9095/TWDatabaseAccessService?wsdl the returned wsdl has the address set as http://localhost:9095/TWDatabaseAccessService I then get the following error - Caused by: java.io.IOException: Illegal Protocol http for HTTPS URLConnection Factory. at org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:112) at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:447) at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:45) ... 31 more Richard Shaw ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤ Richard Shaw Technical Design Authority - Information Solutions Consultancy Intelligent Transport Systems Atkins Highways and Transportation Woodcote Grove, Ashley Road, Epsom, Surrey, KT18 5BW Tel: +44 (0) 1372 756407 Fax: +44 (0) 1372 740055 Mob: 07740 817586 E-mail: [EMAIL PROTECTED] www.atkinsglobal.com/its This email and any attached files are confidential and copyright protected. If you are not the addressee, any dissemination of this communication is strictly prohibited. Unless otherwise expressly agreed in writing, nothing stated in this communication shall be legally binding. The ultimate parent company of the Atkins Group is WS Atkins plc. Registered in England No. 1885586. Registered Office Woodcote Grove, Ashley Road, Epsom, Surrey KT18 5BW. Consider the environment. Please don't print this
RE: about cxf-2.0-incubator-RC-src
Hi You can type java -version to get the detail version information. We now use the lastest jdk1.5 which version is 1.5.11 for development. You can download the latest jdk1.5 from SUN's website[1]. [1]http://java.sun.com/javase/downloads/index_jdk5.jsp Hope you enjoy play with the CXF code! Willem. -Original Message- From: Feng Zhang [mailto:[EMAIL PROTECTED] Sent: Mon 5/14/2007 22:03 To: cxf-user@incubator.apache.org Subject: Re: about cxf-2.0-incubator-RC-src James: The jdk version is just 1.5.0. I could not find the minor version, please let me know if there is any file indicating it. I guess that means 1.5.0_0. The src.zip within JDK 1.5.0 was dated 9/15/2004, so it was a pretty old version. Thanks for answering all my questions. Hopefully I am not bugging you too much :-). Sincerely Feng On 5/11/07, Feng Zhang [EMAIL PROTECTED] wrote: James: Thanks for the reply. I downloaded jdk_1.5.0_11, and the build passes, with minor test error below: (mvn install) Anyway, I am happy to move forward. Thanks again Feng --- T E S T S --- Running org.apache.cxf.systest.ws.policy.HTTPClientPolicyTest javax.xml.ws.WebServiceException : org.apache.cxf.ws.policy.PolicyException: Inco mpatible HTTPClientPolicy assertions. at org.apache.cxf.jaxws.JaxWsClientProxy.invoke( JaxWsClientProxy.java:13 4) at $Proxy41.sayHi(Unknown Source) at org.apache.cxf.systest.ws.policy.HTTPClientPolicyTest.testUsingHTTPCl ientPolicies(HTTPClientPolicyTest.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMet hodRunner.java:99) at org.junit.internal.runners.TestMethodRunner.runUnprotected (TestMethod Runner.java:81) at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAn dAfterRunner.java:34) at org.junit.internal.runners.TestMethodRunner.runMethod (TestMethodRunne r.java:75) at org.junit.internal.runners.TestMethodRunner.run( TestMethodRunner.java :45) at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(Te stClassMethodsRunner.java:66) at org.junit.internal.runners.TestClassMethodsRunner.run (TestClassMethod sRunner.java :35) at org.junit.internal.runners.TestClassRunner$1.runUnprotected (TestClass Runner.java:42) at org.junit.internal.runners.BeforeAndAfterRunner.runProtected (BeforeAn dAfterRunner.java:34) at org.junit.internal.runners.TestClassRunner.run ( TestClassRunner.java:5 2) at org.apache.maven.surefire.junit4.JUnit4TestSet.execute (JUnit4TestSet. java:62) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTes tSet(AbstractDirectoryTestSuite.java :138) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Ab stractDirectoryTestSuite.java:163) at org.apache.maven.surefire.Surefire.run (Surefire.java:84) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Su refireBooter.java:244) at org.apache.maven.surefire.booter.SurefireBooter.main ( SurefireBooter.j ava:814) Caused by: org.apache.cxf.ws.policy.PolicyException: Incompatible HTTPClientPoli cy assertions. at org.apache.cxf.transport.http.policy.PolicyUtils.getClient(PolicyUtil s.java :629) at org.apache.cxf.transport.http.policy.PolicyUtils.getClient (PolicyUtil s.java:88) at org.apache.cxf.transport.http.HTTPConduit.getClient( HTTPConduit.java: 1083) at org.apache.cxf.transport.http.HTTPConduit.setHeadersByClientPolicy (HT TPConduit.java:988) at org.apache.cxf.transport.http.HTTPConduit.setHeadersByPolicy (HTTPCond uit.java:1050) at org.apache.cxf.transport.http.HTTPConduit.prepare( HTTPConduit.java:51 0) at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Mes sageSenderInterceptor.java:45) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept orChain.java:148) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:215) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java :73) at