我正在尝试拦截 Web 服务调用,以使用 xsl 更改 Web 服务的用户凭据(用户名令牌和密码)。
SO调用就像客户端-->拦截器(更改用户凭据)+任何其他更改-->调用原始oracle ERP/Siebel Web服务。
这将通过 xsl 完成...我尝试了各种选项,但没有成功...非常需要帮助...搜索了很多网站,但找不到正确的答案。
Web 服务请求示例如下:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://siebel.com/CustomUI" >
<soapenv:Header>
<UsernameToken xmlns="http://siebel.com/webservices">Bill</UsernameToken>
<PasswordText xmlns="http://siebel.com/webservices">Gates</PasswordText>
<SessionType xmlns="http://siebel.com/webservices">None</SessionType>
</soapenv:Header>
<soapenv:Body>
<cus:SiebelService>
<a>testvalue1</a>
<b>testvalue2</b>
</cus:SiebelService>
</soapenv:Body>
</soapenv:Envelope>
这应该使用 xsl 进行转换以提供以下输出:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://siebel.com/CustomUI" >
<soapenv:Header>
<UsernameToken xmlns="http://siebel.com/webservices">Steve</UsernameToken>
<PasswordText xmlns="http://siebel.com/webservices">Balmer</PasswordText>
<SessionType xmlns="http://siebel.com/webservices">None</SessionType>
</soapenv:Header>
<soapenv:Body>
<cus:SiebelService>
<a>testvalue1</a>
<b>testvalue2</b>
</cus:SiebelService>
</soapenv:Body>
</soapenv:Envelope>