在ADF mobile中调用SOAP请求

时间:2013-04-25 11:52:51

标签: soap oracle-adf

我想使用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中传递安全头。提前谢谢。

2 个答案:

答案 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.

中解释了一个这样的用例