2013-10-21 4 views
0

나는 자바 웹 서비스를 생성하고 안드로이드 코드와 연결을 시도하고있다. 나는 서비스를 실행하고 있지만 안드로이드 애플 리케이션은 네임 스페이스와 메소드 이름을 생성하는 비누 객체에 오류를 표시하고있다. 나는 모든 변화와 모든 것을했다. 올바른 네임 스페이스, 메서드 이름, URL은 모두 correct.But 나도 아무 잘못이 누군지 나를 도울 수 있습니다 ... ...! 내 안드로이드 코드는 에있는 -----> 오류를 보여줍니다 - "SoapObject request = new SoapObject (NAMESPACE, METHOD_NAME);"안드로이드 웹 서비스 connenction 오류

public class RetailerActivity extends Activity { 
    private static final String SOAP_ACTION = "urn:training/searchCompanyInfo"; 
    private static final String METHOD_NAME = "searchCompanyInfo"; 
    private static final String NAMESPACE = "urn:training/"; 
    private static final String URL = "http://localhost/attest/CompanyInfoService?wsdl"; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     System.out.println(NAMESPACE); 
     System.out.println(METHOD_NAME); 
     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 


     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

     envelope.setOutputSoapObject(request); 

     HttpTransportSE ht = new HttpTransportSE(URL); 
     try { 
      ht.call(SOAP_ACTION, envelope); 
      SoapPrimitive response = (SoapPrimitive)envelope.getResponse(); 


      SoapPrimitive s = response; 
      String str = s.toString(); 
      String resultArr[] = str.split("&");//Result string will split & store in an array 

      TextView tv = new TextView(this); 

      for(int i = 0; i<resultArr.length;i++){ 
      tv.append(resultArr[i]+"\n\n"); 
      } 
      setContentView(tv); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

/stacktrace 오류 메시지를 표시하십시오 – fab

+0

프로젝트에 SoapLibary를 포함 시켰습니까? –

+0

@Ion Aalbers 나는 처음에 그 일을했지만 그 경고를 보여주는 오류를 볼 수 없다. –

답변

0

안드로이드에서는 메인 스레드에서 네트워크 작업을 수행 할 수 없습니다. 백그라운드 스레드에서 비누 요청을 실행해야합니다. AsyncTask에서 읽으십시오.