You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Shay Hassidim <sh...@gigaspaces.com> on 2011/05/20 15:00:27 UTC

problems using WSDL with web service CXF endpoint configuration

Hello,
When deploying a web service without including the wsdlLocation explicitly with the endpoint configuration, I see that the web service does not expose the contract the WSDL specifies. It is exposes a different contract. Not sure from where it is coming from. Maybe from the annotations I have on the service.
When trying to specify the WSDL location at the endpoint configuration I'm getting a strange exception. See below exception.
Here is how the endpoint is configured (located at the cxf-servlet.xml):
    <jaxws:endpoint xmlns:scada="com.X.Y"
                    xmlns:enmac="enmac.fdir"
                id="scadaTrigger"
                wsdlLocation="/WEB-INF/mywsdl.wsdl"
                address="http://localhost:9090/fdirScadaTriggerEvt"
                serviceName="scada:DPAPollingAgentProcessor"
                endpointName="enmac:DPAPollingAgentProcessor"
                implementor="#pollingAgentProcessor"
                implementorClass="com.X.Y.DPAPollingAgentProcessor">
        </jaxws:endpoint>

If I remove the wsdlLocation property from the cxf-servlet.xml I don't have any problems deploying the war, but the service does not expose the contract specified in the WSDL. The funny thing is I do specify the WSDL location explicitly within the service implementation constructor, so I don't understand why the deploy process fails.
Any idea what is going on?
Tnx
Shay Hassidim
The Exception:
[gsc][1/10456]  javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Could not find definition for service {com.X.Y}DPAPollingAgentProcessor.
[gsc][1/10456]          at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:350)
[gsc][1/10456]          at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
[gsc][1/10456]          at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:509)
[gsc][1/10456]          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[gsc][1/10456]          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[gsc][1/10456]          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[gsc][1/10456]          at java.lang.reflect.Method.invoke(Method.java:597)
[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$7.run(AbstractAutowireCapableBeanFactory.java:1531)
[gsc][1/10456]          at java.security.AccessController.doPrivileged(Native Method)
[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1529)
[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
[gsc][1/10456]          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSi
ngletonBeanRegistry.java:222)[gsc][1/10456]          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.j


Re: problems using WSDL with web service CXF endpoint configuration

Posted by Daniel Kulp <dk...@apache.org>.
You would need to check the WSDL to see what the names of the services and 
ports that are defined in there.   The error of:

> [gsc][1/10456]  javax.xml.ws.WebServiceException:
> org.apache.cxf.service.factory.ServiceConstructionException: Could not
> find definition for service {com.X.Y}DPAPollingAgentProcessor.

basically states that there isn't a service by that name in the WSDL.

Dan




On Friday, May 20, 2011 9:00:27 AM Shay Hassidim wrote:
> Hello,
> When deploying a web service without including the wsdlLocation explicitly
> with the endpoint configuration, I see that the web service does not
> expose the contract the WSDL specifies. It is exposes a different
> contract. Not sure from where it is coming from. Maybe from the
> annotations I have on the service. When trying to specify the WSDL
> location at the endpoint configuration I'm getting a strange exception.
> See below exception. Here is how the endpoint is configured (located at
> the cxf-servlet.xml): <jaxws:endpoint xmlns:scada="com.X.Y"
>                     xmlns:enmac="enmac.fdir"
>                 id="scadaTrigger"
>                 wsdlLocation="/WEB-INF/mywsdl.wsdl"
>                 address="http://localhost:9090/fdirScadaTriggerEvt"
>                 serviceName="scada:DPAPollingAgentProcessor"
>                 endpointName="enmac:DPAPollingAgentProcessor"
>                 implementor="#pollingAgentProcessor"
>                 implementorClass="com.X.Y.DPAPollingAgentProcessor">
>         </jaxws:endpoint>
> 
> If I remove the wsdlLocation property from the cxf-servlet.xml I don't have
> any problems deploying the war, but the service does not expose the
> contract specified in the WSDL. The funny thing is I do specify the WSDL
> location explicitly within the service implementation constructor, so I
> don't understand why the deploy process fails. Any idea what is going on?
> Tnx
> Shay Hassidim
> The Exception:
> [gsc][1/10456]  javax.xml.ws.WebServiceException:
> org.apache.cxf.service.factory.ServiceConstructionException: Could not
> find definition for service {com.X.Y}DPAPollingAgentProcessor.
> [gsc][1/10456]          at
> org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:350)
> [gsc][1/10456]          at
> org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> [gsc][1/10456]          at
> org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:509)
> [gsc][1/10456]          at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [gsc][1/10456]
>          at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 39) [gsc][1/10456]          at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm
> pl.java:25) [gsc][1/10456]          at
> java.lang.reflect.Method.invoke(Method.java:597) [gsc][1/10456]         
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
> ry$7.run(AbstractAutowireCapableBeanFactory.java:1531) [gsc][1/10456]      
>    at java.security.AccessController.doPrivileged(Native Method)
> [gsc][1/10456]          at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
> ry.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1529)
> [gsc][1/10456]          at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
> ry.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> [gsc][1/10456]          at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
> ry.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> [gsc][1/10456]          at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
> ry.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) [gsc][1/10456]
>          at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
> ry.createBean(AbstractAutowireCapableBeanFactory.java:456) [gsc][1/10456]  
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
> AbstractBeanFactory.java:291) [gsc][1/10456]          at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.get
> Singleton(DefaultSi ngletonBeanRegistry.java:222)[gsc][1/10456]          at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Ab
> stractBeanFactory.j

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com