Any chance you could take a simple "hello world" sample or something and 
create a small test project that completely shows everything?   Its definitely 
easier to see what is going on if I can run it in the debugger.

Dan


On Mon September 28 2009 2:16:25 pm HamletDRC wrote:
> Here is what I added to make Tomcat start up properly:
> 
> The SystemParameterService interface is marked with @WebService
> The SystemParameterServiceImpl class is marked with:
>   @WebService(serviceName = "SystemParameterService", endpointInterface =
> "vue.tcsm.services.SystemParameterService")
>   The class methods are given the proper @WebMethod annotations too.
> 
> The WSDL generates now and tomcat starts with no errors. Progress.
> 
> But none of the endpoints can be invoked. I get the same old exception:
> 
> org.apache.cxf.interceptor.Fault: object is not an instance of declaring
> class while invoking public void
> vue.tcsm.services.SiteAvailabilityServiceImpl.createAvailability(vue.tcsm.d
> to.TestCenterDTO) throws vue.tcsm.failures.ValidationFault with params
>  [null].
> 
> It is thrown from the line :
>   CastUtils.cast((List)super.invoke(exchange, serviceObject, m, params));
> in org.apache.cxf.jaxws.JAXWSMethodInvoker
> 
> 
> Any ideas?
> 
> --
> Hamlet
> 
> dkulp wrote:
> > I believe implementorClass  needs to point to the actual Impl class which
> > would then have the proper @WebService annotation that would have the
> > endpointInterface attribute defined on it.
> >
> > Dan
> >
> > On Mon September 28 2009 12:56:11 pm HamletDRC wrote:
> >> I'm trying to create a standard Java 5 Proxy of my service classes and
> >>  can't get it to work.
> >>
> >> I've tried several approaches, does anyone have any insight about what
> >> is going wrong?
> >>
> >> In both approaches, I'm creating a standard Java 5 Proxy out of the
> >> service
> >> class and an InvocationHandler. To make this easy in the Spring config I
> >> wrote a little type safe Proxy utility:
> >>
> >> public class ProxyUtils {
> >>    public static <T> T makeProxy(InvocationHandler handler, Class<T>
> >> clazz) {
> >>            return clazz.cast(
> >>                    Proxy.newProxyInstance(
> >>                            clazz.getClassLoader(),
> >>                            new Class[]{clazz},
> >>                            handler)
> >>            );
> >>    }
> >> Also, in both approaches there are "SystemParameterService" and
> >> "SystemParameterServiceImpl" as the service class.
> >>
> >> Approach #1 - Define an "implementorClass" on jaxws:endpoint - Results
> >> in error "java.lang.IllegalArgumentException: object is not an instance
> >> of declaring class" error.
> >>
> >> I defined my endpoint with an implementorClass like so:
> >>    <jaxws:endpoint id="systemParameter"
> >>                                    implementor="#systemParameterService"
> >>                                    
> >> implementorClass="vue.tcsm.services.SystemParameterService"
> >>                                    address="/SystemParameterService">
> >>    </jaxws:endpoint>
> >>
> >> Then I just created a proxy of the service class:
> >>    <bean id="systemParameterService" scope="prototype"
> >> class="vue.tcsm.services.ProxyUtils" factory-method="makeProxy">
> >>            <constructor-arg>
> >>                    <bean 
> >> class="vue.tcsm.services.VueSystemAppUserBeforeAdvice"
> >> scope="prototype">
> >>                            <constructor-arg>
> >>                                    <bean 
> >> class="vue.tcsm.services.SystemParameterServiceImpl"
> >> scope="prototype"/>
> >>                            </constructor-arg>
> >>                    </bean>
> >>            </constructor-arg>
> >>            <constructor-arg 
> >> value="vue.tcsm.services.SystemParameterService" />
> >>    </bean>
> >>
> >> The Exception comes out of JAXWSMethodInvoker and kind of makes sense.
> >> The
> >> service class is a Proxy and not a SystemParameterService, so I
> >> understand
> >> the message. Is there a way to make this approach work?
> >>
> >> Approach #2 - Don't Define an "implementorClass" - results in
> >> "org.apache.cxf.interceptor.Fault: Message part {http://cxf.example/}xxx
> >>  was not recognized.  (Does it exist in service WSDL?)"
> >>
> >> In this approach I simply dropped off the "implementorClass" attribute.
> >>  This results in the WSDL not being generated correctly and this
> >> exception.
> >>
> >>
> >> Is there a way to use Java 5 Proxy with CXF?
> >>
> >> Thanks,
> >>
> >>
> >>
> >>
> >> -----
> >> --
> >> Hamlet D'Arcy
> 
> -----
> --
> Hamlet D'Arcy
> 

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to