相关文章推荐
谦和的菠萝  ·  Day6- ...·  10 月前    · 
想出家的水煮鱼  ·  修复失败的ruby ...·  11 月前    · 

Hi, we're testing a SOAP API, test with hard-code in portal is successful.
Now we want to know how to allow API consumer to use this API in the real world.

Setting : SOAP pass-through
Test WSDL : in my prior post here

## Requirement 1 :

How does API consumer provide subscription key at their end ?
We download the WSDL and use SoapUI to test it, not sure how to map the subscription key to the XML request.

## Requirement 2 :

How do we parameterize the backend credential info by policy ?
Different operation is asked to use different credential to hit the backend, and credentials are stored in APIM.
Ex : Edit Operation should use EditUserAccount to access the backend, Get Operation should use GetUserAccount

Here's a valid payload from current test via portal , where <soapenv:Header> entails backend credential I need to parameterize now.

Not sure if policy can achieve this requirement.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"   
    xmlns:bsvc="urn:com.workday/bsvc">  
    <soapenv:Header>  
        <wsse:Security soapenv:mustUnderstand="1"   
            xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"   
            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">  
            <wsse:UsernameToken wsu:Id="UsernameToken-11111111">  
                <wsse:Username>UserA</wsse:Username>  
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">UserA_PWD</wsse:Password>  
            </wsse:UsernameToken>  
        </wsse:Security>  
    </soapenv:Header>  
    <soapenv:Body>  
        <bsvc:Edit_Job_Requisition_Request xmlns:bsvc="urn:com.workday/bsvc" bsvc:version="v38.1">  
<bsvc:Business_Process_Parameters>  
<bsvc:Auto_Complete>true</bsvc:Auto_Complete>  
<bsvc:Run_Now>true</bsvc:Run_Now>  
<bsvc:Discard_On_Exit_Validation_Error>true</bsvc:Discard_On_Exit_Validation_Error>  
<bsvc:Comment_Data>  
<bsvc:Comment>Test Comment</bsvc:Comment>  
<bsvc:Worker_Reference bsvc:Descriptor="string">  
<bsvc:ID bsvc:type="Employee_ID">23084</bsvc:ID>  
</bsvc:Worker_Reference>  
</bsvc:Comment_Data>  
</bsvc:Business_Process_Parameters>  
      </soapenv:Body>  
</soapenv:Envelope>  

Also enclosed a successful test invoke portal

Need your advice, Thank you very much