No service was found with warning: Can't find the request for a service's Observer ----------------------------------------------------------------------------------
Key: CXF-2236 URL: https://issues.apache.org/jira/browse/CXF-2236 Project: CXF Issue Type: Bug Components: JAX-WS Runtime Affects Versions: 2.1.3, 2.0.7 Environment: Windows XP, JDK 1.5.0_17 and JDK 6.0, Tomcat 5.5.27 and JBoss 4.2.3 GA Reporter: Xinxin Wang I created a web service using WSDL2Java approach. I was able to deploy the service to the Tomcat or JBoss servers no exception. However, when send a request to the service using soapUI. I got 'No service was found' on the browser and a warning on the output: Can't find the request for http://localhost:8080/JAXBDataService/services/RetrieveService's Observer I am attaching related info here: The WSDL of my service is: ------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:acf="urn:soa.army.mil:adsl:sis:09-1:1-1:common:fault" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:apret="urn:soa.army.mil:adsl:sis:09-1:1-1:pattern:retrieve:type:bma:log:ums-ds" targetNamespace="urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds"> <wsdl:documentation> This service retrieve Unit Master Schedule information from AST. </wsdl:documentation> <wsdl:types> <xs:schema xmlns:acc="urn:soa.army.mil:adsl:sis:09-1:1-1:common:core" xmlns:acf="urn:soa.army.mil:adsl:sis:09-1:1-1:common:fault" xmlns:ums="http://metadata.dod.mil/mdr/ns/ums/1.0" xmlns:tns="urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds" xmlns:aapret="urn:soa.army.mil:adsl:sis:09-1:1-1:pattern:abstract:retrieve:type" targetNamespace="urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> <xs:import namespace="urn:soa.army.mil:adsl:sis:09-1:1-1:common:fault" schemaLocation="adsl/schema/common/adslCommonFault.xsd"/> <xs:import namespace="urn:soa.army.mil:adsl:sis:09-1:1-1:common:core" schemaLocation="adsl/schema/common/adslCommonCore.xsd"/> <xs:import namespace="urn:soa.army.mil:adsl:sis:09-1:1-1:pattern:abstract:retrieve:type" schemaLocation="adsl/schema/pattern/abstract/adslPtnRetrieve.xsd"/> <xs:import namespace="http://metadata.dod.mil/mdr/ns/ums/1.0" schemaLocation="ums/ums.xsd"/> <xs:complexType name="IdentifierType"> <xs:complexContent> <xs:extension base="acc:GenericIdentifierType"> <xs:sequence> <xs:element name="UIC" type="xs:string" minOccurs="0"/> <xs:element name="Cycle" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="RetrieveRequestType"> <xs:complexContent> <xs:extension base="aapret:GenericRetrieveRequestType"> <xs:sequence> <xs:element name="Identifier" type="tns:IdentifierType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="RetrieveResultType"> <xs:complexContent> <xs:extension base="aapret:GenericRetrieveResultType"> <xs:sequence> <xs:element ref="ums:UnitMasterSchedule" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="Results" type="tns:RetrieveResultType"/> <xs:complexType name="RetrieveResponseType"> <xs:complexContent> <xs:extension base="aapret:GenericRetrieveResponseType"> <xs:sequence> <xs:element ref="tns:Results"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="RetrieveRequest" type="tns:RetrieveRequestType"/> <xs:element name="RetrieveResponse" type="tns:RetrieveResponseType"/> </xs:schema> </wsdl:types> <wsdl:message name="RetrieveRequestMessage"> <wsdl:part name="Request" element="tns:RetrieveRequest"/> </wsdl:message> <wsdl:message name="RetrieveResponseMessage"> <wsdl:part name="Response" element="tns:RetrieveResponse"/> </wsdl:message> <wsdl:message name="RetrievePtnFaultMessage"> <wsdl:part name="fault" element="acf:AdslFaults"/> </wsdl:message> <wsdl:portType name="RetrievePortType"> <wsdl:operation name="Retrieve"> <wsdl:input message="tns:RetrieveRequestMessage" name="RetrieveRequest"/> <wsdl:output message="tns:RetrieveResponseMessage" name="RetrieveResponse"/> <wsdl:fault name="ADSLFault" message="tns:RetrievePtnFaultMessage"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="RetrieveSOAPBinding" type="tns:RetrievePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="Retrieve"> <soap:operation/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ADSLFault"> <soap:fault name="ADSLFault" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="RetrieveService"> <wsdl:port name="RetrieveServiceHttpPort" binding="tns:RetrieveSOAPBinding"> <soap:address location="http://localhost:8080/JAXBDataService/services/RetrieveService"/> </wsdl:port> </wsdl:service> </wsdl:definitions> I use WSDL2Java to generate port type class and Jaxbbinding classes. The implementation class is declared as: ----------------------------------------------------------------------------------------------------------------------------------------- @WebService(serviceName = "RetrieveService", portName="RetrieveServiceHttpPort", targetNamespace = "urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds", endpointInterface = "mil.army.soa.adsl.sis._09_1._1_1.service.bma.log.ums_ds.RetrievePortType") @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public class UMSRetrievePortTypeImpl implements RetrievePortType { public UMSRetrievePortTypeImpl() throws Exception { super(); operationImpl = new OperationImpl("Retrieve", helper); log.info("UMSRetrievePortTypeImpl created."); } public RetrieveResponseType retrieve(RetrieveRequestType request) throws RetrievePtnFaultMessage { ............ } The web.xml file is: -------------------------- <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="JAXBDataService" version="2.5"> <display-name>JAXB UMS Data Service</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:umsDataServiceContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app> The configuration file (umsDataServiceContext.xml) is: -------------------------------- <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cxf="http://cxf.apache.org/core" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd" > <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> <jaxws:endpoint xmlns:ums="urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds" id="ums.data.service.impl" serviceName = "ums:RetrieveService" endpointName = "ums:RetrieveServiceHttpPort" implementor="smil.mil.army.forscom.ums._09_1._1_0.impl.UMSRetrievePortTypeImpl" wsdlLocation = "WEB-INF/wsdl/UMSDataServiceRi.wsdl" address="http://localhost:8080/JAXBDataService/services/RetrieveService"> <jaxws:properties> <entry key="schema-validation-enabled" value="true" /> </jaxws:properties> </jaxws:endpoint> <cxf:bus> <cxf:features> <cxf:logging/> </cxf:features> </cxf:bus> </beans> When I deployed the service to Tomcat, I got the following output: ------------------------------------------------------------------------------------------ May 22, 2009 10:27:38 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.5.0_17\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\jasypt-1.5\bin;C:\oraclexe\app\oracle\product\10.2.0\server\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\Wireless\Bin\;C:\Program Files\ThinkPad\ConnectUtilities;C:\WINDOWS\system32\nls;C:\WINDOWS\system32\nls\ENGLISH;C:\Program Files\IBM ThinkVantage\Client Security Solution;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\TortoiseSVN\bin;C:\apache-cxf-2.0.7\bin;C:\jaxb-ri-2.1.3\bin;C:\Program Files\Java\jdk1.5.0_17\bin;C:\apache-maven-2.0.9\bin;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\apache-cxf-2.0.7\bin;C:\Program Files\Windows Imaging\;C:\wsi-test-tools\java\bin May 22, 2009 10:27:38 AM org.apache.coyote.http11.Http11BaseProtocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 May 22, 2009 10:27:38 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 893 ms May 22, 2009 10:27:38 AM org.apache.catalina.core.StandardService start INFO: Starting service Catalina May 22, 2009 10:27:38 AM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.5.27 May 22, 2009 10:27:38 AM org.apache.catalina.core.StandardHost start INFO: XML validation disabled May 22, 2009 10:27:38 AM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring root WebApplicationContext May 22, 2009 10:27:38 AM org.springframework.web.context.ContextLoader initWebApplicationContext INFO: Root WebApplicationContext: initialization started May 22, 2009 10:27:38 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing org.springframework.web.context.support.xmlwebapplicationcont...@ae3364: display name [Root WebApplicationContext]; startup date [Fri May 22 10:27:38 EDT 2009]; root of context hierarchy May 22, 2009 10:27:38 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [umsDataServiceContext.xml] May 22, 2009 10:27:39 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf.xml] May 22, 2009 10:27:39 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-soap.xml] May 22, 2009 10:27:39 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-servlet.xml] May 22, 2009 10:27:41 AM mil.army.soa.adsl.common.impl.GenericPortTypeImplHelper getDataServiceCongiguration INFO: GenericPortTypeImplHelper for JAXB UMS Data Service created. May 22, 2009 10:27:41 AM smil.mil.army.forscom.ums._09_1._1_0.impl.UMSPortTypeImplHelper <init> INFO: UMSPortTypeImplHepler created. May 22, 2009 10:27:41 AM mil.army.soa.adsl.common.impl.OperationImpl <init> INFO: OperationImpl for JAXB UMS Data Service created. May 22, 2009 10:27:41 AM smil.mil.army.forscom.ums._09_1._1_0.impl.UMSRetrievePortTypeImpl <init> INFO: UMSRetrievePortTypeImpl created. May 22, 2009 10:27:41 AM org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition INFO: Overriding bean definition for bean 'cxf': replacing [Root bean: class [org.apache.cxf.bus.CXFBusImpl]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in class path resource [META-INF/cxf/cxf.xml]] with [Root bean: class [org.apache.cxf.bus.CXFBusImpl]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] May 22, 2009 10:27:41 AM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory INFO: Bean factory for application context [org.springframework.web.context.support.xmlwebapplicationcont...@ae3364]: org.springframework.beans.factory.support.defaultlistablebeanfact...@490342 May 22, 2009 10:27:41 AM org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker postProcessAfterInitialization INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) May 22, 2009 10:27:41 AM org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker postProcessAfterInitialization INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) May 22, 2009 10:27:41 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.defaultlistablebeanfact...@490342: defining beans [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.transport.servlet.ServletTransportFactory,ums.data.service.impl.jaxws-endpoint]; root of factory hierarchy May 22, 2009 10:27:41 AM org.springframework.web.context.ContextLoader initWebApplicationContext INFO: Root WebApplicationContext: initialization completed in 3055 ms May 22, 2009 10:27:41 AM org.apache.coyote.http11.Http11BaseProtocol start INFO: Starting Coyote HTTP/1.1 on http-8080 May 22, 2009 10:27:42 AM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 May 22, 2009 10:27:42 AM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/47 config=null May 22, 2009 10:27:42 AM org.apache.catalina.storeconfig.StoreLoader load INFO: Find registry server-registry.xml at classpath resource May 22, 2009 10:27:42 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 3917 ms When I point the browser to http://localhost:8080/JAXBDataService/services/, I got this output: ------------------------------------------------------------------------------------------------------------------------------ Available services: RetrievePortType Retrieve Endpoint address: http://localhost:8080/JAXBDataService/services/RetrieveService Wsdl: {urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds}RetrieveService Target namespace: urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds When I sent the following SOAP message from soapUI to the service, I got 'No service was found' and a warning on the consoler: Can't find the request for http://localhost:8080/JAXBDataService/services/RetrieveService's Observer: --------------------------------------------------------------------------------------------------------- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:soa.army.mil:adsl:sis:09-1:1-1:service:bma:log:ums-ds"> <soapenv:Header/> <soapenv:Body> <urn:RetrieveRequest/> </soapenv:Body> </soapenv:Envelope> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.