Based on the information you have provided I have created a basic interface as shown below.
this works as per your expectation.
<xsd:complexType name="input1">
<xsd:sequence>
<xsd:element name="in" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ClassNumber1">
<xsd:sequence>
<xsd:element minOccurs="0" name="out" type="tns:ClassNumber2" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ClassNumber2">
<xsd:sequence>
<xsd:element name="out" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="input1">
<wsdl:part element="tns:input1" name="parameters" />
</wsdl:message>
<wsdl:message name="ClassNumber1">
<wsdl:part element="tns:ClassNumber1" name="parameters" />
</wsdl:message>
<wsdl:portType name="NewWSDLFile">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:input1" />
<wsdl:output message="tns:ClassNumber1" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="NewWSDLFileSOAP" type="tns:NewWSDLFile">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="NewOperation">
<soap:operation soapAction="http://www.example.org/NewWSDLFile/NewOperation" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="NewWSDLFile">
<wsdl:port binding="tns:NewWSDLFileSOAP" name="NewWSDLFileSOAP">
<soap:address location="http://www.example.org/" />
</wsdl:port>
</wsdl:service>
Please check <wsdl:output message="tns:ClassNumber1" />
I believe you have given the wrong in your output information in your
<wsdl:message name="ClassNumber1">
<wsdl:part element="tns:ClassNumber1" name="parameters" />
</wsdl:message>
Hope this helps.