2016-09-22 113 views
1

我有Web Service(Jax-WS),它使用内部服务(更多I.S.)通过GET方法连接到一些URL方法。 I.S.连接到特定的网址并获得响应。根据传递的参数,返回的数据(xml格式)可能会有所不同。 这里有一个重要的一点!差异是指返回的xml的结构的差异,即一组参数我们得到一个xml,另一组参数我们得到另一个不同的xml(结构不同)。我的主要目标是重新发送此响应(另一项工作已完成)给客户端调用我的Web服务。在这里,我的web服务作为brigde使用。假设我不能使用JaxB,因为我得到了不同的xml结构化数据(它们之间没有什么共同之处)。 我的问题是我该如何解决?我如何重新发送给我的客户端?没有解组它。是否有可能与流?我能够在InputStreamString返回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   
    } 
} 

回答

0

你为什么不把它作为String得到返回的数据?无论发生什么事情,您都可以将其发送给客户