본문 바로가기
개발공부/Java

[eclipse] WebLogic Server 14.1.1 Web Services Sample Application Test

by sangyeon 2021. 9. 17.
728x90

이번에는 WAS BMT를 준비하며 WebLogic JAX-WS 2.1 Spec 검증을 위한 테스트를 진행하였다.

Sample 어플리케이션을 만들기 위해 eclipse 환경에 Windows WebLogic 14.1.1 연동을 하여  Web Service 테스트하는 방법을 공유하려고 한다. 

테스트를 하기 위한 환경은 아래와 같다.

 

###########################################

- Eclipse : eclipse-jee-2018-12-R-win32-x86_64

- OS :  Windows 10 Pro 64bit

- WAS : weblogic 14.1.1

- JDK : Java 1.8.0_301

###########################################

이번 장에서는 weblogic 설치 및 eclipse와의 연동은 생략한다. 

(weblogic과 eclipse 연동을 하려면 목차 "008. Eclipse에 [eclipse] WebLogic Server 12.2.1.4 연동하는 방법"을 참고하면 됨.)

 

1. Create New Web Service Project 생성 하기

: Oracle > WebLogic > Web Services > Web Service Project 

 

2. Server-Side java 생성

: Server-WebService > src > New > WebLogic Web Service 선택

 

* Web Service 소스 코딩은 아래 내용 참고

: 간단하게 변수 2개를 받아 그 합계를 구하는 소스 구현

package com.ws;

import javax.jws.*;

@WebService
public class Server_WebService {

@WebResult(name = "Result")
@WebMethod(operationName = "Adding")
public int sum(@WebParam(name = "FirstNumaber") int n1, @WebParam(name = "SecondNumaber") int n2) {

return n1 + n2;
}
}

 

여기까지 잘 따라왔다면,

Server-Side의 Web-Service 어플리케이션 소스 개발이 완료된 것이다.

 

3. Server-Side 어플리케이션을 WebLogic 14.1.1 배포

: Project Explorer > Server-WebService > 우클릭 > Run As > Run on Server 선택 > Finish

콘솔 로그에서 웹로직 기동 확인 후, 관리콘솔 접속하면 아래와 같이 Web Service 어플리케이션이 정상적으로 배포된 것을 확인 할 수 있다. 

 

4. WebLogic 관리콘솔에서 WSDL 확인

: 배치 > Server-WebService > 테스트 > 테스트지점 > ?WSDL 선택

WSDL 주소 : http://localhost:7001/Server-WebService/Server_WebServiceService?WSDL

* xml 형식의 WSDL을 통해 해당 Web Service에 대한 정보를 취득할 수 있다.

* Client-Side에서는 해당 WSDL 주소만을 가지고 어플리케이션을 가져다 사용 가능하다.

This XML file does not appear to have any style information associated with it. The document tree is shown below.

<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.com/" name="Server_WebServiceService">
<types>
<xsd:schema>
<xsd:import namespace="http://ws.com/" schemaLocation="http://192.168.56.1:7001/Server-WebService/Server_WebServiceService?xsd=1"/>
</xsd:schema>

</types>

<message name="Adding">
<part name="parameters" element="tns:Adding"/>
</message>

<message name="AddingResponse">
<part name="parameters" element="tns:AddingResponse"/>
</message>

<portType name="Server_WebService">
<operation name="Adding">
<input wsam:Action="http://ws.com/Server_WebService/AddingRequest" message="tns:Adding"/>
<output wsam:Action="http://ws.com/Server_WebService/AddingResponse" message="tns:AddingResponse"/>

</operation>

</portType>

<binding name="Server_WebServicePortBinding" type="tns:Server_WebService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="Adding">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>

<output>
<soap:body use="literal"/>
</output>

</operation>

</binding>

<service name="Server_WebServiceService">
<port name="Server_WebServicePort" binding="tns:Server_WebServicePortBinding">
<soap:address location="http://192.168.56.1:7001/Server-WebService/Server_WebServiceService"/>
</port>

</service>

</definitions>

 

5. Web Service Client 파일 생성

: Project Explorer > Server-WebService > 우클릭 > Oracle > WebLogic > Web Services > Web Service Client 선택

이후 WSDL Location Remote에 위의 WSDL 주소를 입력하고 Verify WSDL로 검증하고 Next 한다.

* 아래 내용 진행할 때, Java Library Path를 잘 확인하고 진행해야 한다.

나의 경우에는 Java Path가 제대로 잡히지 않아 계속해서 "Generated ant script for ClientGen failed ;see details." 에러를 봤다.

* 이후 Client에 배포할 jar 파일의 위치를 다시 한번 확인한다.

Next 이후 다시 한번 Remote WSDL의 위치를 지정하여 준다. Finish..

 

* Finish 를 선택하면 아래와 같이 해당 위치에 Server_WebService라는 service.jar 파일이 생성된다.

 

6. 테스트용 Java Project 생성

: File > New > Java Project 

 

: Package Explorer > Client-WebService > 우클릭 > build path > Configure Build Path > Add External JARS.. > Server_WebServiceService.jar 파일 선택

 

: src > java class 생성

 

: 소스 내용은 아래와 같다.

package com.client;

import com.ws.*;

public class Client_WebService {

public static void main(String[] args) throws Throwable {
// TODO Auto-generated method stub
ServerWebServiceService swss = new ServerWebServiceService();
ServerWebService sws = swss.getServerWebServicePort();

int sum = sws.adding(10, 20);

System.out.println("합계는 : " + sum);

}
}

 

7. Java Project Test Run

: Package Explorer > Client-WebService > 우클릭 > Run As > Java Application

* 실제로 Client에서 adding 이라는 메소드가 없지만, WSDL로 가져온 jar파일로 import하여 소스를 가져다 쓸 수 있다.

 

 

<< 정리 >>

다시 정리하자면,

만약 내가 그냥 개발자라면, 제공되는 WSDL만 있다면

- eclipse를 통해 Web Service Project를 먼저 생성할 것이다. (그래야만, WEB-INF/lib/xxxx.jar 파일 형식으로 어플리케이션 jar를 다운받을 수 있기 때문이다.)

- 해당 Project를 통해 jar를 받으면, Java Project를 하나 생성하고 해당 프로젝트에서 외부 JARs 파일을 추가한다.

- 그리고 소스를 개발하며 해당 Jar를 import 하여 그 소스의 메소드들을 호출하여 편하게 개발이 가능할 것이다.

 

728x90