2016-06-02 3 views
0

WSDL을 사용하지 않고 Java SOAP Webservice를 실제로 생성 할 수 있는지 궁금합니다.자바에서 SOAP WS를 생성하고 요청을 문자열로 얻으십시오.

상황 :

아이디어는 내가 웹 서비스를 조롱해야한다는 것입니다, 그래서 그 WSDL이있다. mock은 비누 요청을 읽고, (지도의 키와 같은) 유사한 요청이 있는지 검색하고 일치하는 응답을 값으로 보냅니다. 이것은 자동화 된 테스트 목적을위한 것입니다. 문제는 "지도"부분이 아닙니다.

어쨌든 Axis와 Eclipse를 사용하여 클래스와 파일을 생성하고이를 WSDL에서 tomcat에로드했습니다. 지금까지는이 구성 요소들 사이에 많은 호환성 문제가 있었지만 혼란 스러웠습니다. 입력을 비교하거나 출력을 직렬화하여 내가 원하는 방식대로 수행하는 것이 훨씬 더 어려울 것입니다.

나는 REST 엔드 포인트를 작성하고 SOAP 요청을 보내서 (SOAP 요청을 직접받을 수 있습니다!) 생각했지만 SOAP 요청이 유효하지 않았으며 REST에 의해 검색되지 않을 것이라고 어딘가에 탔습니다. 끝점 ... 또한이 주소에 WSDL이 없으면 클라이언트 응용 프로그램에서 오류가 발생하지 않습니까?

내 질문은 :

(클라이언트에서)는 SOAP WebService를 보이는 액세스 포인트를 만들 수있는 방법이 있지만, 나를위한 문자열로 (전체 비누 요청을 얻을 수있는 예) 자바 애플 리케이션 내부에 응답을 (여전히 문자열로) 보내시겠습니까?

보완 : 나는 사방 클래스와 XML 파일의 엄청난 부하를 생성하는 (가능한 경우) 필요하지 않는 무언가, 도서관, 서블릿에서 어쩌면 그냥 주석, 찾고 있어요

. 이 응용 프로그램은 tomcat에서 실행될 것입니다 (하지만 기본 Java 응용 프로그램이 될 수 있음). Maven과 Spring을 사용하는 것은 문제가되지 않습니다.

미리 감사드립니다.

답변

0

일반적으로 클라이언트에는 WSDL이 필요하지 않습니다. 그러나 그것은 훌륭한 기능입니다 - 일반적인 서블릿을 사용하고 "? WSDL"을 수동으로 처리하십시오. 그런 다음 간단한 XPath 또는 구문 분석 로직을 사용하여 페이로드를 DOM 문서로 추출하십시오.

관련 문제