본문 바로가기
자바,스프링 - Java,Spring Framework

웹서비스 Java Client만들기, WSDL 자바 클라이언트, WCF 서비스 연동, 이클립스 웹서비스 자바 클라이언트 개발

by devscb 2023. 6. 2.
반응형

웹서비스 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

 

Creating a web service Java client, WSDL Java client, WCF service integration, Eclipse web service Java client development

Creating a web service Java client, WSDL Java client, WCF service integration, Eclipse web service Java client development web service consume java client We are trying to develop a Java client that c

devscb.com

 

728x90
반응형

댓글