如何在JAX-WS中更改响应的XML

8

我有以下XML作为我的JAX-WS Web服务响应:

<soapenv:Envelope>
    <soapenv:Header/>
    <soapenv:Body>
        <QueryRBTReqMsgResponse>
            <QueryRBTRspMsg>
                <resultHeader>
                    <resultCode>0</resultCode>
                    <resultDesc>Successful</resultDesc>
                </resultHeader>
                <!--Optional:-->
                <QueryRBTResponse>
                    <part>1</part>
                </QueryRBTResponse>
            </QueryRBTRspMsg>
        </QueryRBTReqMsgResponse>
    </soapenv:Body>
</soapenv:Envelope>

但这就是我想要的:
<soapenv:Envelope>
    <soapenv:Header/>
    <soapenv:Body>
        <QueryRBTRspMsg>
            <resultHeader>
                <resultCode>0</resultCode>
                <resultDesc>Successful</resultDesc>
            </resultHeader>
            <!--Optional:-->
            <QueryRBTResponse>
                <part>1</part>
            </QueryRBTResponse>
        </QueryRBTRspMsg>
    </soapenv:Body>
</soapenv:Envelope>

我该如何从响应中删除<QueryRBTReqMsgResponse>标签?我尝试了很多更改,但都没有起作用!!!

你如何生成这个响应?你的服务的响应POJO长什么样子?我猜它的根元素是QueryRBTReqMsgResponse。 - martidis
此响应由标准Jax-Ws Java库生成,没有Pojo。 - S.Yavari
这是某个SOAP服务的响应。JAX-WS只是一个API。你是否构建了返回此响应的服务? - martidis
1个回答

3

最后我找到了解决方案。我们需要使用以下注释:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接