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.

Reply via email to