title: CXF : No method was found for the WSDL operation
body: <p>I have been struggling with this for 2 days now so I must ask for help.</p>
  
  <p>I have a multifaced Maven project using Spring.</p>
  
  <pre><code>GesAction
  -ihm
  -metier
  -dao
  -entite
  -ws
  </code></pre>
  
  <p>The whole project compile, no problem with mvn:install.</p>
  
  <p>The problem lies in the ws module : I may have a problem with CXF configuration : When I deploy the module on my tomcat (v7) I have these warning for each operations on my WSDL : </p>
  
  <pre><code>déc. 29, 2015 10:02:56 AM org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean initializeWSDLOperations
  AVERTISSEMENT: No method was found for the WSDL operation {http://ws.gesaction.interiale.fr}Authentification.
  </code></pre>
  
  <p>But of course these operations are included in the WSDL... It drives me mad.</p>
  
  <p>Here are the configuration files:</p>
  
  <p>ws-context.xml</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;beans xmlns="http://www.springframework.org/schema/beans" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:context="http://www.springframework.org/schema/context" 
      xsi:schemaLocation="
          http://www.springframework.org/schema/beans  
          http://www.springframework.org/schema/beans/spring-beans-4.1.xsd       
          http://www.springframework.org/schema/context       
          http://www.springframework.org/schema/context/spring-context-4.1.xsd   "&gt;
  
      &lt;context:component-scan base-package="fr.interiale.gesaction.ws.impl"/&gt;
      &lt;context:annotation-config /&gt;  
      &lt;import resource="classpath:metier-context.xml"/&gt;  
      &lt;import resource="cxf-context.xml" /&gt;
  
  &lt;/beans&gt;
  </code></pre>
  
  <p>the cxf-context.xml :</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;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:soap="http://cxf.apache.org/bindings/soap" 
      xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="
          http://www.springframework.org/schema/beans 
          http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
          http://www.springframework.org/schema/context 
          http://www.springframework.org/schema/context/spring-context-4.1.xsd 
          http://cxf.apache.org/bindings/soap 
          http://cxf.apache.org/schemas/configuration/soap.xsd 
          http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"&gt;
  
  &lt;!--    &lt;bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/&gt; --&gt;
  
      &lt;jaxws:endpoint 
          id="interialActionSocialAuthentification" 
          implementor="fr.interiale.gesaction.ws.InterialActionSocialAuthentification"
          endpointName="tns:InterialActionSocialAuthentificationPort"
          serviceName="tns:InterialActionSocialAuthentificationService" 
          address="/InterialActionSocialAuthentificationPort"
          xmlns:tns="http://ws.gesaction.interiale.fr"
          wsdlLocation="wsdl/interialactionsocialauthentification.wsdl"&gt;
      &lt;/jaxws:endpoint&gt;
  
  &lt;/beans&gt;
  </code></pre>
  
  <p>And now the WSDL :
  </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;wsdl:definitions 
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:tns="http://ws.gesaction.interiale.fr" 
      name="interialactionsocialauthentification"
      targetNamespace="http://ws.gesaction.interiale.fr" 
      &gt;
  
      &lt;wsdl:types&gt;
          &lt;schema xmlns="http://www.w3.org/2001/XMLSchema"&gt;
              &lt;import namespace="http://ws.gesaction.interiale.fr" schemaLocation="interialactionsocialauthentification_schema1.xsd" /&gt;
          &lt;/schema&gt;
      &lt;/wsdl:types&gt;
  
  
      &lt;wsdl:message name="Authentification"&gt;
          &lt;wsdl:part name="parameters" element="tns:Authentification"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
      &lt;wsdl:message name="AuthentificationResponse"&gt;
          &lt;wsdl:part name="parameters" element="tns:AuthentificationResponse"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
      &lt;wsdl:message name="remiseANullTokenResponse"&gt;
          &lt;wsdl:part name="parameters" element="tns:remiseANullTokenResponse"&gt;
          &lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
      &lt;wsdl:message name="remiseANullToken"&gt;
          &lt;wsdl:part name="parameters" element="tns:remiseANullToken"&gt;
          &lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
      &lt;wsdl:message name="AuthentificationParTokenResponse"&gt;
          &lt;wsdl:part name="parameters" element="tns:AuthentificationParTokenResponse"&gt;
          &lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
      &lt;wsdl:message name="AuthentificationParToken"&gt;
          &lt;wsdl:part name="parameters" element="tns:AuthentificationParToken"&gt;
          &lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
      &lt;wsdl:message name="Exception"&gt;
          &lt;wsdl:part name="Exception" element="tns:Exception"&gt;
          &lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
      &lt;wsdl:portType name="InterialActionSocialAuthentification"&gt;
  
          &lt;wsdl:operation name="Authentification"&gt;
              &lt;wsdl:input name="Authentification" message="tns:Authentification"&gt;&lt;/wsdl:input&gt;
              &lt;wsdl:output name="AuthentificationResponse" message="tns:AuthentificationResponse"&gt;&lt;/wsdl:output&gt;
              &lt;wsdl:fault name="Exception" message="tns:Exception"&gt;&lt;/wsdl:fault&gt;
          &lt;/wsdl:operation&gt;
  
          &lt;wsdl:operation name="remiseANullToken"&gt;
              &lt;wsdl:input name="remiseANullToken" message="tns:remiseANullToken"&gt;
              &lt;/wsdl:input&gt;
              &lt;wsdl:output name="remiseANullTokenResponse" message="tns:remiseANullTokenResponse"&gt;
              &lt;/wsdl:output&gt;
              &lt;wsdl:fault name="Exception" message="tns:Exception"&gt;
              &lt;/wsdl:fault&gt;
          &lt;/wsdl:operation&gt;
          &lt;wsdl:operation name="AuthentificationParToken"&gt;
              &lt;wsdl:input name="AuthentificationParToken" message="tns:AuthentificationParToken"&gt;
              &lt;/wsdl:input&gt;
              &lt;wsdl:output name="AuthentificationParTokenResponse"
                  message="tns:AuthentificationParTokenResponse"&gt;
              &lt;/wsdl:output&gt;
              &lt;wsdl:fault name="Exception" message="tns:Exception"&gt;
              &lt;/wsdl:fault&gt;
          &lt;/wsdl:operation&gt;
      &lt;/wsdl:portType&gt;
  
      &lt;wsdl:binding name="InterialActionSocialAuthentificationServiceSoapBinding"
          type="tns:InterialActionSocialAuthentification"&gt;
          &lt;soap:binding style="document"
              transport="http://schemas.xmlsoap.org/soap/http" /&gt;
          &lt;wsdl:operation name="Authentification"&gt;
              &lt;soap:operation soapAction="" style="document" /&gt;
              &lt;wsdl:input name="Authentification"&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:input&gt;
              &lt;wsdl:output name="AuthentificationResponse"&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:output&gt;
              &lt;wsdl:fault name="Exception"&gt;
                  &lt;soap:fault name="Exception" use="literal" /&gt;
              &lt;/wsdl:fault&gt;
          &lt;/wsdl:operation&gt;
          &lt;wsdl:operation name="AuthentificationParToken"&gt;
              &lt;soap:operation soapAction="" style="document" /&gt;
              &lt;wsdl:input name="AuthentificationParToken"&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:input&gt;
              &lt;wsdl:output name="AuthentificationParTokenResponse"&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:output&gt;
              &lt;wsdl:fault name="Exception"&gt;
                  &lt;soap:fault name="Exception" use="literal" /&gt;
              &lt;/wsdl:fault&gt;
          &lt;/wsdl:operation&gt;
          &lt;wsdl:operation name="remiseANullToken"&gt;
              &lt;soap:operation soapAction="" style="document" /&gt;
              &lt;wsdl:input name="remiseANullToken"&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:input&gt;
              &lt;wsdl:output name="remiseANullTokenResponse"&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:output&gt;
              &lt;wsdl:fault name="Exception"&gt;
                  &lt;soap:fault name="Exception" use="literal" /&gt;
              &lt;/wsdl:fault&gt;
          &lt;/wsdl:operation&gt;
      &lt;/wsdl:binding&gt;
  
      &lt;wsdl:service name="InterialActionSocialAuthentificationService"&gt;
          &lt;wsdl:port name="InterialActionSocialAuthentificationPort"
              binding="tns:InterialActionSocialAuthentificationServiceSoapBinding"&gt;
              &lt;soap:address location="http://localhost:8080/gesAction-ws" /&gt;
          &lt;/wsdl:port&gt;
      &lt;/wsdl:service&gt;
  
  &lt;/wsdl:definitions&gt;
  </code></pre>
  
  <p>The XSD refered in the WSDL:
  </p>
  
  <pre><code>&lt;xs:schema 
      xmlns:tns="http://ws.gesaction.interiale.fr" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      attributeFormDefault="unqualified" 
      elementFormDefault="unqualified" 
      targetNamespace="http://ws.gesaction.interiale.fr"&gt;
  
    &lt;xs:element name="Authentification" type="tns:Authentification"/&gt;
    &lt;xs:element name="AuthentificationParToken" type="tns:AuthentificationParToken"/&gt;
    &lt;xs:element name="AuthentificationParTokenResponse" type="tns:AuthentificationParTokenResponse"/&gt;
    &lt;xs:element name="AuthentificationResponse" type="tns:AuthentificationResponse"/&gt;
    &lt;xs:element name="remiseANullToken" type="tns:remiseANullToken"/&gt;
    &lt;xs:element name="remiseANullTokenResponse" type="tns:remiseANullTokenResponse"/&gt;
    &lt;xs:element name="utilisateur" type="tns:utilisateur"/&gt;
  
    &lt;xs:complexType name="Authentification"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element minOccurs="0" name="arg0" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="arg1" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="arg2" type="xs:boolean"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:complexType name="AuthentificationResponse"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element minOccurs="0" name="return" type="tns:utilisateur"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:complexType name="utilisateur"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element minOccurs="0" name="idutilisateur" type="xs:decimal"/&gt;
        &lt;xs:element minOccurs="0" name="nom" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="prenom" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="login" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="mdp" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="profil" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="token" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="tokenTimestamp" type="tns:timestamp"/&gt;
        &lt;xs:element minOccurs="0" name="maritalStatus" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="profilSummary" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="birthday" type="xs:dateTime"/&gt;
        &lt;xs:element minOccurs="0" name="ville" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="codePostal" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="mobileNumber" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="email" type="xs:string"/&gt;
        &lt;xs:element minOccurs="0" name="civilite" type="xs:string"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:complexType name="timestamp"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="nanos" type="xs:int"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:complexType name="remiseANullToken"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="arg0" type="xs:int"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:complexType name="remiseANullTokenResponse"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="return" type="xs:boolean"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:complexType name="AuthentificationParToken"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element minOccurs="0" name="arg0" type="xs:string"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:complexType name="AuthentificationParTokenResponse"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element minOccurs="0" name="return" type="tns:utilisateur"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
    &lt;xs:element name="Exception" type="tns:Exception"/&gt;
    &lt;xs:complexType name="Exception"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element minOccurs="0" name="message" type="xs:string"/&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:schema&gt;
  </code></pre>
  
  <p>I can deployed this properly and send some SOAP request with SOAP GUI tool.</p>
  
  <p>But I cannot have this working :'(</p>
  
  <p>If anything is needed to help for understanding I will edit my post with it.</p>
  
  <p>Thank you very much for help.</p>