title: Spring WS is not generating wsdl operations for all the public methods in the Endpoint class
body: <p>I have a Spring endpoint class with two public methods. But when Spring is auto-generating the wsdl it doesn't include the second public method. Could you pleas let me know what is wrong and what needs to be done. I am using Spring 4.3 and below are the classes.</p>
  
  <p>Configuration class</p>
  
  <pre><code>@EnableWs
  @Configuration
  public class SoapServiceConfig extends WsConfigurerAdapter {
  
      @Bean
      public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) {
          MessageDispatcherServlet servlet = new MessageDispatcherServlet();
          servlet.setApplicationContext(applicationContext);
          servlet.setTransformWsdlLocations(true);
  
          return new ServletRegistrationBean(servlet, "/ws/*");
      }
  
      @Bean(name = "policies")
      public DefaultWsdl11Definition policyserviceWsdl11Definition(@Autowired @Qualifier("swissSchema") XsdSchema swissSchema) {
          DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
          wsdl11Definition.setPortTypeName("PoliciesPort");
          wsdl11Definition.setLocationUri("/ws");
          wsdl11Definition.setTargetNamespace("http://www.testcomp.com/iaworkflow/soapservice");
          wsdl11Definition.setSchema(swissSchema);
          return wsdl11Definition;
      }
  
      @Bean(name = "bankservice")
      public DefaultWsdl11Definition bankServiceWsdlDefinition(@Autowired @Qualifier("bankSchema")XsdSchema bankSchema) {
          DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
          wsdl11Definition.setPortTypeName("BankAPIPort");
          wsdl11Definition.setLocationUri("/ws/bankapi");
          wsdl11Definition.setTargetNamespace("http://www.testcomp.com/consumer/bankservice/soapservice");
          wsdl11Definition.setSchema(bankSchema);
          return wsdl11Definition;
      }
  
      @Bean
      @Qualifier("bankSchema")
      public XsdSchema bankSchema() {
          return new SimpleXsdSchema(new ClassPathResource("bankservice.xsd"));
      }
  
      @Bean
      @Qualifier("swissSchema")
      public XsdSchema swissSchema() {
          return new SimpleXsdSchema(new ClassPathResource("policylookup.xsd"));
      }
  }
  </code></pre>
  
  <p>Endpoint</p>
  
  <pre><code>@Endpoint
  public class BankingServiceEndpoint {
      private static final String NAMESPACE_URI = "http://www.testcomp.com/consumer/bankservice/soapservice";
  
      @PayloadRoot(namespace = NAMESPACE_URI, localPart = "BankInfoSearchRequest")
      @ResponsePayload
      public BankInfoSearchResponse getBankInfo(@RequestPayload BankInfoSearchRequest request) {
  
          BankInfoSearchResponse response = createDummyResponse(request.getPolicyNumber(),request.getLimit());
          return response;
      }
  
      @PayloadRoot(namespace = NAMESPACE_URI, localPart = "BankVerificationRequest")
      @ResponsePayload
      public BankVerificationResponse verifyBankInformation(@RequestPayload BankVerificationRequest request) {
  
  
          return BankVerificationResponse.builder().build();
      }
  }
  </code></pre>
  
  <p>Generated WSDL</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;&lt;wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch="http://www.testcomp.com/consumer/bankservice/soapservice" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.testcomp.com/consumer/bankservice/soapservice" targetNamespace="http://www.testcomp.com/consumer/bankservice/soapservice"&gt;
    &lt;wsdl:types&gt;
      &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.testcomp.com/consumer/bankservice/soapservice" version="1.0"&gt;
  
      &lt;xs:element name="BankInfoSearchRequest"&gt;
          &lt;xs:complexType&gt;
              &lt;xs:sequence&gt;
                  &lt;xs:element name="policyNumber" type="xs:string"/&gt;
                  &lt;xs:element name="limit" type="xs:int"/&gt;
              &lt;/xs:sequence&gt;
          &lt;/xs:complexType&gt;
      &lt;/xs:element&gt;
  
      &lt;xs:element name="BankInfoSearchResponse"&gt;
          &lt;xs:complexType&gt;
              &lt;xs:sequence&gt;
                  &lt;xs:element maxOccurs="1" name="policyNumber" nillable="false" type="xs:string"/&gt;
                  &lt;xs:element name="bankdatas" type="tns:BankDatas"/&gt;
                  &lt;xs:element maxOccurs="1" name="error" nillable="true" type="xs:string"/&gt;
              &lt;/xs:sequence&gt;
          &lt;/xs:complexType&gt;
      &lt;/xs:element&gt;
  
      &lt;xs:complexType name="BankDatas"&gt;
          &lt;xs:sequence&gt;
              &lt;xs:element maxOccurs="unbounded" name="bankinfo" type="tns:BankInfo"/&gt;
          &lt;/xs:sequence&gt;
      &lt;/xs:complexType&gt;
  
      &lt;xs:complexType name="BankInfo"&gt;
          &lt;xs:sequence&gt;
              &lt;xs:element name="AccountNumber" type="xs:string"/&gt;
              &lt;xs:element name="RoutingNumber" type="xs:string"/&gt;
              &lt;xs:element name="BankName" type="xs:string"/&gt;
              &lt;xs:element name="VerificationDescription" type="xs:string"/&gt;
              &lt;xs:element name="VerificationCode" type="xs:string"/&gt;
              &lt;xs:element name="Verified" type="xs:boolean"/&gt;
          &lt;/xs:sequence&gt;
      &lt;/xs:complexType&gt;
  
      &lt;xs:complexType name="BankVerificationRequest"&gt;
          &lt;xs:sequence&gt;
              &lt;xs:element maxOccurs="1" name="PolicyOwnerInformation" type="tns:PolicyOwnerInformation"/&gt;
              &lt;xs:element maxOccurs="1" name="BankInfo" type="tns:BankInfo"/&gt;
          &lt;/xs:sequence&gt;
      &lt;/xs:complexType&gt;
  
      &lt;xs:complexType name="PolicyOwnerInformation"&gt;
          &lt;xs:sequence&gt;
              &lt;xs:element name="FirstName" type="xs:string"/&gt;
              &lt;xs:element name="MiddleName" type="xs:string"/&gt;
              &lt;xs:element name="LastName" type="xs:string"/&gt;
              &lt;xs:element name="SSN" type="xs:string"/&gt;
          &lt;/xs:sequence&gt;
      &lt;/xs:complexType&gt;
  
      &lt;xs:complexType name="BankVerificationResponse"&gt;
          &lt;xs:sequence&gt;
              &lt;xs:element maxOccurs="1" name="PolicyOwnerInformation" type="tns:PolicyOwnerInformation"/&gt;
              &lt;xs:element maxOccurs="1" name="Bankinfo" type="tns:BankInfo"/&gt;
              &lt;xs:element name="BankVerificationTransactionId" type="xs:string"/&gt;
              &lt;xs:element name="ItemReferenceId" type="xs:string"/&gt;
              &lt;xs:element name="SubmittedBy" type="xs:string"/&gt;
              &lt;xs:element name="VerificationResponse" type="xs:string"/&gt;
              &lt;xs:element name="VerificationStatus" type="xs:string"/&gt;
              &lt;xs:element name="BankVerificationTransactionType" type="xs:string"/&gt;
              &lt;xs:element name="Created" type="xs:string"/&gt;
              &lt;xs:element name="Success" type="xs:string"/&gt;
              &lt;xs:element name="Error" type="xs:string"/&gt;
          &lt;/xs:sequence&gt;
      &lt;/xs:complexType&gt;
  &lt;/xs:schema&gt;
    &lt;/wsdl:types&gt;
    &lt;wsdl:message name="BankInfoSearchResponse"&gt;
      &lt;wsdl:part element="tns:BankInfoSearchResponse" name="BankInfoSearchResponse"&gt;
      &lt;/wsdl:part&gt;
    &lt;/wsdl:message&gt;
    &lt;wsdl:message name="BankInfoSearchRequest"&gt;
      &lt;wsdl:part element="tns:BankInfoSearchRequest" name="BankInfoSearchRequest"&gt;
      &lt;/wsdl:part&gt;
    &lt;/wsdl:message&gt;
    &lt;wsdl:portType name="BankAPIPort"&gt;
      &lt;wsdl:operation name="BankInfoSearch"&gt;
        &lt;wsdl:input message="tns:BankInfoSearchRequest" name="BankInfoSearchRequest"&gt;
      &lt;/wsdl:input&gt;
        &lt;wsdl:output message="tns:BankInfoSearchResponse" name="BankInfoSearchResponse"&gt;
      &lt;/wsdl:output&gt;
      &lt;/wsdl:operation&gt;
    &lt;/wsdl:portType&gt;
    &lt;wsdl:binding name="BankAPIPortSoap11" type="tns:BankAPIPort"&gt;
      &lt;soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt;
      &lt;wsdl:operation name="BankInfoSearch"&gt;
        &lt;soap:operation soapAction=""/&gt;
        &lt;wsdl:input name="BankInfoSearchRequest"&gt;
          &lt;soap:body use="literal"/&gt;
        &lt;/wsdl:input&gt;
        &lt;wsdl:output name="BankInfoSearchResponse"&gt;
          &lt;soap:body use="literal"/&gt;
        &lt;/wsdl:output&gt;
      &lt;/wsdl:operation&gt;
    &lt;/wsdl:binding&gt;
    &lt;wsdl:service name="BankAPIPortService"&gt;
      &lt;wsdl:port binding="tns:BankAPIPortSoap11" name="BankAPIPortSoap11"&gt;
        &lt;soap:address location="http://localhost:9080/workflowintg/ws/bankapi"/&gt;
      &lt;/wsdl:port&gt;
    &lt;/wsdl:service&gt;
  &lt;/wsdl:definitions&gt;
  </code></pre>