2016-09-22 2 views
1

GET 메서드를 통해 URL에 연결하기 위해 내부 서비스 (I.S. 추가)를 사용하는 웹 서비스 (Jax-WS)가 있습니다. 나. 특정 URL에 연결하고 응답을받습니다. 반환 된 데이터 (xml 형식)는 전달 된 매개 변수에 따라 다를 수 있습니다. 여기 중요한 점이 하나 있습니다! 차이점은 반환 된 xml의 구조의 차이입니다. 즉, 한 세트의 parametres로 하나의 xml을 얻습니다. 다른 세트의 매개 변수와 함께 다른 xml (구조가 다릅니다)을 얻습니다. 내 주요 목표는 클라이언트가 내 웹 서비스를 호출 할 때이 응답 (다른 작업이 완료 됨)을 다시 보내는 것입니다. 여기에 내 웹 서비스는 brigde로 작동합니다. JaxB를 사용할 수 없다고 가정하면 다른 xml 구조화 된 데이터를 얻을 수 있습니다. 내 질문은 어떻게 해결할 수 있습니까? 어떻게하면 모든 것을 클라이언트에게 보내 줄 수 있습니까? 언 마샬링하지 않고. 스트림으로 할 수 있습니까? 나는InputStream 또는 StringXML 문서 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   
    } 
} 

답변

0

String로 전송하지 않습니다에 반환 된 데이터를 얻을 수 있어요? 무슨 일이 있어도 고객에게 보낼 수 있습니다