블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
12-02 00:56
 

달력

« » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
 

최근에 올라온 글

최근에 달린 댓글


1. 웹서비스 프로젝트의 App_Code에 DataSet을 추가합니다.

App_Code를 우클릭하여 새 항목을 추가합니다.


템플릿에서 데이터 집합을 선택하고 이름은 적당하게(디폴트로 해도 무관) 정한 후 추가를 누릅니다.




2. TableAdapter를 정의합니다.

위의 DataSet을 만들면 자동으로 생성되는 TableAdapter의 구성 마법사가 뜨게 됩니다.
구성하지 않으시려면 취소를...



연결 문자열은 그냥 디폴트로~~~



SQL 문 사용으로 선택을 한 후 다음 버튼을~



SQL문을 입력하는 창이 뜨게됩니다.
SQL문을 그냥 입력해도 되지만 쿼리 작성기를 이용하여 쉽게 작성을 합니다.



쿼리 작성기를 선택하면 자동으로 테이블 추가 다이얼로그가 뜨게됩니다.
테스트 용으로 Dept와 Student 테이블을 선택합니다.



FK를 맺지 않아도 자동으로 열이름이 같은 DeptID로 조인을 하게됩니다.



확인을 누르면 자동으로 생성된 SQL을 볼 수 있습니다.



DataTable 반환만 체크한 후 다음을 클릭 (여기서 마침을 클릭해도 됩니다.)



마법사 결과를 보면 끝 입니다.



DataSet1.xsd에 GetData 라는 쿼리가 추가된 것을 확인할 수 있습니다.



TableAdapter 이름을 Student2 정도로 수정을 합니다. (나중에 보기 좋은 용도로)



3. 새로운 쿼리를 추가합니다.

아래와 같이 Query 추가를 누릅니다.



앞의 옵션들은 위에서 한 것과 같이 설정을 합니다.
쿼리 작성기에서 PK인 StudentID의 필터에 =@StudentID 를 설정합니다.
변수 앞에 골뱅이(@)를 붙여주면 변수로 처리를 하는 것 같습니다. (자바 개발자라 자세한건 ...)



아래와 같이 SQL이 만들어진 것을 확인할 수 있습니다.



DataTable 반환의 메소드 이름은 알아서 정해집니다.



추가된 것을 확인할 수 있습니다.



4. 기존 테이블의 테이블 아답터 추가하기

서버 탐색기에서 추가할 테이블을 선택하고 DataSet에 추가(Drag & Drop)를 합니다.



아래와 같이 추가된 것을 확인할 수 있습니다.



Part. 2 에서는 만들어진 TableAdapter의 활용법에 대해서 설명하겠습니다.




Posted by 자수씨
, |

스프링프레임워크에서 제공해주는 SimpleJaxWsServiceExporter 로는 한 컨텍스트 내에서 한 개의 서비스밖에
배포를 못하는 것으로 확인되었습니다. (저의 테스트 결과로는...)

그래서 스프링쪽 클래스를 참고해서 다중 Exporter 를 만들어보았습니다.



음... 이제는 실제로 배포할 경우 baseAddress 에 대해서 고민 좀 해야할 것 같습니다.

Posted by 자수씨
, |

첨부파일을 JAX-WS 에서는 어떻게 넘길가가 궁금해서 한번 도전해보았습니다.
무모한 도전의 결과는 무한삽질의 반복이...
여튼 어느정도 성공을 한 듯 합니다. ㅋㅋㅋㅋ

ㅁ Server Side
kr/co/vicki/webservices/conf/uploadWebservicesContext.xml


WEB-INF/web.xml


kr.co.vicki.webservices.webservice.UploadWebService.java


  - @MTOM: binary attachment 전송을 위한 어노테이션
  - @SOAPBinding(style = SOAPBinding.Style.RPC)... 이건 무슨 말인지 모르겠습니다. 
    아래와 같은 설명이 어딘가에 있더라구요... 해석이 딸리므로... 읽으시는 분께 맡기겠습니다.
    그러나 해당 어노테이션이 정의되어 있지 않으면 클라이언트쪽에서 제너레이션 된 메소드의 파라미터가
    byte[] 이 아닌 DataHandler 가 되므로 일단 어노테이션을 위와 같이 설정합니다.
No, this is specified by the SOAPBinding annotation on the service class. Notice this in the original post above:

@SOAPBinding(style = SOAPBinding.Style.RPC)

This is telling wsgen that this is an rpc/literal service. A document/literal (doc/lit) service is specified thusly:

@SOAPBinding(style = SOAPBinding.Style.DOCUMENT)

Actually, things are a little more complicated. This is actually specifying a doc/lit/wrapped service, meaning that the SOAP message body can contain multiple parameters. By contrast, in a doc/lit/bare service, the SOAP message body can contain only one parameter. For all the gory details, see the Annotations section of the JAX-WS User's Guide. 




ㅁ Client Side
kr/co/vicki/client/conf/webservicesContext.xml



kr/co/vicki/client/Client.java


서버의 public void fileUpload(String filename, DataHandler handler) 메소드는
클라이언트에서 public void fileUpload(String filename, byte[] arg1) 로 제너레이션 됩니다.
파일을 byte[] 로 변환하여 파일명과 함께 넘겨주게 되면 서버쪽에서 inputStream 으로 접근이 가능하게 됩니다.

첨부파일을 7KB와 4MB, 20MB 로 테스트 해본결과 20MB 는 힙 메모리 부족이라는 익센션을 날려주었습니다.
JAX-WS User Guide를 보면 용량 제한하는 어노테이션도 보이던데 테스트는 해보지 못했습니다.

이걸 해보며서 알게된 사항은 org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter 이놈은 한 컨텍스트에
한개의 웹서비스를 Export 해주는 것 같습니다. 크흑..

웹서비스는 재밌습니다?

[참고자료]
JAX-WS User Guide
  - https://jax-ws.dev.java.net/guide/Large_Attachments.html
  - https://jax-ws.dev.java.net/guide/Binary_Attachments.html
  - https://jax-ws.dev.java.net/guide/Creating_a_MTOM_Web_Service.html
java.net Forums
  - http://forums.java.net/jive/thread.jspa?threadID=25614

Posted by 자수씨
, |


전공분야의 새로운 기술서적을 보는 것을 좋아하기 때문에 강컴에 가끔들러 베스트셀러 아이쇼핑을 즐깁니다.
오늘은 베스트셀러에 들어가기 전에 눈에 띄는 예약도서를 보았더니 웹서비스와 관련된 책이 있었습니다.
회사에서 연초에 연구과제로 했었던 자바 웹서비스이기에 확인을 해보았습니다.

음.. 역시 책은 직접 봐야지 알 것 같습니다. 하지만 현재 팀에서 사용하려는 ESB(Enterprise Service Bus) 에
관한 내용도 있기에 한번 사서 보면 좋을 것 같습니다. PL 아저씨가 ServiceMix 에 치여서 죽을똥 말똥 하시는
상태라... 일단은 관련 지식을 가지고 있어야 할 것 같습니다.


자바스크립트도 잘 하고 싶고, PDE 기반 개발도 잘 하고 싶고... 웹서비스쪽도 잘하고 싶은데 
몸은 하나여서 -_ㅜ... 공인중개사 준비를 열심히 해야겠네요 ㅋㅋㅋㅋ

Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백