2016-06-11 8 views
1

Ich bin mit Java Web Service zu erstellen, ich habe LinkAnruf Seife Wsdl Web-Service android

http://localhost:8181/NetBeansProjects/WsTlu30LichPhongVan?WSDL

auf Android Studio verwende ich EasyWSDL Generator Plugin, um WS per Link aufzurufen und HFIWsDangNhapPortBinding.java generieren, dann habe ich Code:

public String testLogin(String username, String pass) { 
    String result = ""; 
    try { 
     result = wsDangNhapPortBinding.TestLogin(username, pass); 
    } catch (Exception e) { 
     result = "catch"; 
     e.getStackTrace(); 
    } 
    return result; 
} 

wenn ich testLogin aufrufen, die gerade fangen?

Antwort

1

Verwenden Sie unter Code, um Soap Web Service von Android App aufrufen. es braucht ksoap library so herunterladen und fügen Sie ksoap library zu Ihrem android-projekt

public class WebServices { 
    private static String serviceResponse; 
    final static String NAMESPACE = "http://tempuri.org/"; 
    final static String URL = "http://" + AppConstants.IP + "/MobileService.asmx "; 


    public static String dynamicWebCall(String methodName,HashMap<String,String> parameters) { 

     String SOAP_ACTION = "http://tempuri.org/"+methodName; 
     try { 
      SoapObject request = new SoapObject(NAMESPACE, methodName); 
      if(parameters != null){ 
       for (Map.Entry<String, String> para : parameters.entrySet()) { 
        request.addProperty(para.getKey(), para.getValue()); 
       } 
      } 
      SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
        SoapEnvelope.VER11); 
      new MarshalBase64().register(envelope); // serialization 
      envelope.dotNet = true; 
      Log.d("test", "URL = " + URL); 
      Log.d("test", "request= " + request.toString()); 
      envelope.setOutputSoapObject(request); 
      HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
      androidHttpTransport.call(SOAP_ACTION, envelope); 
      SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); 

      if (response != null) { 
       serviceResponse = response.toString(); 
      } else { 
       serviceResponse = "0"; 
      } 

      Log.d("test", methodName + "response = " + serviceResponse); 
     } catch (Exception e) { 
      Log.d("test", "Error - " + e.toString()); 
      serviceResponse = "Error"; 
     } 
     return serviceResponse; 
    } 
}