On Wednesday, November 23, 2011 5:27:34 PM Alex Shneyderman wrote:
> Hi, Daniel!
> 
> Is there any other configuration that needs to be done for this?

You may need to add a transportId property/attribute on them that sets it to:

http://cxf.apache.org/transports/local

Also, if using Maven, make sure you have cxf-rt-transport-local jar available.

Dan


> 
> I configured this:
> 
>     <bean id="mock.clientFactory"
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
>               <property name="serviceClass" value="blah.TroubleTicket" />
>               <property name="address" value="local://TroubleTicketMock" />
>     </bean>
> 
>     <bean id="blah.TroubleTicketMock"
>           class="blah.p.TroubleTicketMock" />
> 
>     <jaxws:endpoint id="mock.server"
>               implementor="#blah.TroubleTicketMock"
>               address="local://TroubleTicketMock">
>       </jaxws:endpoint>
> 
> on initialization call I get exception:
> 
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'mock.serverr': Invocation of init method
> failed; nested exception is javax.xml.ws.WebServiceException:
> java.lang.NullPointerException
>       at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y$1.run(AbstractAutowireCapableBeanFactory.java:409) at
> java.security.AccessController.doPrivileged(Native Method)
>       at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.createBean(AbstractAutowireCapableBeanFactory.java:380) at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(A
> bstractBeanFactory.java:264) at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getS
> ingleton(DefaultSingletonBeanRegistry.java:222) at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abs
> tractBeanFactory.java:261) at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstr
> actBeanFactory.java:185) at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstr
> actBeanFactory.java:164) at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preIns
> tantiateSingletons(DefaultListableBeanFactory.java:429) at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFa
> ctoryInitialization(AbstractApplicationContext.java:728) at
> org.springframework.context.support.AbstractApplicationContext.refresh(Abst
> ractApplicationContext.java:380) at
> org.springframework.test.AbstractSingleSpringContextTests.createApplication
> Context(AbstractSingleSpringContextTests.java:213) at
> org.springframework.test.AbstractSingleSpringContextTests.loadContextLocati
> ons(AbstractSingleSpringContextTests.java:189) at
> org.springframework.test.AbstractSingleSpringContextTests.loadContext(Abstr
> actSingleSpringContextTests.java:169) at
> org.springframework.test.AbstractSpringContextTests.getContext(AbstractSpri
> ngContextTests.java:140) at
> org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSin
> gleSpringContextTests.java:98) at
> org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.ja
> va:76) at
> com.intellij.junit3.JUnit3IdeaTestRunner.doRun(JUnit3IdeaTestRunner.java:13
> 9) at
> com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs(JUnit3IdeaTest
> Runner.java:52) at
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitSt
> arter.java:199) at
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
> 9) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:350) at
> org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239) at
> org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:509) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
> 9) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
> l.java:25) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) ... 36 more
> Caused by: java.lang.NullPointerException
>       at
> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTranspo
> rtFactory.java:134) at
> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:93) at
> org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:72)
>       at
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:158
> ) at
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.j
> ava:202) at
> org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:433) at
> org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:322) ... 45
> more
> 
> On Wed, Nov 23, 2011 at 4:47 PM, Daniel Kulp <[email protected]> wrote:
> > On Wednesday, November 23, 2011 12:58:17 PM Alex Shneyderman wrote:
> >> Hello,
> >> 
> >> I have a requirement where I need to configure a client proxy that
> >> does not actually make http request to the endpoint. We use
> >> org.apache.cxf.jaxws.JaxWsProxyFactoryBean to instantiate client
> >> proxies. Is there a way to instruct the factory to construct proxy in
> >> a way where calls to the remote end point are diverted to the calls to
> >> the local object instance?
> >> 
> >> I want to preserve all the logging that we have configured on this
> >> proxy (we log request/response soap messages) - not sure if this is
> >> even possible.
> >> 
> >> Any hints/solutions are greatly appreciated.
> > 
> > We have a "local" transport which probably would be usable for you.  
> > You can create a server (JaxWsServerFactoryBean) that uses a
> > "local:/Foo" address and then in the JaxWsProxyFactoryBean use the same
> > address.    That would pipe it through to the local object,but still do
> > all the serialization and logging and such.
> > 
> > Dan
> > 
> >> Cheers,
> >> Alex.
> > 
> > --
> > Daniel Kulp
> > [email protected] - http://dankulp.com/blog
> > Talend Community Coder - http://coders.talend.com
-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to