title: How to get wsdl input and output names to appear
body: <p>I have a WCF web service project (VB.NET 3.5), and the WSDL it generates does not have the input and output names, like this:</p>
  
  <pre><code>&lt;wsdl:operation name="getListing"&gt;
    &lt;soap:operation soapAction="getListing" style="document" /&gt; 
    &lt;wsdl:input&gt;
      &lt;soap:body use="literal" /&gt; 
    &lt;/wsdl:input&gt;
    &lt;wsdl:output&gt;
      &lt;soap:body use="literal" /&gt; 
    &lt;/wsdl:output&gt;
  &lt;/wsdl:operation&gt;
  </code></pre>
  
  <p>I need the input and output names to be defined in the WSDL, like this:</p>
  
  <pre><code>&lt;wsdl:operation name="getListing"&gt;
      &lt;wsdlsoap:operation soapAction="getListing"/&gt;
      &lt;wsdl:input name="getListingRequest"&gt;
          &lt;wsdlsoap:body use="literal"/&gt;
      &lt;/wsdl:input&gt;
      &lt;wsdl:output name="getListingResponse"&gt;
          &lt;wsdlsoap:body use="literal"/&gt;
      &lt;/wsdl:output&gt;
  &lt;/wsdl:operation&gt;
  </code></pre>
  
  <p>This is the definition for the method in question:</p>
  
  <pre><code>&lt;OperationContract(Action:="getListing")&gt; _
      &lt;WebMethod(Description:="Retrieve Base64 binary.", EnableSession:=True)&gt; _
      Public Overloads Overrides Function getListing(&lt;System.Xml.Serialization.XmlElementAttribute([Namespace]:="http://namespacehere.com")&gt; ByVal getListingRequest As ListingRequest) As ListingResponse
  </code></pre>
  
  <p>I feel like I'm missing something stupid, does anyone know what it is? There are so many options and parameters, I can't find the right ones that determine this.</p>