接下来,我们将实现DataStagingService Web服务的代码。首先,运行BEA wsdlc Ant任务,目的是生成主干JAX-WS端点实现和JAXB类。
WebLogic Server 10.1将使用Glassfish Project项目中的jar文件用于其JAX-WS和JAXB实现。type="JAXWS"属性将指定使用JAX-WS和JAXB,而不是JAX-RPC。
<target name="run-wsdlc" depends="clean">
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask"
classpathref="compile.classpath" />
<property name="client.binding" value="custom-client.xjb"/>
<wsdlc type="JAXWS"
srcWsdl="etc/${wsdl.file.name}.wsdl"
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>
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;