Before posting this, I looked at the JAX-WS spec (although I could only
find 2.1) and searched
the message archives. Before resorting to downloading the CXF source
and building
CXF from scratch so I can debug this problem, I am hoping someone can
help.
I created a service with a number of operations, based on the
"wsdl_first" sample.
Everything works great in the Jetty-embedded configuration, however,
when I try
to prepare a WAR deployment, and deploy to Tomcat, I receive the
following cryptic error:
Mar 09 10:01:15 bw26wolfch [] 2 Error
org/apache/catalina/core/ContainerBase/[Catalina]/[localhost]/[/secadmin
]
Servlet /secadmin threw load() exception
<org.apache.cxf.service.factory.ServiceConstructionException:
Could not find definition for service
{http://services.secadmin.cis.ms.com/}SecAdminImplService.
The generated service interface is:
com.ms.cis.secadmin.services.SecAdmin
The implementation class is:
com.ms.cis.secadmin.services.SecAdminImpl
*** So why is it looking for "SecAdminImplService"? Why is it appending
"Service"?
The relevant configuration settings are:
WSDL:
<wsdl:definitions name="SecAdmin"
targetNamespace="http://services.secadmin.cis.ms.com"
[...]
<wsdl:portType name="SecAdmin">
[...]
<wsdl:binding name="SecAdmin_SOAPBinding" type="tns:SecAdmin">
[...]
<wsdl:service name="SecAdmin">
<wsdl:port binding="tns:SecAdmin_SOAPBinding" name="secadmin">
<soap:address location="http://localhost:8080/secadmin"/>
</wsdl:port>
</wsdl:service>
CXF-SERVLET:
<beans xmlns="http://www.springframework.org/schema/beans"
[...]
<jaxws:endpoint
id="secadmin"
implementor="com.ms.cis.secadmin.services.SecAdminImpl"
wsdlLocation="WEB-INF/wsdl/secadmin.wsdl"
address="/secadmin">
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature"/>
</jaxws:features>
</jaxws:endpoint>
</beans>
--------------------------------------------------------
NOTICE: If received in error, please destroy and notify sender. Sender does not
intend to waive confidentiality or privilege. Use of this email is prohibited
when received in error.