spring-ws를 사용하여 POX 클라이언트 (XSD에서 jaxb2에서 생성)를 만들었지 만 SOAP 클라이언트 (WSDL에서 생성)를 생성하는 방법은 혼란 스럽습니다. 나는 스텁을 생성하기 위해 wsimport를 사용하고 있지만 이것이 스프링 -와 함께 사용하기에는 너무 먼 단계 인 것처럼 보입니다. 스텁은 실제로 POX 클라이언트와 마찬가지로 스프링이 전송을 처리하는 전송을 처리합니다. 그래서, 내 질문은 : wsimport 또는 jaxb2 (POX 클라이언트와 같은)를 통해 전송 개체를 생성 할 수 있습니까? 아니면 WebServiceTemplate에서 호출/전송합니까?WSDL의 Spring-ws 클라이언트
2
A
답변
5
예, 가능합니다.
XSD를 wsdl에서 가져오고 가져 오지 않았는지 확인하십시오.
xsd에서 Point xjc (Jaxb2부터)를 생성하여 클래스를 생성하십시오.
이제 스키마를 확인하십시오.
RequestElement requestElement = new RequestElement();
ResponseElement responseElement = (ResponseElement) webServiceTemplate.marshalSendAndReceive(requestElement);
그렇지 않으면 (참조 복합 유형)이 사용 :
요청 및 응답 요소가 포함 된 경우 복잡한 유형이 사용
RequestType requestType = new RequestType();
JAXBElement<RequestType> request = new ObjectFactory().createRequestType(requestType);
ResponseType responseType = ((JAXBElement<ResponseType>) webServiceTemplate.marshalSendAndReceive(request)).getValue();
RequestElement을 ResponseElement, RequestType 및 ResponseType은 물론이다 단지 예입니다. 스키마에서 생성 한 Xjc 클래스로 대체하십시오.
관련 문제
- 1. Intellij IDEA - 인증서가있는 WSDL의 Webservices 클라이언트
- 2. wsdl의 바인딩
- 3. wsimport multiple wsdl의 생성
- 4. WSDL의 주소를 변경하는 방법은 무엇입니까?
- 5. WSDL의 ServiceDescription/Proxy
- 6. WSDL의 XSD 및 soappy
- 7. XSD와 WSDL의 차이점
- 8. WSDL의 Spring Roo?
- 9. ksoap2 : wsdl의 type = "xs : anyType", 의미는 무엇입니까?
- 10. Zend_Soap_AutoDiscover에 의해 생성 된 WSDL의 변경 이름
- 11. Asp.net 웹 서비스에서 wsdl의 필드 제거
- 12. Axis2 WebService와 WSDL의 여러 ExceptionFault 요소
- 13. wsdl.exe에서 생성 한 WCF 서비스로 wsdl의 비공개 필드를 표시합니다.
- 14. SOAP 클라이언트 포트 혼성
- 15. 통합 엔드 포인트에 대한 WCF 및 WSDL의 가능한 대안은 무엇입니까?
- 16. 웹 서비스가 실행될 때마다 WSDL의 유효성 검사를 피하십시오.
- 17. 다른 하위 네임 스페이스의 클래스는 모두 WSDL의 최상위 레벨에 표시됩니다.
- 18. Jaxb에서 wsdl의 wsdl : definitions 섹션을 정의하는 주석/속성은 무엇입니까?
- 19. 서버 측에서 PHP를 사용하여 wsdl의 복잡한 유형을 처리하십시오.
- 20. 코코아에서 클라이언트 - 클라이언트 메시징?
- 21. ASP.NET 생성 웹 서비스 클라이언트 GUI 변경
- 22. 클라이언트
- 23. Windows 클라이언트 대 웹 클라이언트
- 24. C# 클라이언트 대 클라이언트 메시징
- 25. 윈도우 서버, 안드로이드 클라이언트 클라이언트
- 26. 웹 서비스 용 웹 클라이언트
- 27. WCF 클라이언트 테스터 및 클라이언트 보증
- 28. 클라이언트 인증서가 클라이언트 브라우저에 설치되어 있는지 테스트합니다.
- 29. 클라이언트 - 클라이언트 상호 작용 설계에 문제가 있습니까?
- 30. 웹 기반 클라이언트 대 두꺼운/리치 클라이언트?
이것은 스프링 WS와 JAXB2를 사용하여 웹 서비스 클라이언트를 설정하는 데 도움이되었습니다. 그대로 가져온 RequestElement와 ResponseElement는 가져 오기 오류를 일으켰습니다. 그것들은 사용하고자하는 실제 요소에 대한 자리 표시 자일뿐입니다 :) 아마도 여러분은 그것을 알아야합니다. – chris
좋은 지적. 감사 ! 내 대답을 편집했습니다. –