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