快速业务通道

在WEBLOGIC SERVER 10中使用JAX-WS和JAXB - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
destJwsDir="WebContent/WEB-INF/lib" destImplDir="${src.dir}" explode="false" verbose="${verbose}" debug="${debug}" failonerror="true"> <binding dir="etc" includes="${client.binding}"/> <classpath> <path refid="compile.classpath"/> </classpath> </wsdlc> /target>

在WEBLOGIC SERVER 10中使用JAX-WS和JAXB(5)

时间:2011-01-27

type="JAXWS"属性和<binding>子元素需要格外注意。

这时,我们应该能够运行Ant构建文件了。结果将生成JAX-WS端点实现的代码。由于我提供了一个定制文件,因此生成代码将位于com.acmeworld.irad.services.datastaging包中。JAX-WS端点实现的完整代码比较长,因此我只摘录了其中的一部分:

public com.acmeworld.irad.services.datastaging.DataStagingResponse.OutputURIs dataStaging(com.acmeworld.irad.services.datastaging.DataStaging.InputURIs inputURIs) { DataStagingResponse dataStagingResponse = null; InputStream inputstream = null; try { //DataStaging.InputURIs contains zero or more //DataStaging.InputURIs.InputURI JAXB objects. //We loop through them, and use one of their getter //methods to print out a bound value. DataStaging.InputURIs.InputURI inputURI = null; List inputURIList = inputURIs.getInputURI(); for (int i = 0; i < inputURIList.size(); i++) { inputURI = inputURIList.get(i); log("dataStaging(InputURIs)", "inputURI.getUri()=" + inputURI.getUri()); } //Next, we show one way to use the JAXB API, to convert //the DataStaging.InputURIs input parameter to a byte[]. //This byte[] will contain an XML representation of that //input parameter. JAXBContext jc = JAXBContext.newInstance(DataStaging.InputURIs.class); Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); ByteArrayOutputStream baos = new ByteArrayOutputStream(); JAXBElement je = new JAXBElement( new QName("http://services.irad.acmeworld.com/datastaging","inputURIs"), DataStaging.InputURIs.class, inputURIs ); marshaller.marshal(je, baos); //We use an existing XML file for the response from the //Web service operation. We’ll load this XML file from //the WEB-INF/classes directory, and use the JAXB API //to create the JAXB object of our response. inputstream = Thread.currentThread().getContextClassLoader().getResourceAsStream("SampleDataStagingResponseDocument.xml"); jc = JAXBContext.newInstance(DataStagingResponse.class); Unmarshaller unmarshaller = jc.createUnmarshaller(); dataStagingResponse = (DataStagingResponse)unmarshaller.unmarshal(inputstream); } catch (Exception e) { throw new RuntimeException(e); } finally { if (inputstream != null) try {} catch (Exception e){} } return dataStagingResponse.getOutputURIs(); }

其中的代码注释很好地解释了其过程,因此我在此处就不再赘述了。

在WEBLOGIC SERVER 10中使用JAX-WS和JAXB(6)

时间:2011-01-27

编译JAX-WS服务端点

BEA jwsc Ant任务用于编译JAX-WS服务端点并生成待部署的WAR文件。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号