configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html


에러 내용은 위와 같다.


compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.1'

app.gradle에 추가할 때, 위와 같은 에러가 발생했는데 무슨 상황인지 그냥 짜증이 났다.

결론은 그냥 compileimplementation으로 바꾸면 해결 되는 문제였다.


implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.1'

본래 Android 개발자 사이트 링크 로 갑자기 이동 시켜서 엄청 많은 영어 글이 나온다.

그냥 에러만 해결하고 싶은데 귀찮게 한다.

그래서 일단 개발자 사이트의 내용들을 읽어보는데 무슨 내용인지 몰라서 그냥 끄고 다시 찾아보았다.

그런 와중에 해당 링크에서 implementation, api 개념을 잡았다.

여기서 개념을 잡고 다시 Android 개발자 사이트의 글을 보니깐 이해가 되었다.

'언어 > Android' 카테고리의 다른 글

Android WSDL parsing (1) - 개요  (0) 2018.10.25


서론


보통 통신을 할때, 일반적으로 JSON 혹은 XML 양식의 데이터를 사용한다고 그냥 느낌으로 알고 있다.

그런데 대부분의 회사들은 기존의 XML 양식을 많이 다룬다고 한다.

왠만하면 혼자서 XML, JSON 둘 중에 뭐쓸까? 고민을 하는거라면 JSON 쓰라고 한다.

왜냐면 간단하게 혼자 구현하기 좋거든.


그런데 기존의 시스템이 기본 XML 양식을 쓴다고 하면 그냥 인터넷 적당히 보고 베껴서 사용하면 된다.

문제는 그냥 기본 XML 양식이 아니라는 것이다. XML 양식을 활용한 WSDL 양식이 있다.

뭐 다른거 더 있겠지만 나는 현재 WSDL이라는 양식을 다루고자 한다.


Android를 활용해서 웹에서 WSDL 양식의 데이터를 받아와서 사용하는 것을 진행중이다.

처음에는 그냥 XML 양식인 줄 알았는데 자세히 보니깐 양식이 쬐끔 다르다.

무슨 SOAP 이라는 것을 사용한다고 한다.

그리고 툴 중에서는 SOAPUI 라는 것이 있는데 이것을 활용해서 WSDL의 구조를 쉽게 볼 수 있다.


그런데 대부분의 인터넷 예제들 찾아봤는데 길고 뭐라하는지도 잘 모르겠고 한글로 정리해놓은 블로그가 좀 보이기는 하는데 빠르게 가져다 쓰도록 해놓지는 않고 메소드 하나하나에 대해서 정리해놓아서 사용하기 매우 번거로웠음.

그래서 일단 가져다 쓸 수 있도록 하고 코드에 대한 추가설명을 하도록 하겠음.


WSDL (Web Services Description Language)


웹 서비스 기술언어 또는 기술된 정의 파일의 총칭으로 XML로 기술된다. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다.


WSDL 1.0은 SOAP 툴킷에 웹 서비스를 기술하기 위해 IBM, 마이크로소프트, Ariba에 의해 개발되었다.


WSDL은 네트워크의 엔드포인트나 포트의 총집합으로서의 서비스를 기술한다. WSDL의 사양은 XML형식을 제공한다.


WSDL은 자주 SOAP과 XML 스키마와 결합하여 인터넷 상에 웹 서비스를 제공하기 위해 사용되기도 한다.

웹 서비스에 연결되는 클라이언트 프로그랜은 WSDL 파일을 읽어들여 서버에 어떻나 조작이 가능한지를 결정할 수 있다.



버전 WSDL 버전 2.0은 W3C 권고안이다.

모든 HTTP 요청 메소드에 바인드하는 것을 허용함으로써 WSDL 2.0 사양은 RESTful 웹 서비스에 대한 더 나은 지원을 제공하며 구현하기가 훨씬 더 쉬워졌다.


모양은 아래와 같이 생겼다.

태그 내에 속성이 많이 들어있음.

[그림 1-1] WSDL 양식의 데이터


SOAP (Simple Object Access Protocol)


HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환되는 프로토콜이다.

SOAP은 웹 서비스에서 기본적인 메시지를 전달하는 기반이 된다. SOAP에는 몇 가지 형태의 메시지 패턴이 있지만, 보통의 경우 원격 프로시져 호출(RPC)패턴으로, 클라이언트에서 서버쪽으로 메시지를 요청하고, 서버는 메시지를 즉시 응답하게 된다. SOAP는 XML-RPC와 WDDX에서 envelope/header/body로 이루어진 구조와 전송과 상호 중립성의 개념을 가져왔다.


SOAP은 XML을 근간으로 헤더와 바디를 조합하는 디자인 패턴으로 설계되어 있다. 헤더는 선택사항으로 반복이나 보안 및 트랜잭션을 정보로 하는 메타 정보를 가지고 있다. 바디부분은 주요한 대부분의 정보를 다룬다.



SoapUI


처음에 WSDL을 파싱하기 전 까지는 몰랐던 툴이다. 이번에 공부하면서 조금 알아봤는데 생각보다 네임밸류 있는 툴이다. SOA(Service-Oriented Architecture) 및 REST(Representational State Transfer)를 위한 오픈 소스 웹 서비스 테스팅 앱이다.


SoapUI는 SOAP 및 REST 웹 서비스, JMS, AMF를 테스트 하고 HTTP(S) 및 JDBC 호출을 수행할 수 있다.

뭐 그래서 이 툴을 가지고 WSDL 양식의 데이터를 서버와 테스트하는데 도움을 좀 많이 받았다.

이것으로 테스트를 진행한 이후에 해당 테스트를 바탕으로 코드에 데이터를 적절하게 넣어주면 된다.



+ Recent posts