javax.xml.transform.TransformerFactory factory =
javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.setOutputProperty(javax.xml.transform.OutputKeys.METHOD, "xml");
javax.xml.transform.stream.StreamResult streamResult =
new javax.xml.transform.stream.StreamResult();
streamResult.setOutputStream(new java.io.ByteArrayOutputStream());
transformer.transform(responseSource, streamResult);
System.out.println((new StringBuffer()).append("response=").
append(streamResult.getOutputStream()).toString());
}
catch(Throwable throwable)
{
throwable.printStackTrace();
System.out.println((new StringBuffer()).append("Unexpected exception: ").
append(throwable.getMessage()).toString());
}
其中大多数代码专门用于执行XSL转换,并且使用了JDK中的JAXP API类。首先,创建一个DataStagingService服务桩(stub)。该服务桩将接收一个URL对象(指向服务端点的WSDL)和一些与XML相关的内容,用于建立要调用的服务。后者将在检索WSDL之后使用。
注意,DataStagingService服务桩和相关类是由BEA clientgen Ant任务生成的。我并没展示这些代码,不过该Ant任务也拥有一个type="JAXWS"和一个<binding>子元素。
摘录代码的其余部分包括:
文章来源于领测软件测试网 https://www.ltesting.net/