我想使用ADF mobile调用SOAP请求。我的要求是:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" soap:mustUnderstand="1"><wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Username>INDIA</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header>
<soap:Body xmlns:ns1="http://xmlns.oracle.com/bpel/mobile/Notificationlist">
<ns1:NotificationlistRetrievalREQ>
<ns1:NotificationlistType>HR_OFFER</ns1:NotificationlistType>
<ns1:Status>TODO</ns1:Status>
<ns1:Mode/>
</ns1:NotificationlistRetrievalREQ>
</soap:Body>
</soap:Envelope>
所以,我已经调用了没有安全头的简单SOAP服务。但我不知道如何在ADF mobile中传递安全头。提前谢谢。
答案 0 :(得分:0)
如果您使用Web服务数据控件并将其配置为通过安全身份验证,则无需手动处理标头。 看到: https://blogs.oracle.com/shay/entry/accessing_secure_web_services_from
答案 1 :(得分:0)
您可以尝试创建一个Provider类,该类扩展SOAPProvider类并在其中实现getAdditionalSoapHeaders方法。在此方法中设置各种标头,并修改DataControls.dcx文件以指向您的Provider类。 我在blog post here.
中解释了一个这样的用例