我正在使用 Spring 在 jaxb 中工作,尝试使用 WebServiceGatewaySupport 编写自定义解组过程。
我的课在下面。问题在于响应,当我调用以下方法时
getWebServiceTemplate().sendSourceAndReceiveToResult
它崩溃并显示消息“java.lang.IllegalArgumentException:'uri'不能为空”。似乎即使我使用的是 StringResult,它也在尝试解析 xml 并找到 xml/soap 响应错误。
public class WUResultGateway extends WebServiceGatewaySupport{
private WebServiceTemplate webServiceTemplate;
private SourceExtractor ratingResponseExtractor = new WUResponseExtractor();
public WUResultGateway(WebServiceTemplate webServiceTemplate){
this.webServiceTemplate = webServiceTemplate;
}
private Source marshall( SendRDCResults results ) throws IOException{
StringResult resp = new StringResult();
Marshaller marshaller = webServiceTemplate.getMarshaller();
marshaller.marshal( results, resp );
return new ResourceSource( new ByteArrayResource( resp.toString().getBytes() ) );
}
public Object wuResponse( SendRDCResults results) throws IOException{
//StringSource source = new StringSource();
Result result = new StreamResult();
StringResult strResult = new StringResult();
boolean flag = getWebServiceTemplate().sendSourceAndReceiveToResult( marshall( results ), strResult );
return result;
}
}
在不对来自服务器的响应进行任何更改的情况下,我想以 s String 或简单的 xml 格式获取值而不会出错。任何人都可以帮忙吗?