[완료] 초보의 질문 .. 웹 서비스와 SOAP이란

yjung의 이미지

안녕하세요...

웹서비스와 SOAP에 대해서 공부중입니다.
그런데 개념을 확실히 잡지 못하고 있어서요..

지금까지 파악한 것으로는..

1. 웹서비스의 한 가지 방법이 SOAP 이고..
2. SOAP란 XML표준을 이용한 어플리케이션간 데이터 전달이라고 생각합니다.
3. 전달 프로토콜로는 HTTP를 이용한다는거..

이정도 이고요

궁굼한 것은,

1. SOAP을 이용해 메시지를 처리하기 위해 HTTP 파싱 모듈과 XML 파싱 모듈을 만들면 SOAP로 전달된 메시지를 바로 까 볼수 있는것 인가요?

2. 혹시 java로 개발 할 때 SOAP를 이용한다면 웹로직 등의 미들웨어에서 SOAP 메시지를 핸들링 해주는 부분이 있나요? 개발자가 HTTP 파싱모듈과 XML 파싱 모듈을 만들지 않아도 되는 것인가요?

3. Unix 환경이 아니라 윈도우 서버 기반에서 java로 개발하는 경우 SOAP를 사용하는 경우 (웹로직이 SOAP 핸들링 부분이 있다고 가정하고) SOAP 메시지 핸들링을 해주는 웹로직과 같은 미들웨어가 존재 하나요?

4. 웹서비스에 대한 자료를 찾다보니 객체를 이진화 해서 전달 할 수도 있다는데.. XML로 이진화한 객체 전달이 가능한건가요?

이상입니다.

미리 답변 감사드립니다. ㅜ.ㅜ

lovian의 이미지

1.
HTTP와 XML을 파싱한다면
XML 노드로서는 접근 할 수 있습니다.
그러나 SOAP 데이터가 XML이긴 하지만, Header, Body로 구분되는 부분 및 확장 영역은 수동적인 파싱으로(DOM/SAX API등을 통해) 접근해야합니다.
궁극적으로는 HTTP, XML, SOAP까지 파싱을 하는게 맞겠지요.

2.
웹서비스를 지원하거나, 지원 모듈을 설치했다면 특정 API를 통해서 SOAP메시지의 데이터에 접근 할 수 있습니다.
java에서 웹서비스를 이용하는 경우, saaj 등의 인터페이스를 통해 SOAP메시지에 접근합니다.
웹로직 8.1, axis, jeus 5 는 그렇게 제공하는 것을 확인했습니다.

이들을 사용하면 HTTP 파싱, XML 파싱 은 굳이 구현하지 않아도 되는 것이죠.

3.
웹로직은 윈도우즈 버젼도 있습니다. AXIS, JEUS 등도 가능합니다.
게다가 자바 환경이라면 플랫폼의존성에서 자유로운 편이니 대부분 가능하다고 생각하면 되겠네요.

4.
이진화된 전달 방법은 SOAP with attachments 를 사용한 방법이 아닌가 생각되네요.
SOAP메시지와 MIME을 이용하는 방법으로 SOAP 메시지에 첨부데이터를 붙이는 구조입니다.

그리고 객체를 전달하는 것은, jaxrpc를 이용한 것이 아닌가 생각되구요.

이상입니다.

미리 답변 감사드립니다. ㅜ.ㅜ
-----------------
한글을 사랑합니다.

-----------------
한글을 사랑합니다.

yjung의 이미지

답변 감사드리고요..
답변을 보고 한 가지 더 궁굼한 사항이 생겼는데요..

윈도우 서버에 Apache Axis를 웹서비스 지원 모듈로 이용하려고 설치하면,
Java 어플리케이션으로 만든 프로그램에서도 Apache Axis의 웹 서비스 지원 모듈을 이용 할 수 있는건가요?

lovian의 이미지

java application이 웹서비스 클라이언트로 작동하는 것 말씀하시는거죠?

axis 관련 jar를 import해서 사용해야 합니다.
그리고 axis를 이용하여 saaj 인터페이스를 빼오는 부분은 axis관련 기능을 이용해야 할 듯 합니다.

axis user's guide 쪽에 관련 내용이 있으니 참고하시면 되겠습니다.
-----------------
한글을 사랑합니다.

-----------------
한글을 사랑합니다.

yjung의 이미지

감사합니다. ^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.