2016-02-23 77 views
1

我想在點擊登錄按鈕時使用基於SOAP的Web服務。 我的代碼如下codename一個網絡服務肥皂呼叫不起作用

loginButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent evt) { 
     Log.p(" CaterId : "+catererId.getText()); 
     Log.p(" Username : "+loginId.getText()); 
     Log.p(" Password : "+password.getText()); 

     final String InputParameter = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:tem=\"http://tempuri.org/\">" 
             +" <soap:Header/>" 
             +" <soap:Body>" 
             +"  <tem:AuthenticateSupervisor>" 
             +"   <tem:username>TestAbhi</tem:username>" 
             +"   <tem:password>TestAbhi</tem:password>" 
             +"   <tem:caterer>calihanint</tem:caterer>" 
             +"  </tem:AuthenticateSupervisor>" 
             +" </soap:Body>" 
             +"</soap:Envelope>"; 
     ConnectionRequest r= new ConnectionRequest() { 

      @Override 
      protected void buildRequestBody(OutputStream os) throws IOException { 
       os.write(InputParameter.getBytes("UTF-8")); 
      } 

      @Override 
      protected void postResponse() { 
       //super.postResponse(); 
      } 

      @Override 
      protected void readResponse(InputStream input) throws IOException { 
       //super.readResponse(input); 
       XMLParser parser = new XMLParser(); 
       Element elem = parser.parse(new InputStreamReader(input)); 
       Log.p(" Came heer"+elem); 
      }     
     }; 
     r.setUrl("http://192.168.10.224:8888/CXPPostScheduleService/Service.asmx"); 
     r.setPost(false); 
     /*r.addArgument("username", "TestAbhi"); 
     r.addArgument("password", "TestAbhi"); 
     r.addArgument("caterer", "calihanint");*/ 
     r.setContentType("application/soap+xml;charset=UTF-8"); 
     NetworkManager.getInstance().addToQueueAndWait(r); 
     r.getResponseData(); 
    } 
}); 

它顯示一個HTML文件作爲響應。你能幫我檢查一下我在這段代碼中做錯了什麼。

回答

1

我想你需要一個POST請求嘗試:

r.setPost(true); 

如果調用此從設備,確保設備在同一個網絡服務器,否則NAT本地地址將可達英寸注意,如果服務器託管在其他地方而不是在您的機器上,這也適用於模擬器。

我還建議檢查服務器日誌,錯誤響應代碼併發布錯誤HTML。您可以使用模擬器中的網絡監視器工具來進一步調試。

+0

添加了一些其他選項 –

+0

感謝這個小小的變化對我有用 – user2243420