Connection wurde beim Aufrufen des SOAP-Webservice mit Android abgelehnt

Ich habe einen Webservice in .net entwickelt und versuche ihn in Android aufzurufen. Um den Webservice aufzurufen, benutze ich ksoap2.

Die URL von WDSL lautet:http: //localhost/Cidadaos_Cidade/Open.asmx? WSDL

Hier ist die WSDL

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://Cidadaos_Cidade/Open/" xmlns:s0="http://www.outsystems.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://Cidadaos_Cidade/Open/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.outsystems.com">
      <s:element name="GetCategoriasFull">
        <s:complexType />
      </s:element>
      <s:element name="GetCategoriasFullResponse">
        <s:complexType>
          <s:sequence>

            <s:element minOccurs="0" maxOccurs="1" name="Out1" type="s0:ArrayOfWORCCategoriaSubcategoriaRecord" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfWORCCategoriaSubcategoriaRecord">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="WORCCategoriaSubcategoriaRecord" nillable="true" type="s0:WORCCategoriaSubcategoriaRecord" />
        </s:sequence>
      </s:complexType>

      <s:complexType name="WORCCategoriaSubcategoriaRecord">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="ssENCategoria" type="s0:Categoria" />
          <s:element minOccurs="0" maxOccurs="1" name="ssENSubcategoria" type="s0:Subcategoria" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Categoria">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Id" type="s:int" />

          <s:element minOccurs="0" maxOccurs="1" name="Nome" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Subcategoria">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Id" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Nome" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Imagem" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="CategoriaId" type="s:int" />

        </s:sequence>
      </s:complexType>
      <s:element name="GetCategorias">
        <s:complexType />
      </s:element>
      <s:element name="GetCategoriasResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Out1" type="s0:ArrayOfCategoria" />

          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfCategoria">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Categoria" nillable="true" type="s0:Categoria" />
        </s:sequence>
      </s:complexType>
    </s:schema>

  </wsdl:types>
  <wsdl:message name="GetCategoriasFullSoapIn">
    <wsdl:part name="parameters" element="s0:GetCategoriasFull" />
  </wsdl:message>
  <wsdl:message name="GetCategoriasFullSoapOut">
    <wsdl:part name="parameters" element="s0:GetCategoriasFullResponse" />
  </wsdl:message>
  <wsdl:message name="GetCategoriasSoapIn">
    <wsdl:part name="parameters" element="s0:GetCategorias" />

  </wsdl:message>
  <wsdl:message name="GetCategoriasSoapOut">
    <wsdl:part name="parameters" element="s0:GetCategoriasResponse" />
  </wsdl:message>
  <wsdl:portType name="OpenSoap">
    <wsdl:operation name="GetCategoriasFull">
      <wsdl:input message="tns:GetCategoriasFullSoapIn" />
      <wsdl:output message="tns:GetCategoriasFullSoapOut" />
    </wsdl:operation>

    <wsdl:operation name="GetCategorias">
      <wsdl:input message="tns:GetCategoriasSoapIn" />
      <wsdl:output message="tns:GetCategoriasSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="OpenSoap" type="tns:OpenSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetCategoriasFull">
      <soap:operation soapAction="http://Cidadaos_Cidade/Open/GetCategoriasFull" style="document" />

      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCategorias">
      <soap:operation soapAction="http://Cidadaos_Cidade/Open/GetCategorias" style="document" />

      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="OpenSoap12" type="tns:OpenSoap">

    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetCategoriasFull">
      <soap12:operation soapAction="http://Cidadaos_Cidade/Open/GetCategoriasFull" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>

    </wsdl:operation>
    <wsdl:operation name="GetCategorias">
      <soap12:operation soapAction="http://Cidadaos_Cidade/Open/GetCategorias" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>

    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Open">
    <wsdl:port name="OpenSoap" binding="tns:OpenSoap">
      <soap:address location="http://localhost/Cidadaos_Cidade/Open.asmx" />
    </wsdl:port>
    <wsdl:port name="OpenSoap12" binding="tns:OpenSoap12">
      <soap12:address location="http://localhost/Cidadaos_Cidade/Open.asmx" />
    </wsdl:port>

  </wsdl:service>
</wsdl:definitions>

Und hier ist der Code, um es zu nennen

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);


        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        //soapEnvelope.dotNet = true; //tried with and without this flag
        soapEnvelope.setOutputSoapObject(request);

        AndroidHttpTransport aht = new AndroidHttpTransport(URL);
        try{
            //crashes in the following line with the exception:
            //java.net.ConnectException: localhost/127.0.0.1:80 - Connection refused
            aht.call(SOAP_ACTION, soapEnvelope);
            SoapObject resultsRequestSOAP = (SoapObject) soapEnvelope.bodyIn;

        }catch(Exception ex){
            ex.printStackTrace();
        }

Kann mir jemand helfen? Ich habe bereits versucht, es mit einem C # .net-Projekt aufzurufen, und es funktioniert einwandfrei. Tut mir leid, dass ich all das XML und den Code hier habe, aber ich bin verzweifelt ...

Antworten auf die Frage(6)

Ihre Antwort auf die Frage