2017-08-22 114 views
8

我有下面的XML作爲我的JAX-WS Web服務響應:如何更改響應XML在JAX-WS

<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>標記?我嘗試了太多的改變,但他們都沒有做這項工作!

+0

您如何生成此響應?您的服務的響應POJO如何?我猜它有QueryRBTReqMsgResponse作爲根元素。 – mart

+0

這個響應由標準的Jax-Ws java庫產生,並且沒有Pojo。 –

+0

這是某處SOAP服務的響應。 JAX-WS只是一個API。您是否構建了返回此響應的服務? – mart

回答

3

最後我找到了解決方案。我們必須使用以下注釋:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)