我们使用JAX-WS实现了一个Web服务,我们希望从Web服务响应中完全删除名称空间前缀。 仅供参考,这是在Oracle WebLogic Server上运行的。我想更改生成的Webservice响应。我不确定我们是否有权编辑提供的XSLT。
我们是否可以通过任何方式强制执行以下响应,而不是使用任何命名空间值作为前缀(例如: - S,ns2)。 类似于: - 在Web Services Handler中实现handleResponse(MessageContext messageContext)方法,然后删除命名空间并将没有命名空间的新Message设置为MessageContext。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:HelloWorld xmlns:ns2="http://abc.xxx.com/pqr/Helloworld" xmlns="http://abc.xxx.com/commonheader/v">
<WSResponseHeader>
<WSContext>
<WSNameValue>
<Name>APP Name</Name>
<Value>ABCD</Value>
</WSNameValue>
</WSContext>
<WSMessageData>
<Timestamp>2015-05-26T11:10:16.875</Timestamp>
</WSMessageData>
</WSResponseHeader>
<ns2:ResponseHeader>
<ns2:RequestID>TEST12</ns2:RequestID>
<ns2:ResponseStatus>SUCCESS</ns2:ResponseStatus>
</ns2:ResponseHeader>
<ns2:HelloResponse>
<ns2:HelloAddressList numberOfCandidate="1">
<ns2:HelloAddress>
<ns2:Address countryCode="COUNTRY">
<ns2:StreetAddress>
<ns2:Street>0000 Street Name</ns2:Street>
</ns2:StreetAddress>
<ns2:City>CITY</ns2:City>
<ns2:State>STATE</ns2:State>
<ns2:PostalCode>ZIP</ns2:PostalCode>
</ns2:Address>
<ns2:Services>
<ns2:Code>HK</ns2:Code>
<ns2:Description>House Keeping</ns2:Description>
<ns2:Available>Y</ns2:Available>
</ns2:Services>
</ns2:HelloAddress>
</ns2:HelloAddressList>
</ns2:HelloResponse>
</ns2:HelloWorld>
</S:Body>