메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

Android에서 JAX-WS 웹 서비스 액세스하기

Android 디바이스용 웹 서비스 클라이언트를 작성하는 방법 배우기

Deepak Vohra, 독립 컨설턴트
eepak Vohra는 Sun에서 공인하는 Java 프로그래머이자, 웹 컴포넌트 개발자이다. Deepak은 Java Developer's Journal과 XML Journal에 기사를 발표했다.

요약:  웹 서비스는 특정 기능에 맞는 서비스를 제공하며 특히, 모바일 디바이스에 적합합니다. KSoap2-android 프로젝트는 Android 플랫폼을 위한 SOAP 라이브러리입니다. 이 기사에서는 Android 클라이언트에서, WSDL이 제공되는 JAX-WS 웹 서비스를 액세스합니다. 이 웹 서비스는 요청에 대한 응답으로 이름이 포함된 Hello 메시지를 리턴합니다. 이 기사에서는 Eclipse ADT 플러그인과 KSoap2-android 라이브러리를 사용하여 Android용 웹 서비스 클라이언트를 작성합니다. 또한, AVD(Android Virtual Device)에서 이 웹 서비스 클라이언트를 테스트합니다. 이름을 요청 매개변수로 하여 Hello 웹 서비스에 요청을 전송하면 Android 가상 디바이스 에뮬레이터에 결과물이 응답으로 표시됩니다.

기사 게재일:  2011 년 8 월 31 일
난이도: 중급 원문:  보기
페이지뷰:  1812 회
의견:  


개요

이 기사에는 다음과 같은 섹션이 포함되어 있다.

  1. 선수조건
  2. JAX-WS 웹 서비스 작성
  3. ADT Eclipse Plugin & SDK 설치
  4. Android 프로젝트 작성
  5. KSoap2-android 라이브러리 설치
  6. 레이아웃 작성
  7. Activity 클래스 작성
  8. 인터넷 액세스 권한 구성
  9. AVD(Android Virtual Device) 작성
  10. Android 클라이언트를 실행하여 웹 서비스에 액세스

선수조건

이 기사에서는 독자에게 웹 서비스에 대한 사전 지식이 있다고 가정한다. 여기에서는 이름을 인수로 받아서 Hello 메시지를 리턴하는 메소드를 사용하여 간단한 JAX-WS 웹 서비스를 작성한다. 웹 서비스를 개발하려면 다음과 같은 소프트웨어 프레임워크가 필요하다.

  1. Eclipse IDE
  2. JAX-WS 웹 서비스를 지원하는 애플리케이션 서버. WebSphere로 JAX-WS 웹 서비스를 개발하는 데 필요한 초보자용 튜토리얼은 참고자료를 참조한다.

웹 서비스용 Android 클라이언트를 개발하려면 다음과 같은 소프트웨어 컴포넌트가 필요하다.

  1. Eclipse IDE
  2. Android SDK
  3. Eclipse용 ADT 플러그인
  4. KSoap2-android 라이브러리

JAX-WS 웹 서비스 작성

본질적으로 JAX-WS 웹 서비스는 javax.jws.WebService로 어노테이션된 Java 클래스인 웹 서비스 엔드포인트로 구성된다. 웹 서비스는 서비스 엔드포인트 구현 클래스로 구현되는 서비스 엔드포인트 인터페이스로 선택적으로 구성된다. 웹 서비스 구현 클래스는 추상 클래스최종 클래스가 되어서는 안 된다. 웹 서비스에 조작으로 노출되는 서비스 엔드포인트 구현 클래스의 비즈니스 메소드는 public이어야 하면 static이나 final이어서는 안 된다. 웹 서비스 구현 클래스 HelloWSImpl을 작성한다. 이 클래스는 @WebService로 어노테이션되어 있으며 HelloWS 인터페이스를 구현한다. 이 구현 클래스에는 String 매개변수 name을 받아서 해당 이름이 포함되어 있는 Hello 메시지를 리턴하는 hello 메소드가 포함되어 있다. 이 구현 클래스는 목록 1에 표시되어 있다.


리스트 1. 웹 서비스 구현 클래스 HelloWSImpl.java
				
package hello_webservice;
import javax.jws.*;
@WebService(portName = "HelloWSPort", serviceName = "HelloWSService", 
	targetNamespace = "http://hello_webservice/", 
	endpointInterface = "hello_webservice.HelloWS")
public class HelloWSImpl implements HelloWS {
	public String hello(String name) {
		// replace with your impl here
		 return "Hello "+name +" Welcome to Web Services!";

	}
}

서비스 엔드포인트 인터페이스 HelloWS에는 @WebMethod로 어노테이션된 hello 메소드가 포함되어 있으며 목록 2에 표시되어 있다.


리스트 2. 서비스 엔드포인트 인터페이스 HelloWS.java
				
package hello_webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(name = "HelloWS", targetNamespace = 
	"http://hello_webservice/")
public interface HelloWS {
	@WebMethod(operationName = "hello")
	public String hello(String name);
}	

다음에는 웹 서비스용 WSDL을 생성한다. 이 웹 서비스는 Android 클라이언트에서 WSDL로 사용할 수 있다. WSDL은 웹 서비스를 네트워크 엔드포인트(포트) 콜렉션으로 기술하는 데 필요한 XML 형식의 문서이다. 메시지는 교환될 데이터를 추상적으로 정의한 것이며 포트 유형은 조작 콜렉션을 추상화한 것이다. HelloWSService 웹 서비스 WSDL의 Design 뷰가 그림 1에 표시되어 있다.


그림 1. WSDL의 Design 뷰
WSDL의 Design 뷰

이 웹 서비스의 WSDL이 그림 2에 표시되어 있다.


그림 2. 웹 서비스 WSDL
Web Service WSDL

ADT Eclipse Plugin & SDK 설치

ADT(Android Development Tools)는 Android 애플리케이션을 개발하는 데 필요한 통합 환경을 제공하는 Eclipse IDE용 플러그인이다. Android SDK에는 Android 애플리케이션을 개발하는 데 필요한 도구와 라이브러리가 들어 있다. ADT 플러그인을 설치하려면 Help>Install New Software...를 선택하고 Add를 클릭한다. Add Repository 화면에서 그림 3과 같이 이름을 지정하고 위치는 https://dl-ssl.google.com/android/eclipse/로 지정한다. OK를 클릭한다.


그림 3. ADT 플러그인용 저장소 작성
ADT 플러그인용 저장소 작성

나열되어 있는 개발 도구를 그림 4와 같이 선택하고 Next를 클릭한다.


그림 4. 개발 도구 설치
개발 도구 설치

Install Details에서 Next를 클릭한다. 라이센스 계약의 이용 약관을 승인하고 Finish를 클릭한다. ADT 플러그인이 설치된다. 다음에는 Android SDK를 설치한다. Android 시작 패키지(installer_r09-windows.exe for Windows)를 다운로드한다. 설치 프로그램을 클릭하여 Android SDK Tools Setup Wizard를 시작한다. Android SDK를 설치하려면 JDK가 필요하므로 아직 JDK를 설치하지 않았으면 JDK 5.0이나 6.0을 설치한다. Next를 클릭한다. 설치 위치(기본 값은 C:\Program Files\Android\android-sdk-windows)를 지정하고 Next를 클릭한다. Start Menu Folder를 선택하고 Install을 클릭한다. 그림 5와 같이 Android SDK 도구가 설치된다. Next를 클릭한다.


그림 5. Adroid SDK 도구 설치
Adroid SDK 도구 설치

Finish를 클릭한다. Android SDK와 AVD Manager가 시작된다. 사용 가능한 패키지에서 설치할 패키지를 선택한다. 그림 6과 같이 패키지를 설치한다.


그림 6. Android SDK 및 AVD Manager
Android SDK 및 AVD Manager

다음에는 Android에 맞게 환경 설정을 구성한다. Eclipse에서 Window > Preferences를 선택한다. Preferences에서 Android 노드를 선택한다. 그림 7과 같이 SDK 위치를 지정한다.


그림 7. Android SDK 위치 설정
Android SDK 위치 설정

Android 프로젝트 작성

다음에는 Android용 웹 서비스 클라이언트를 작성할 Android 프로젝트를 작성한다. Eclipse IDE에서 File > New를 선택한다. New 화면에서 그림 8과 같이 Android>Android Project를 선택하고 Next를 클릭한다.


그림 8. Android 프로젝트 새로 작성
Android 프로젝트 새로 작성

New Android Project 화면에서 프로젝트 이름(AndroidWSClient)을 지정한다. Build Target 섹션에서 Android 2.2를 선택한다. Properties에서 애플리케이션 이름과 패키지 이름을 지정한다. Create Activity 선택란을 선택하고 Activity 클래스(AndroidWSClient)를 지정한다. 활동은 사용자 상호 작용을 나타내며 Activity 클래스를 확장하는 클래스는 UI 창을 작성한다. 그림 9와 같이 Min SDK Version을 8로 지정하고 Next를 클릭한다.


그림 9. Android 프로젝트 새로 작성
Android 프로젝트 새로 작성

New Android Test Project 화면에서 테스트 프로젝트를 작성할 수 있다. 그러나 이 기사에서는 테스트 프로젝트를 작성하지 않는다. Finish를 클릭한다. 그림 10과 같이 Android 프로젝트가 작성된다. Android 프로젝트는 다음과 같은 필수 컴포넌트로 구성된다.

  1. Activity 클래스를 확장하는 활동 클래스(AndroidWSClient)
  2. Android 애플리케이션의 레이아웃을 지정하는 데 필요한 res/layout/main.xml 파일
  3. 패키지 이름, 애플리케이션 컴포넌트, 프로세스, 권한 및 Android 시스템의 최소 API 레벨과 같은 필수 애플리케이션 정보가 포함된 AndroidManifest.xml 파일

그림 10. Android 프로젝트
Android 프로젝트

Ksoap2-android 라이브러리 설치

Ksoap2-android 라이브러리는 Android 플랫폼에 적합한 효과적인 경량 SOAP 라이브러리이다. ksoap2-android 프로젝트에서 ksoap2-android-assembly-2.4-jar-with-dependencies.jar 파일을 다운로드한다. 그림 11과 같이 종속 항목이 포함되어 있는 Ksoap2-android 어셈블리 JAR을 Java 빌드 경로에 추가한다.


그림 11. Ksoap2-android 라이브러리
Ksoap2-android 라이브러리

레이아웃 작성

res/layout/main.xml 파일에서 Android UI 컴포넌트의 레이아웃을 지정한다. 여기에서는 웹 서비스의 응답을 텍스트 메시지로 표시할 UI를 작성하게 된다. 선형 레이아웃에서 하위 요소가 수직으로 표시되는 LinearLayout을 작성한다. hello 메소드에 대한 메소드 호출의 웹 서비스 응답을 표시할 TextView 요소를 ID 결과와 함께 추가한다. 이 메소드 호출은 이름을 인수로 전송하고 응답으로 Hello 메시지를 수신한다. 필요에 따라 제목용 TextView 요소를 작성한다. Android 웹 서비스 클라이언트 애플리케이션의 그래픽 레이아웃은 그림 12에 표시되어 있다. 본질적으로 Android 화면은 웹 서비스 응답을 텍스트 메시지로 표시할 준비가 된 빈 화면이다.


그림 12. 그래픽 레이아웃
그래픽 레이아웃

main.xml 레이아웃 파일은 목록 3에 표시되어 있다.


리스트 3. main.xml 레이아웃 파일
				
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="" />
	<TextView android:id="@+id/result" android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
</LinearLayout>


Activity 클래스 작성

AndroidWSClient 클래스는 Android 애플리케이션의 활성 클래스이며 Activity 클래스를 확장한다. 이 섹션에서는 AndroidWSClient 활성 클래스를 구성한다. 다음과 같이 필수 Ksoap2-android 클래스를 가져온다.

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.ksoap2.serialization.PropertyInfo;

표 1에 있는 상수를 정의한다.


표 1. Activity 클래스의 상수
상수설명
NAMESPACE네임스페이스는 WSDL의 대상 네임스페이스(targetNamespace)이다.
URLWSDL URL이다. 이 값은 WSDL에 있는 port 요소의 soap:address 요소의 location 속성이다. 웹 서비스를 Android 디바이스에서 호스트하지 않는 경우에는 호스트 이름을 localhost로 지정하지 말아야 한다. 애플리케이션은 Android 디바이스에서 실행되지만, 웹 서비스는 localhost 서버에서 호스트되기 때문이다. 호스트 이름을 웹 서비스를 호스트하는 서버의 IP 주소로 지정한다.
METHOD_NAME웹 서비스 조작의 이름으로 WSDL에서 가져올 수 있다.
SOAP_ACTIONNAMESPACE와 METHOD_NAME이 합쳐진 것이며 문자열 리터럴로 지정된다.

상수 값은 다음과 같지만, URL 상수의 IP 주소는 변한다.

private static final String NAMESPACE = "http://hello_webservice/";
private static String URL="http://192.168.1.68:7001/HelloWebService/HelloWSService?WSDL"; 
private static final String METHOD_NAME = "hello";
private static final String SOAP_ACTION =  "http://hello_webservice/hello";

모든 Activity에서는 onCreate 메소드를 구현하여 활동을 초기화한다. setContentView 메소드와 레이아웃 자원을 사용하여 UI를 정의한다.

setContentView(R.layout.main);

main.xml에 정의된 TextView 요소에서 findViewById 메소드를 사용하여 Android 위젯 TextView 오브젝트를 작성한다.

TextView lblResult = (TextView) findViewById(R.id.result);

org.ksoap2.serialization.SoapObject 오브젝트를 작성하여 SOAP 요청을 빌드한다. SoapObject 생성자에서 호출될 메소드 이름과 SOAP 오브젝트의 네임스페이스를 지정한다.

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

SOAP 메소드 호출과 함께 전송할 특성 정보를 포함할 org.ksoap2.serialization.PropertyInfo 오브젝트를 작성한다. 각 특성은 PropertyInfo 오브젝트를 필요로 한다. hello 메소드는 인수를 하나(name)만 받는다. 특성 이름을 "arg0"으로 설정하고 특성 유형을 STRING_CLASS로 지정한다. addProperty 메소드를 사용하여 PropertyInfo 오브젝트를 SoapObject에 추가한다.

PropertyInfo propInfo=new PropertyInfo();
propInfo.name="arg0";
propInfo.type=PropertyInfo.STRING_CLASS;
request.addProperty(propInfo, "John Smith");  

다음에는 SOAP 엔벨로프를 작성한다. SoapSerializationEnvelope 클래스를 사용한다. 이 클래스는 직렬화된 SOAP 메시지의 구조를 표현하는 SOAP 직렬화 형식을 지원하여 SoapEnvelop 클래스를 확장한다. SOAP 직렬화를 이용하면 이식성을 개선할 수 있다는 이점이 생긴다.

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

SoapEnvelope.VER11 상수는 SOAP Version 1.1을 나타낸다. SoapObject 요청 오브젝트를 SOAP 메소드 호출의 아웃바운드 메시지로 엔벨로프에 지정한다.

envelope.setOutputSoapObject(request);

J2SE 기반의 HttpTransport 계층을 나타내는 org.ksoap2.transport.HttpTransportSE 오브젝트를 작성한다. HttpTransportSEorg.ksoap2.transport.Transport 클래스를 확장하며, 이 클래스는 SOAP 메시지를 직렬화하고 직렬화 해제하는 동작을 캡슐화한다.

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

SOAP_ACTION과 SOAP 엔벨로프를 사용하여 SOAP 호출을 작성한다.

androidHttpTransport.call(SOAP_ACTION, envelope);

SoapSerializationEnvelope 오브젝트의 getResponse 메소드를 사용하여 웹 서비스 응답을 얻고, 기본 유형을 캡슐화하는 데 사용된 SoapPrimitive 클래스에 응답 오브젝트를 캐스트한다.

SoapPrimitive  resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();

TextView UI 컴포넌트에서 SOAP 응답의 문자열 메시지를 설정한다.

lblResult.setText(resultsRequestSOAP.toString());

Activity 클래스는 아래 목록 4에 표시되어 있다.


리스트 4. Activity 클래스 AndroidWSClient.java
package android.webservice.client;


import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.ksoap2.serialization.PropertyInfo;


import android.widget.TextView;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;


public class AndroidWSClient extends Activity {

 
 private static final String NAMESPACE = "http://hello_webservice/";
 private static String URL = "http://192.168.1.68:7001/HelloWebService/
	HelloWSService?WSDL"; 
 private static final String METHOD_NAME = "hello";
 private static final String SOAP_ACTION =  "http://hello_webservice/hello";
 
 private TextView lblResult;
 

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  lblResult = (TextView) findViewById(R.id.result);
 
  SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

  
  PropertyInfo propInfo=new PropertyInfo();
  propInfo.name="arg0";
  propInfo.type=PropertyInfo.STRING_CLASS;
  
  request.addProperty(propInfo, "John Smith");  

  SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

  envelope.setOutputSoapObject(request);
 HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

  try {
   androidHttpTransport.call(SOAP_ACTION, envelope);
  
    SoapPrimitive  resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();
  

   lblResult.setText(resultsRequestSOAP.toString());
   
 
  } catch (Exception e) {
	  
   
  }

 }
}  



인터넷 액세스 권한 구성

Android 디바이스에서 웹 서비스를 액세스하려면 애플리케이션이 네트워크 소켓을 열 수 있도록 AndroidManifest.xml 파일에서 권한을 설정해야 한다. 다음 uses-permission 요소를 추가한다.

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

권한이 설정된 AndroidManifest.xml이 그림 13에 표시되어 있다.


그림 13. INTERNET 권한 설정
INTERNET 권한 설정

AndroidManifest.xml은 목록 5에 표시되어 있다.


리스트 5. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="android.webservice.client"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AndroidWSClient"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-sdk android:minSdkVersion="8" />

</manifest>
</uses-permission>


AVD 작성

Android SDK에는 Android 애플리케이션을 개발하고 테스트하는 데 필요한 가상 모바일 디바이스인 모바일 디바이스 에뮬레이터가 포함되어 있다. 이 에뮬레이터는 Android 플랫폼과 같은 다른 가상 모바일 디바이스 옵션을 지정할 수 있는 AVD(Android Virtual Device) 구성을 지원한다. AVD를 작성하려면 Window>Android SDK and AVD Manager를 클릭한다. 그림 14와 같이 Virtual devices를 클릭한 후, New를 클릭한다.


그림 14. AVD 작성
AVD 작성

Create New AVD 화면에서 Name을 지정하고 Target을 Android 2.2-API level 8로 선택하고 SD 카드 크기를 웹 클라이언트 애플리케이션을 설치하는 데 충분한 크기인 100MiB로 지정한다. 더 낮은 값(예: 10)을 지정하면 "No space left on device" 오류가 발생한다. 그림 15와 같이 Create AVD를 클릭하여 AVD를 작성한다.


그림 15. AVD 구성
AVD 구성

그림 16과 같이 AVD가 새로 작성된다.


그림 16. 새로 작성된 AVD
새로 작성된 AVD

Android 클라이언트를 실행하여 웹 서비스에 액세스

Android 에뮬레이터는 이 에뮬레이터를 사용자 정의할 수 있는 다양한 옵션을 제공한다. 예를 들어, 에뮬레이터를 확장하려면 다음 옵션을 사용하여 scale 값을 지정한다.

-scale <value>

에뮬레이터 옵션을 지정하려면 AndroidWSClient 애플리케이션을 마우스 오른쪽 단추로 클릭한 후, Run As..>Run Configurations를 선택한다. 그림 17과 같이 AndroidWSClient 애플리케이션을 선택하고 Additional Emulator Command Line Options 필드에서 -scale 옵션을 지정한 후, Apply를 클릭한다.


그림 17. 에뮬레이터 scale 옵션 설정
에뮬레이터 scale 옵션 설정

에뮬레이터에 AndroidWSClient 애플리케이션을 설치하고 실행하려면 그림 18과 같이 AndroidWSClient를 마우스 오른쪽 단추로 클릭하고 Run As..>Android Application을 선택한다.


그림 18. Android 애플리케이션 실행
Android 애플리케이션 실행

그림 19와 같이 AndroidWSClient 애플리케이션이 AVD에 설치된다. AVD에서 해당 애플리케이션을 클릭하여 웹 서비스 클라이언트를 실행한다.


그림 19. 설치된 Android 웹 서비스 클라이언트
설치된 Android 웹 서비스 클라이언트

이 웹 서비스가 호출되면 웹 서비스의 응답이 그림 20과 같이 Android 에뮬레이터에 표시된다.


그림 20. 웹 서비스 액세스
웹 서비스 액세스

Android 애플리케이션을 실행한 결과는 목록 6에 표시되어 있다.


리스트 6. Android 애플리케이션 실행 결과
 AndroidWSClient] Android Launch!
 AndroidWSClient] adb is running normally.
 AndroidWSClient] Performing android.webservice.client.AndroidWSClient activity launch
 AndroidWSClient] Automatic Target Mode: launching new emulator with compatible AVD 
	'AndroidAVD'
 AndroidWSClient] Launching a new emulator with Virtual Device 'AndroidAVD'
 AndroidWSClient] New emulator found: emulator-5554
 AndroidWSClient] Waiting for HOME ('android.process.acore') to be launched...
 AndroidWSClient] HOME is up on device 'emulator-5554'
 AndroidWSClient] Uploading AndroidWSClient.apk onto device 'emulator-5554'
 AndroidWSClient] Installing AndroidWSClient.apk...
 AndroidWSClient] Success!
 AndroidWSClient] Starting activity android.webservice.client.AndroidWSClient on device 
	emulator-5554
 AndroidWSClient] ActivityManager: Starting: Intent { act=android.intent.action.MAIN
 cat=[android.intent.category.LAUNCHER] 
 cmp=android.webservice.client/.AndroidWSClient }

Android 애플리케이션이 실행되면 다음과 같은 태스크가 수행된다.

  1. 새 에뮬레이터가 실행된다.
  2. AndroidWSClient.apk가 에뮬레이터에 업로드된다.
  3. AndroidWSClient.apk가 설치된다.
  4. android.webservice.client.AndroidWSClient 활동이 시작된다.

참고자료

교육

제품 및 기술 얻기

필자소개

eepak Vohra는 Sun에서 공인하는 Java 프로그래머이자, 웹 컴포넌트 개발자이다. Deepak은 Java Developer's Journal과 XML Journal에 기사를 발표했다.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=SOA와 웹서비스, Industries
ArticleID=754798
ArticleTitle=Android에서 JAX-WS 웹 서비스 액세스하기
publish-date=08312011
author1-email=dvohra09@yahoo.com
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.