将XML定义为JAX-WS输入参数

时间:2015-03-29 12:24:21

标签: java web-services soap

我需要实现Java SOAP JAX-WS Web服务。 Web Service客户端将XML文件发送到Web Service。然后需要最终处理收到的XML内容,然后将处理后的XML格式内容返回给WS Client。

这是我的Sample XML,它有三个标签。

    <uild>898999999</uild>
    <customer>cName XXX</cusoter>
    <profileId>TEST/TKTG MR</profileId>

我声明了我的Web服务方法如下。     RequestXmlDTO包含XML字段。     ProcessedResponseDTO需要XML字段作为输出。我将这两个添加为复杂的类型。

@WebService
public class WebService {

    @WebMethod
    public ProcessedResponseDTO getCustomerDetails(RequestXmlDTO requestXml){

    } 

问题 - 这是推荐的&amp;迎合这种情况的最佳方式?

1 个答案:

答案 0 :(得分:0)

你需要决定策略&#34; Cotract First&#34;或者&#34; Code First&#34; 如果您决定继续

&#34;合同第一&#34;定义您的架构作为第一步。然后生成JAXB对象可能

使用工具。与您提到的类类似,在java

中声明Web服务签名

接口。使用方法签名使用(http://cxf.apache.org/docs/java-to-wsdl.html)生成WSDL。

使用此WSDL生成服务器存根。您可以使用ANT目标,如

<target name="wsdl2Java" >          
            <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
                <arg value="-d"/>
                <arg value="modules/deployments/src/java"/>
                <arg value="-p"/>
                <arg value="com.solution.webservices.version1.jaxb"/>
                <arg value="-ant"/>
                <arg value="-impl"/>
                <arg value="-server"/>              
                <arg value="path/wsdl/sample.wsdl"/>
                <classpath>
                    <path refid="cxf.classpath"/>
                </classpath>
            </java>
    </target>