Я пишу приложение для Android, которому нужно 4 параметра, и использую веб-сервис wcf SOAP, используя ksoap2.
Данные, передаваемые веб-службе, должны соответствовать данным, отправляемым из .Net.
Java-код:
private static final String method_name = "PagoMovil.ConsultarArticulo";
// Namespace definido en el servicio web
private static final String name_space = "http://www.domain.mx/pagomovil/pagomovil/";
// namespace + metodo
private static final String soap_action = "http://www.domain.mx/pagomovil/pagomovil/PagoMovil/ConsultarArticulo";
// Fichero de definicion del servcio web
private static final String wsdl_url = "http://www.domain.mx/pagomovildev/PagoMovil.svc?wsdl";
SoapObject soapObject =new SoapObject(name_space,method_name);
PropertyInfo TipoArticulo = new PropertyInfo();
TipoArticulo.setName("TipoArticulo");
TipoArticulo.setValue("M");
TipoArticulo.setType(String.class);
soapObject.addProperty(TipoArticulo);
PropertyInfo ClaveArticulo = new PropertyInfo();
ClaveArticulo.setName("ClaveArticulo");
ClaveArticulo.setValue("122-2");
ClaveArticulo.setType(String.class);
soapObject.addProperty(ClaveArticulo);
PropertyInfo Usuario = new PropertyInfo();
Usuario.setName("Usuario");
Usuario.setValue("USUARIOS");
Usuario.setType(String.class);
soapObject.addProperty(Usuario);
PropertyInfo Password = new PropertyInfo();
Password.setName("Password");
Password.setValue("CLAVES");
Password.setType(String.class);
soapObject.addProperty(Password);
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.dotNet=true;
envelope.setOutputSoapObject(soapObject);
HttpTransportSE httpTransportSE=new HttpTransportSE(wsdl_url);
try {
httpTransportSE.call(soap_action,envelope);
SoapObject result=(SoapObject) envelope.bodyIn;
String resultado= result.getProperty(0).toString();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
Это тот XML, который необходим веб-сервису:
Мой код в java возвращает "anytype {}" без каких-либо данных, я думаю, что когда я устанавливаю имя и значение, propertyinfo не получает значений.
Как я могу структурировать свой код для правильной работы веб-службы?