1
我有Web Service(Jax-WS),它使用内部服务(更多I.S.)通过GET
方法连接到一些URL
方法。 I.S.连接到特定的网址并获得响应。根据传递的参数,返回的数据(xml格式)可能会有所不同。 这里有一个重要的一点!差异是指返回的xml的结构的差异,即一组参数我们得到一个xml,另一组参数我们得到另一个不同的xml(结构不同)。我的主要目标是重新发送此响应(另一项工作已完成)给客户端调用我的Web服务。在这里,我的web服务作为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
}
}