GET
메서드를 통해 URL
에 연결하기 위해 내부 서비스 (I.S. 추가)를 사용하는 웹 서비스 (Jax-WS)가 있습니다. 나. 특정 URL에 연결하고 응답을받습니다. 반환 된 데이터 (xml 형식)는 전달 된 매개 변수에 따라 다를 수 있습니다. 여기 중요한 점이 하나 있습니다! 차이점은 반환 된 xml의 구조의 차이입니다. 즉, 한 세트의 parametres로 하나의 xml을 얻습니다. 다른 세트의 매개 변수와 함께 다른 xml (구조가 다릅니다)을 얻습니다. 내 주요 목표는 클라이언트가 내 웹 서비스를 호출 할 때이 응답 (다른 작업이 완료 됨)을 다시 보내는 것입니다. 여기에 내 웹 서비스는 brigde로 작동합니다. JaxB를 사용할 수 없다고 가정하면 다른 xml 구조화 된 데이터를 얻을 수 있습니다. 내 질문은 어떻게 해결할 수 있습니까? 어떻게하면 모든 것을 클라이언트에게 보내 줄 수 있습니까? 언 마샬링하지 않고. 스트림으로 할 수 있습니까? 나는InputStream
또는 String
XML 문서 Jax-WS
@Slf4j
@WebService(name = CCServiceWS.WS_NAME,
serviceName = CCWS.WS_SERVICE_NAME,
portName = CCWS.WS_PORT_NAME,
targetNamespace = CCWS.WS_NAMESPACE)
@Logged
@Component
public class CCWSImpl implements CCServiceWS {
@Autowired
CCService ccService;
@Override
public Object reserve(@XmlElement(required = true) @NotNull String m1,
@XmlElement(required = true) @NotNull String m2,
@XmlElement(required = true) @NotNull Integer amount) {
return ccService.reserve(m1, m2, amount);
}
}
내 내부 서비스
@Slf4j
@Component
public class CCService {
@Override
public Object reserve(@NotNull String m1, @NotNull String m2, @NotNull Integer amount) {
URL url = new URL("http://example.com?a=5&v=56");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
inputStream = connection.getInputStream();
// Here I get input stream
}
}