我们已经使用 JAX-WS 实现了一个 Web 服务,我们希望从 Web 服务响应中完全删除名称空间前缀。仅供参考,这是在 Oracle WebLogic Server 上运行的。我想更改生成的 Web 服务响应。我不确定我们是否有权编辑提供的 XSLT。
有什么方法可以强制以下响应不以任何命名空间值作为前缀(例如:- S,ns2)。??类似于:- 在 Web 服务处理程序中实现 handleResponse(MessageContext messageContext) 方法,然后删除命名空间并将没有命名空间的新消息设置为 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>