마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 SOAP 통신 질문드립니다.

0 추천
안드로이드 앱으로 cisco MSE API를 이용해서 간단한 SOAP 통신을 하려는데요.
 
Soap 통신에 대해서 Request 시에 파라미터 값을 어떠한 것을 넣어야 될지 몰라서 질문 드립니다.
 
아래 GetStationStats 이라는 메소드를 수행하려고 합니다.
 
METHOD: GetStationStats 
 
Returns  an AesMobileStation statistics record currently stored in the MSE based on various 
search criteria. 
Result: An AesBaseStats object or null if not found 
Arguments: AesBusinessSession, AesMobileStation Key 
 
7.3.1 SOAP Request 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
  <SOAP-ENV:Body> 
    <GetStationStats xmlns=” http://cisco.com/mse/location”> 
      <AesBusinessSession id="10510"/> 
      <AesMobileStation macAddress="00:01:02:03:04:05"/> 
    </GetStationStats> 
  </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 
7.3.2 SOAP Response 
7.3.2.1 Success 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
  <SOAP-ENV:Body> 
    <Response xmlns=” http://cisco.com/mse/location”> 
      <AesBaseStats  macAddress="00:01:02:03:04:05" packetsSent=”12” 
bytesSent=”1221111” packetsRecv=”1111” bytesRecv=”1212204” policyErrors=”0” 
changedOn=”1220324324”/> 
    </Response> 
  </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 
     
========================================================================
 
1. 아래 코드에 url 주소만 넣어도 되나요? 특정 포트?? 페이지?? (private static final String URL = "192.168.100.231";) 
 
2. SOAP_ACTION ,NAMESPACE에  위 SOAP XML을 어떠한 값을 넣어야 되나요?
 
- SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME); <--- ???
        Log.e("dd", "Soap Created");
        SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.??? ); <---- ???
        envelope.dotNet=true;
        envelope.setOutputSoapObject(request);
 
        request.addProperty(" ????? " , ???? ); <----- ???? 
 
private static final String SOAP_ACTION = " ";
private static final String METHOD_NAME = " ";
private static final String NAMESPACE = " ";
private static final String URL = "192.168.100.231";
   
EditText searchText;
TextView outPut;
    Button searchbtn;
    
====================================================================    
 
private void soapData(String searchData) {//soap 통신 메소드 날려주고 데이터 받아옮
 
        SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME);
        Log.e("dd", "Soap Created");
        SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.??? );
        envelope.dotNet=true;
        envelope.setOutputSoapObject(request);
 
        request.addProperty(" ????? " , ???? );
 
        HttpTransportSE androidHttpTransport=new HttpTransportSE(URL);
 
        androidHttpTransport.debug = true;
 
        try
        {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
            //String result1 = xmlPasing(result.toString()); //xml파싱
            String re_xml = result.toString();
            outPut.setText(re_xml); //결과값 출력
        } catch(Exception e)
        {
            Log.e("dd", "Soap Catch",e);
            e.printStackTrace();
        } //try-catch
    }
 
 
===================================================
감사합니다.
 

 

하하매니즈 (120 포인트) 님이 2013년 8월 8일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...