SOAP 사용시 이슈

ganzboy의 이미지

안녕하세요.
이런 상황은 처음이라서, 아시는분 계신가해서 올려봅니다.

SOAP연동을 위해 서비스를 생성하고 wsdl 주소를 확인했습니다.

그리고 아래와 같이 3가지 방법을 통해 확인을 해봤는데 3번째가 좀 이상해서 질문드립니다.

1. url을 크롬에 입력하여 정상적으로 xml 파일이 받아지는 것을 확인하였습니다. (이상없음)
2. SOAP UI 를 이용하여, wsdl url을 입력하여 받고, 해당 웹서비스가 정상적으로 수행되는 것을 확인하였습니다.
이때 파라메터를 입력하여 원하는 결과가 조회 되는 것까지 확인했습니다. (이상없음)
3. 클라이언트 쪽에서 이클립스를 통해 url을 입력하여 소스 파일을 다운로드 받았습니다.
이때 문제가 발생합니다.
일반적으로 5개의 파일이 받아지며, 여기에는 Locator, Soap(Interface), SoapProxy, Stop 파일이 있습니다.
하지만 Interface 파일이 다운로드 되지 않습니다.

크롬과 SOAP UI에서는 정상적으로 동작하는데, 클라이언트 쪽에서 구현을 위해 소스를 받을 때만 이런 문제가 발생합니다.
크롬과 SOAP UI에서도 안되면 원인 파악이 될것같은데, 이런경우는 처음이라 어느부분이 문제인지 감이 안잡히네요.
아시는분 계실까요?

swish95의 이미지

잘은 모르지만...
1. 이름이 문제인지 확인하기 위해 interface.xml 을 이름을 바꾼다
2. 1번의 이름 변경으로 된다면 eclipse 에서 interface.xml 만 별도로 처리하는게 있는지 확인
3. 1번으로 해결이 안될경우 interface.xml 의 내용을 다른 xml 파일과 동일하게 바꾼다.
4. 3번으로 해결된다면 마찬가지로 xml 에 대한 validation 체크 관련 옵션이 eclipse 에 존재하는지 확인

아마 위의 과정을 거치면 대략 나오지 싶습니다.

혹시 eclipse 가 문제인지 먼저 확인하시려면 vscode 나 다른걸로 먼저 확인해보시길 권해드립니다. ^^

찾아보니 이런게 있긴한데 확인해보셔도 좋겠네요

https://www.google.com/search?newwindow=1&client=safari&rls=en&sxsrf=ACYBGNTeAVrfNQm8n-2Nec_ahf4uh0QJHQ%3A1578986576509&ei=UGwdXv3SHrHpmAXOsLmgCA&q=eclipse+xml+validation&oq=eclipse+xml+validation&gs_l=psy-ab.12..35i39j0j0i203j0l2j0i30l5.0.0..120114...0.0..0.117.221.0j2......0......gws-wiz.CP6_EF36-uE&ved=0ahUKEwj9uv2vx4LnAhWxNKYKHU5YDoQQ4dUDCAo

------------------------------------------------------------
ProgrammingHolic

ganzboy의 이미지

답변 감사합니다.

제 경우에는 우선 wsdl 주소를 이용하여 크롬 및 soapui 에서는 정상동작했기때문에 말씀하신 부분의 문제는 아닌것같습니다.
그래도 시도는 해봤는데 결과는 같네요.
삽질좀 하다가 알아낸사실이 있긴한데 이해는 안가지만 공유해봅니다.

저의 문제는 이클립스에서 soap 연동을 위해 web service client 를 다운로드 받는데,
이때 Interface 파일이 받아지지 않는 문제였습니다.
여러가지 시험으로 알게 된 사실은 public 메소드가 100개 이상이면 interface 파일이 생성되는데,
그 이하면 생성이 되지 않습니다. <- 정말 이해가 가지 않는 부분이네요 ^^;;
임의로
public void tmp1(string strA){}
이런 의미없는 메소드들로 100개를 채워봤는데 interface 파일이 생성되었습니다.
원인은 분석중인데, 혹시 같은 문제로 고생하시는 분이 계시면 한번 시도해보시기바랍니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.