Hola, soy nuevo en el foro, y desde ya agradezco cualquier ayuda que me puedan dar. Tengo una aplicación android que debe consumir un WebService hecho en JAVA. Uso KSOAP2 para esto. Antes usaba un Wservice en .Net y funcionaba sin problemas. Sin embargo, ahora que tuve que cambiarlo por este otro Wservice en JAVA, no funciona, y devuelve el siguiente error:
Código:
java.lang.NoSuchMethodException: no such method 'getSiniestrosPorLiquidador' on class com.mag.sin.ws.__SiniestroWsPhotoStatelessWrapper at com.mag.sin.ws.__SiniestroWsPhotoStatelessWrapper.invokeMethod(__SiniestroWsPhotoStatelessWrapper.java:188)
El código usado es este:
Código:
public Object getCasos(String IdCaso, String RutInspector)
{
Object result=null;
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//request.addProperty("IdCaso", IdCaso);
request.addProperty("p_idLiquidador", RutInspector);
request.addProperty("p_idEmpresa", "1");
request.addProperty("p_nombreAplicacion", "SINIESTRO");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//envelope.dotNet=false;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
//envelope.addMapping(NAMESPACE, "IdCasos",new IdCasos().getClass());
androidHttpTransport.call(SOAP_ACTION, envelope);
result = envelope.getResponse();
} catch (Exception e) {
return null;
}
return result;
}
Estos son los parámetros:
Código:
NAMESPACE=http://com/mag/sin/ws/SiniestroWsPhoto.wsdl
METHOD=getSiniestrosPorLiquidador
RutInspector = "236"
SOAPACTION=http://com/mag/sin/ws/SiniestroWsPhoto.wsdl/getSiniestrosPorLiquidador
IdCaso es irrelevante
URL=http://magapp.magallanes.cl/WebServices/SiniestroWsPhoto?WSDL
Este es el WSDL
Código:
<!--
Generated by the Oracle JDeveloper 10g Web Services WSDL Generator
-->
<!-- Date Created: Thu Apr 12 16:59:55 VET 2012 -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="http://com/mag/sin/ws/SiniestroWsPhoto.wsdl" xmlns:ns1="http://com.mag.sin.ws/ISiniestroWsPhoto.xsd" name="SiniestroWsPhoto"targetNamespace="http://com/mag/sin/ws/SiniestroWsPhoto.wsdl">
<types>
<ns0:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://schemas.xmlsoap.org/wsdl/"targetNamespace="http://com.mag.sin.ws/ISiniestroWsPhoto.xsd"/>
</types>
<message name="getSiniestrosPorLiquidador0Request">
<part name="p_idLiquidador" type="xsd:string"/>
<part name="p_idEmpresa" type="xsd:int"/>
<part name="p_nombreAplicacion" type="xsd:string"/>
</message>
<message name="getSiniestrosPorLiquidador0Response">
<part name="return" type="xsd:string"/>
</message>
<message name="actualizarFechaFoto1Request">
<part name="denFolio" type="xsd:int"/>
<part name="p_involucrado" type="xsd:int"/>
<part name="p_idLiquidador" type="xsd:string"/>
<part name="p_idEmpresa" type="xsd:int"/>
<part name="p_nombreAplicacion" type="xsd:string"/>
</message>
<message name="actualizarFechaFoto1Response">
<part name="return" type="xsd:string"/>
</message>
<message name="getValidarUsuario2Request">
<part name="p_usuId" type="xsd:string"/>
</message>
<message name="getValidarUsuario2Response">
<part name="return" type="xsd:int"/>
</message>
<portType name="SiniestroWsPhotoPortType">
<operation name="getSiniestrosPorLiquidador">
<input name="getSiniestrosPorLiquidador0Request" message="tns:getSiniestrosPorLiquidador0Request"/>
<output name="getSiniestrosPorLiquidador0Response" message="tns:getSiniestrosPorLiquidador0Response"/>
</operation>
<operation name="actualizarFechaFoto">
<input name="actualizarFechaFoto1Request" message="tns:actualizarFechaFoto1Request"/>
<output name="actualizarFechaFoto1Response" message="tns:actualizarFechaFoto1Response"/>
</operation>
<operation name="getValidarUsuario">
<input name="getValidarUsuario2Request" message="tns:getValidarUsuario2Request"/>
<output name="getValidarUsuario2Response" message="tns:getValidarUsuario2Response"/>
</operation>
</portType>
<binding name="SiniestroWsPhotoBinding" type="tns:SiniestroWsPhotoPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getSiniestrosPorLiquidador">
<soap:operation soapAction="" style="rpc"/>
<input name="getSiniestrosPorLiquidador0Request">
<soap:body use="encoded" namespace="SiniestroWsPhoto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output name="getSiniestrosPorLiquidador0Response">
<soap:body use="encoded" namespace="SiniestroWsPhoto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="actualizarFechaFoto">
<soap:operation soapAction="" style="rpc"/>
<input name="actualizarFechaFoto1Request">
<soap:body use="encoded" namespace="SiniestroWsPhoto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output name="actualizarFechaFoto1Response">
<soap:body use="encoded" namespace="SiniestroWsPhoto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="getValidarUsuario">
<soap:operation soapAction="" style="rpc"/>
<input name="getValidarUsuario2Request">
<soap:body use="encoded" namespace="SiniestroWsPhoto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output name="getValidarUsuario2Response">
<soap:body use="encoded" namespace="SiniestroWsPhoto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="SiniestroWsPhoto">
<port name="SiniestroWsPhotoPort" binding="tns:SiniestroWsPhotoBinding">
<soap:address location="http://magapp.magallanes.cl/siniestroWs/SiniestroWsPhoto"/>
</port>
</service>
</definitions>
No entiendo el error, ya que el nombre que uso para el método es el correcto. A todo esto, tengo permitido el acceso a internet en en archivo AndroidManifest.xml
Por favor ayúdenme no se que pueda ser el error. Gracias