웹서비스 Java Client만들기, WSDL 자바 클라이언트, WCF 서비스 연동, 이클립스 웹서비스 자바 클라이언트 개발
web service consume java client
아래 주소와 같이 되어 있는 웹서비스를 consume할 수 있는 Java client를 개발해보려고 합니다.
http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL
0. 요구사항
1) 자바 JDK
2) 이클립스 IDE
1. 자바 클라이언트 만들기
1. 이클립스 메뉴에서 아래와 같이 File > New > Java Project를 눌러줍니다.
적당한 프로젝트 명을 써서 프로젝트를 생성해줍니다.
저의 경우는 project name을 webclient로 하고,
project 위치를 C:\webclient로 따로 잡아주었습니다.
나머지는 기본적으로 체크가 되어있는대로 사용하시고, project name만 입력후, Finish버튼을 눌러주면 됩니다.
아래창이 뜰 경우, Don't Create 버튼을 눌러줍니다.
2. Package Explorer 에서 생성한 프로젝트를 우측클릭해서, New > Other web service client를 선택하여 Next를 눌러줍니다.
3. service definition 부분에
http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL
를 입력해줍니다. (웹서비스 주소를 입력해줍니다)
그러면 이클립스가 잠시 멈춘것처럼 보이다가, 잠시후에 Next 버튼이 활성화됩니다.
could not retrieve the wsdl file~~문제가 발생하는 경우가 간혹있습니다.
이럴 경우에는 크롬과 같은 웹 브라우저에서 wsdl 주소를 입력하여 아래와 같이 xml형태로 wsdl이 잘 작성되어있는지 확인을 해줍니다.
또는 cancel 버튼을 누르면, 문제없이 다음단계로 넘어가기도 합니다.
4. 아래와 같이 web service proxy page 안내창이 뜨면, Finish 를 눌러줍니다.
5. 그러면 아래와 같이 src 하위에 여러 Java 파일들이 만들어진 것을 확인할 수 있습니다.
6. 이 class들을 이용해서 웹서비스 통신을 해보겠습니다.
웹 서비스 통신을 개발할 클라이언트 클래스를 만들어 줍니다.
아래와 같이 Main.java를 만들겠습니다.
public class Main {
public static void main(String[] args) {
}
}
7. 만들어진 클래스파일중에 xxxProxy라는 클래스가 있을텐데요,
Proxy를 생성해주고, endpoint를 아래와 같이 지정해줍니다.
public class Main {
public static void main(String[] args) {
IMServiceProxy proxy = new IerviceProxy();
String endpoint = "http://xxx.svc";
proxy.setEndpoint(endpoint);
}
}
8. 이 프록시 인스턴스를 사용하여 웹서비스 메소드를 호출해줍니다.
public class Main {
public static void main(String[] args) throws RemoteException {
CountryInfoServiceSoapTypeProxy proxy = new CountryInfoServiceSoapTypeProxy();
String endpoint = "http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso";
proxy.setEndpoint(endpoint);
TLanguage[] lngs = proxy.listOfLanguagesByCode();
for(int i=0;i<lngs.length;i++) {
System.out.println(lngs[i].getSISOCode() + " : " + lngs[i].getSName());
}
}
}
그다음, 상단의 Run main 버튼을 눌러줍니다.
그러면 console에서 아래와 같이 web service 호출 결과를 확인할 수 있습니다.
추가적으로, 아래와 같이 이클립스 IDE 코드입력창 중
proxy.에서 키보드에서 컨트롤+스페이스바키를 누르면, 어떤 메소드들을 사용할 수 있는지 확인할 수 있습니다.
만일, wcf 웹서비스를 consume 하고 싶다면,
service definition 부분에 아래와 같이 서비스명?singleWsdl 과 같이 작성하면 되며,
http://xxx/yyy.svc?singleWsdl 의 end point는 http://xxx/yyy.svc까지만 작성하면 wcf서비스를 사용할 수 있습니다.
#웹서비스,#자바,#클라이언트,#이클립스,#webservice,#web,#service,#wsdl,#java,#client,#eclipse,#webservice
웹서비스 Java Client만들기, WSDL 자바 클라이언트, WCF 서비스 연동, 이클립스 웹서비스 자바 클라이언트 개발
https://devscb.com/post/172
댓글