7 월 12 일 실습 StockQuoteClient.java MarketClient.java
StockQuote 1.…\BeginningJWS\etc 에 들어가서 setclasspath 를 실행시킨다 2.Tomcat start 3.Setclasspath 한 cmd 창에서 tomcat/webapps/axis/WEB-INF/classes/ 에 들어간다 4.java org.apache.axis.wsdl.Java2WSDL kr.ac.konkuk.StockQuote -l 이것을 실행시킨다. 이 명령문은 kr.ac.konkuk 패킷 밑에 있는 StockQuote.class 파일을 StockQuote.wsdl 파일로 만들어준다. 실행시키면 classes 밑에 StockQuote.wsdl 파일이 생성된다. 5. 계속하여 java org.apache.axis.wsdl.WSDL2Java StockQuote.wsdl 이 명령문을 실행시킨다. 6.Classes/kr/ac/konkuk/ 에 4 개의 java 파일이 생성된다. 7. 생성된 4 개 자바 파일을 Eclipse 안에 복사해 넣는다 ( 기존의 StockQuote.java 파일을 덮어쓴다 ) 8. 새로운 클라스 StockQuoteClient.java 를 생성하여 코드를 추가하여 실해시켜 본다 아래에 더 구체적으로 설명
1.…\BeginningJWS\etc 에 들어가서 setclasspath 를 실행시킨다 2.Tomcat start 3.Setclasspath 한 cmd 창에서 tomcat/webapps/axis/WEB-INF/classes/ 에 들어간다 4.java org.apache.axis.wsdl.Java2WSDL kr.ac.konkuk.StockQuote -l 이것을 실행시킨다. 실행기키기 전에 kr.ac.konkuk 패킷 밑에 있는 StockQuote.class 파일이 있는 것을 확인하여라. 실행하고 StockQuote.wsdl 파일이 생성되였는가를 확인할려면 dir 명령문을 사용한다.
확인
5. 계속하여 java org.apache.axis.wsdl.WSDL2Java StockQuote.wsdl 이 명령문을 실행시킨다. 6. Classes/kr/ac/konkuk/ 에 4 개의 java 파일이 생성된다.
7. 생성된 4 개 자바 파일을 Eclipse 안에 복사해 넣는다 ( 기존의 StockQuote.java 파일을 덮어쓴다 ) 4 개 클라스 복사 한다. 기존 StockQuote.java 파일을 덮어쓴다
8. 새로운 클라스 StockQuoteClient.java 를 생성하여 코드를 추가하여 실해시켜 본다
package kr.ac.konkuk; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; public class StockQuoteClient { public static void main(String[] args) { try { StockQuoteService stockQuoteService = new StockQuoteServiceLocator(); StockQuote stockQuote = stockQuoteService.getStockQuote(); String quote = stockQuote.getQuote(args[0]); System.out.println("The delayed value of " + args[0]+" is: "+quote); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (RemoteException e){ e.printStackTrace(); }
9. 실행시킬때 먼저 Run appplication 으로 실행한다음 Run Configuaration 으로 실행하여서 IBM 이라는 아규먼트를 집어넣어 생하여 본다. 10. 실행결과
Market 위에서의 동일한 순서대로 하면 된다 다만 주의할점 마지막 단계에서 추가한 MarketClient 의 소스는 다음과 같다
package kr.ac.konkuk; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; public class MarketClient { public static void main(String[] args){ try { MarketService marketService = new MarketServiceLocator(); Market market = marketService.getMarket(); MarketData marketData = market.getQuote(args[0]); System.out.println("The delayed value of " + args[0]+" is: "+marketData.getDoubleValue()); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (RemoteException e){ e.printStackTrace(); }