0

我们已经使用 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> 

4

0 回答 0