Service Bus 12c – A Hands-on Tutorial

I published a Service Bus 12c Tutorial considering the use case described in my previous blogs. The Tutorial is available for download here and would like to know your valuable comments. The WSDLs and other material used in this tutorial can be downloaded from here.

By the time you finish this tutorial, you will learn:

  • Creating Service Bus Application, Project, Proxy and Business services.
  • Working with resources like WSDL, XSD, XSLT, XQuery etc.
  • Sharing Service Bus resources across Service Bus projects to enable reuse and modularity.
  • Creating Pipeline Templates, Pipelines and using nodes like Pipeline Pair, Stage, Routing and Operational Branches.
  • Using Domain Value Maps (DVM) for storing configuring properties and using them in message flow.
  • Creating Service Accounts and using them in message flow at Runtime.
  • Enriching the messages using intermediate Service callouts in Pipelines.
  • Routing messages to business services using Service Callout, Routing and Routing Table.
  • Working with Split-Joins.
  • Using Service error handlers in Pipelines.
  • Securing Proxy service using OWSM.
  • Deploying and Testing Proxy and Business services.

45 Responses to “Service Bus 12c – A Hands-on Tutorial”

  1. 1 Shenoy June 13, 2021 at 12:48 PM

    Unable to access the resources URL , google drive link is broken, please provide working link for downloading sample code

  2. 2 Gaurav June 10, 2021 at 7:24 PM

    The demo artifact link is no longer working siva . Can you help with downloadable URL?

  3. 3 Acro June 10, 2021 at 7:18 PM

    The demo artifact and links are not accessible

  4. 4 vineetha November 26, 2019 at 11:10 AM

    Hi,iam new to osb technology how can i learn this technology

  5. 6 Anonymous August 16, 2019 at 10:47 AM

    I don’t nothing in OSB like xquery,XSLts ..please help me out.

  6. 7 Venkat Krishnan February 15, 2019 at 5:06 PM

    very nice material good for beginners

  7. 8 Mahesh October 25, 2018 at 3:32 PM

    Hi Shiva,

    how to integrate JIRA using BPEL?

  8. 9 osbfan June 10, 2018 at 5:03 AM

    Hi Siva, please help me out. I just created simple REST Proxy service and I have used DB Adapter to retrieve employee info by passing emp id.

    I just followed below article to create REST proxy service

    When I run Business service bound to DB adapter, it runs fine and giving me emp info. But when I run REST proxy or Pipeline, I am getting NPE :

    at com.bea.alsb.debug.service.DebuggerService.eventManager(

    Can not think of anything.

    Appreciate your quick help. If I create REST proxy in any approach, it is not running. Like, whether I just create business service first using DB Adapter, then create pipeline or create REST proxy along with pipeline and then wire the pipeline to Business service …whatever it is. Everything giving me NPE.

    Appreciate you help Siva.

    • 10 svgonugu June 10, 2018 at 11:40 PM

      just from the stack trace i could not get insights..are you able to see any useful info in trace when you run the proxy?

    • 11 osbfan June 11, 2018 at 3:20 AM

      Hi Siva, I sent you full stack trace just now. I do not see it is posted. I am hoping you are able to see it. Inside the pipeline, I have not added anything because I have seen example same as mine posted by someone (I am unable to find it) and even in that blog, the instructor did not add anything special in the pipeline. Just wired the pipeline to DB Adapter. BTW, in the property window, I see by default Route node got added , then underneath Route node, the Routing node is adding, the properties window for Routing node shows service as my business service with radio button “Use inbound operation for outbound”. That’s I can not think of root cause for my NPE when I run REST proxy service.

      Thank you Siva.

  9. 14 Dinesh (@Dinesh11767288) February 24, 2018 at 3:59 PM

    Could you please create some more arcticles on Workfusion, can where does SOA stands in comparision with other Microservice tools.

    It would be great if you can shred some light into that.

    Also I heard java is mandatory to learn SOA, is it? then its a pain
    I was going through Workfusion” article where it explains more on Mulesoft SOA, you can check that its helpful too

    Anyways great job! keep up the Work

    Thank you,

  10. 15 chaisam February 24, 2018 at 2:57 PM

    Hai shiva,
    Thanks for the tutorial, it has been a life saver – well presented, easy to follow and covers wide variety of issues.

  11. 16 soatutors October 27, 2017 at 12:39 PM

    Thanks Shiva , really your awesome man you did wonderful job its help me lot …..

  12. 17 Anonymous July 28, 2017 at 10:51 AM

    hi i couldnot access your tutorial through this link.Please share link

  13. 19 Satya Nagendra Kumar July 3, 2017 at 3:47 AM

    Hi Siva,

    I am learning OSB12c with your tutorial. i am getting service callout issues when i tested customerPSpipeline. at the point of userIDServiceBS.bix (business service) callout i am getting ‘OSB-382543’ error. Do i need to pass the SA credentials as the values of weblogic or any values i can pass?


    • 20 svgonugu July 3, 2017 at 10:50 AM

      any error text that you are seeing. How are you simulating the service endpoints and do the endpoints working

      • 21 Satya Nagendra Kumar July 28, 2017 at 2:10 AM

        Hi Siva,

        I observed that the mock service payload which you shared as part of this tutorial is having the http-response as ‘500’ . After modifying it to 200 the issue resolved. Now i observed 1 more.. In the routing of ‘Create CustomerRoute’ or ‘update customer route’ the assign/raise error conditions are not working. i tried to change the responses of the mock result to the error(Like changing the status from ‘S’ to ‘E’) but its not working

  14. 22 Urmi May 26, 2017 at 2:56 PM

    Thanks a lot Shiva great work you did. your shared knowledge took me to the next level. Thanks a lot.

  15. 23 Anonymous May 4, 2017 at 8:28 PM

    Hi Shiva, thank you for this wonderful tutorial. The link in the beginning of the tutorial which explains the concepts of Service bus isn’t working. Can you please share that.

  16. 25 Sree March 9, 2017 at 12:07 PM

    Hi Shiva,

    Thanks for your tutorial, I just seen your tutorial and would like to practice your POC using the OSB 12c in jdev12c. Will get back to you once I get any issue while practicing. Hope you will provide better assitance to me :)


  17. 26 samy singh January 2, 2017 at 6:35 PM

    What is the endpoint for WSDLs?

    • 27 svgonugu January 3, 2017 at 1:12 PM

      i hope you are asking about WSDLs used for business services. I used SOAP ui mock services for the tutorial so the endpoint will vary depending on how you are creating mock services.

  18. 28 g December 10, 2016 at 12:22 AM

    HI Siva,

    Im getting while trying to run CustomerOrder BS ,please let me know if any changes to be done from to run it succesfully..
    Thanq for your quick response.

  19. 30 Michael E. Allen April 13, 2016 at 10:03 PM

    I am following the tutorial for, but for ServiceBus As you have heard before, this is an amazing tutorial and I thank you. One problem: when I try to run anyy Business Service, I get this error:
    Error Accessing Test Configuration Help

    Validation of ServiceMetadataDerivedType XYZCommon/BusinessServices/CustomerServiceBS.BusinessService failed: ServiceMetadataDerivedType XYZCommon/BusinessServices/CustomerServiceBS.BusinessService does not exist

    I am thinking it may be due to not being able to find SOA schema because of DEV12C_ prefix? (Which was also created according to your instructions in another blog post.) Any help appreciated!

    • 31 svgonugu April 14, 2016 at 11:45 AM

      that should not create this kind of issues. Here what is ServiceMetadataDerivedType ? if you can give me your project using some shared location i can check ifyou want.

  20. 32 Anonymous January 21, 2016 at 7:31 PM

    Hi, very nice Tutorial…but..I got some problems…may be could you give us the source code (Jdev Project) in order to understand where i did a mistake..ty for all

  21. 36 Anonymous October 7, 2015 at 12:55 PM

    Thanks a lot for Sharing such a valuable information!!

  22. 37 Venkat Chakka August 11, 2015 at 11:22 AM

    Hi Shiva,

    Is this a bug in 12c ? Please suggest the solution for this.

    We have couple of OSB services exposed as REST which will be consumed by REST APIs. We have proper error handling in place to handle all the error scenarios.
    For below scenarios we are not able to propagate JSON error response to API :

    1. Whenever OSB engine populates context fault ($fault) at runtime. for eg: service callout faults , validate action faults.
    2. Whenever we throw error manually using Raise Error action.

    Is this a bug in 12c ? Please suggest the solution for this.

    ### Steps to Reproduce ###
    1.Expose a proxy service as REST with JSON structure for request, response and fault.
    2.Use Raise Error action in message flow with custom error code and handle it in service level handler.
    3.Use validate action for schema validation and raise error when validation fails.
    4.Use service callout to call a SOAP web service.
    5.Test REST proxy from SOAP UI , for above 3 scenarios ,xml error will be returned which doesn’t obey with fault schema defined in OSB .Instead we should receive JSON error with the structure defined in fault schema.

  23. 39 Ankeetha July 24, 2015 at 12:08 PM

    Unable to view the material. This webpage is not available is the messages seeen. Please help

  24. 42 Ryan July 2, 2015 at 6:57 PM

    namo namah
    Thank you!
    This tutorial has been a life saver – well presented, easy to follow and covering a wide variety of issues on the new 12c.
    Once again, thank you!

  25. 43 Anonymous March 25, 2015 at 12:39 AM

    Hi Siva,

    I have started reading your guide and if possible can you please add the below points.

    1) What is the purpose of choosing the OSB for Routing the Request or response.
    2) Major Advantages of OSB

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 379 other subscribers

Enter your email address to follow this blog and receive notifications of new posts by email.

%d bloggers like this: