8 Replies Latest reply: Feb 25, 2014 7:07 AM by StefanOEG RSS

Service Virtualization for end point

user580543 Newbie
Currently Being Moderated

Hi Stefan,

We have a requirement so that different operations exposed in a single end point be exposed with differrent gateway end points (Service IDs).

When I register the webservice WSDL with one operation , it automatically names the web service in the policy studio and I'm unable to register the same same WSDL for another operation.

 

I had a workaround to rename the previously registered WS, but not sure if I'm doing it correctly.

 

For SIDs (Service IDs), can they be generated by the policy studio or input by user?

 

Thanks,

Vani

  • 1. Re: Service Virtualization for end point
    user580543 Newbie
    Currently Being Moderated

    Hi,

    Could please help with this query, I shall post further details if needed.

     

    Thanks,

    Vani

  • 2. Re: Service Virtualization for end point
    StefanOEG Explorer
    Currently Being Moderated

    Hi Vani,

     

    I have been off for holidays and kept busy with work so a bit delayed response here And there seems nobody else is helping out on this forum!

     

    I'm not sure if I understand your requirement completely and what the end result should be. But it sounds like you should try merge your WSDL files into one and add custom routing to the individual operations. 

     

    But for the name collision, under the Business Service Repository, create folders with unique names and then right click and "Register Web Service" and you will avoid the problem with the names colliding!

     

    Cheers,

    Stefan

  • 3. Re: Service Virtualization for end point
    user580543 Newbie
    Currently Being Moderated

    Hi Stefan,

    Sorry for the delayed response.

     

    We have single end point URL for multiple soap operations on a host.

    For Eg: https://test-server/TEST_API_S/TestApi with multiple operations (opr1 ,opr2 etc..)

    OAG is installed on a different machine.

     

    We are planning to have multiple policies (using "Connect to URL" filter by specifying the backend WS end point)

    for each of operation and by defining different "relative path"s.

     

    http://oag-server:8080/testopr1/  and http://oag-server:8080/testopr2/

     

    In order to map policy per operation we are using "Operation Name" filter for operation match.

     

    Please advice if we can use this method to virtualize our webservices via OAG.

     

    Thanks and Regards,

    Vani

  • 4. Re: Service Virtualization for end point
    StefanOEG Explorer
    Currently Being Moderated

    Hi Vani,

     

    I don't actually understand what you are trying to achieve here by having different paths for different operations. If you could try explain why this is needed I might be able to come up with a better answer.

     

    This is handled by the SOAPAction header along-side with the Web Service Handler Filter, which operation that should be executed etc. The filter will fail unless it has a correct SOAPAction header. If you want to execute different policies depending on specific operations this can be done under tab "Message Interception Points" and "B) Set Operation-specific Policy Shortcuts".

     

    Cheers,

    Stefan

  • 5. Re: Service Virtualization for end point
    user580543 Newbie
    Currently Being Moderated

    Hi Stefan,

    We are trying to have different paths for each of the operation because the set of users for the operations are different , so set of IPs allowed are different.

    Also we are planning to name the path specific to each operation (naming convention). Hope I justified the need

     

    If we use SOAPAction Resolver/Operation name filter along-side with the Web Service Handler Filter, the Operation-specific Policy would need to have the "connect to URL" ?

     

    Thanks,

    Vani

  • 6. Re: Service Virtualization for end point
    StefanOEG Explorer
    Currently Being Moderated

    Ok, I think I understand a bit more!

     

    It is possible to build custom policy that would correspond to a normal WS visualization but can I suggest a more neat solution? or even 2 solutions I think is better.

     

    From your last response it sounds as you want to be able to Authorize different operations differently.

     

    Keep your web service as a normal one (One published URL).

     

    In the Service handler filter and in tab "Message Interception Points", in 1. Request from Client and section A, here you would in general execute Authentication against LDAP by consuming the WSS header from the SOAP message and possible to also execute an XML Threat policy.

     

    In Section B, here you can now execute policies for your specific operations which would include an Authorization (That is specific for that operation) and also your IP Rule filter. If this fails, fail the request with a proper error message.

     

    If this solution is not working and you specifically want separate URL's per operation, then create one set of WSDL-files for each operation and implement them as normal, basically splitting the actual WSDL file.. I would really try avoid build a "custom" web service handler.

     

    Cheers,

    Stefan

  • 7. Re: Service Virtualization for end point
    user580543 Newbie
    Currently Being Moderated

    Hi Stefan,

    Both the solutions look great!

    I will take them to my management for their decision.

     

    I have a clarification , in the section B along with authorization and authentication filters/policies, "Connect To URL" filter is also needed right?

     

    Since last time when I tried register webservice with the generated policy I get below error :

     

    [Operation Processor '1. Request from Client'] No handler specified for operation {http://oracle/globalit/itas/ext/schema}searchObject

     

    Thanks,

    Vani

  • 8. Re: Service Virtualization for end point
    StefanOEG Explorer
    Currently Being Moderated

    Hi Vani,

     

    Connect to Url is not needed as the Service Handler has a full connection filter included.

     

    As for the other problem, need more info than just a random one-liner error with no context. What filter and how have configured it, what is the expected result you trying to get and provide the trace in Debug mode! Arrange with screenshots etc if its hard to explain!

     

    Cheers,

    Stefan

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points