none
How to implement an async callback in my OSB async web service client in C#

    Question

  • I am trying to implement the async callback method for my web service client that calls async web service on the Oracle Service Bus (OSB). I have autogenerated the svc class, added ws-addressing header info in BeforeSendRequest(...). I have also created an async callback method but I can't find any way to assign a url and port for the async callback method which is required by the osb async service. The address:port/methodname/ goes in the wsa:ReplyTo address. The url:port/methodname/ cannot be anonymous. My code can successfully send a request and receive an ack but can't get a callback response because of the missing replyto address. The OSB service uses ws-addressing and soap 1.1. Any help would be greatly appreciated. Sample code would be great. Thanks.
    Wednesday, October 30, 2013 8:49 PM

All replies

  • Hi,

    What I probably already know is that OSB Proxy Service does not support asynchronous calls. This does not mean that it is impossible to do asynchronous calls in the OSB.  To make this work maybe you have to do the refer to the following articles:

    #Building an asynchronous web service with OSB:
    http://biemond.blogspot.in/2011/02/building-asynchronous-web-service-with_27.html .
    # Call Asynchronous SOA service from OSB:
    http://soawork.blogspot.in/2012/08/call-asynchronous-soa-service-from-osb-using-soa-direct.html .

    Best Regards,
    Amy Peng


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Thursday, October 31, 2013 2:19 AM
    Moderator
  • Amy,

    The OSB web service I am trying to consume requires my client to implement async callback and it works fine with Java clients that specified a replyto address for the callback response. So far I have not found a single working example of a C# web client that consumes an OSB web service with async callback. I have found examples in Java but not in C#.

    Regards,

    Sam

    Thursday, October 31, 2013 9:14 PM
  • My friends,


    Summary: Still don't know how to create a C# WCF client to consume OSB asynchronous web service. The protocol is https, soap11 with ws-addressing, and the replyto address for the callback has to be specified not anonymous. I could not find any wcf bindings including custom binding to work with OSB async web service so I created a wcf client that just sends the request while I have a separate wcf service to handle the callback response from the OSB. The wcf client works fine but my wcf service could not process the callback response. Using Wireshark to monitor the activities, I see the caallback respionse came in but encounter an error:  HTTP/1.1 500 Internal Server Error..Content-Length: 751..Content-Type: text/xml; charset=utf-8..Server: Microsoft-HTTPAPI/2.0. So what's the right way to write WCF web service client to consume async OSB web service? Any help would be greatly appreciated.


    Thanks.


    Sam

    Saturday, November 16, 2013 12:55 AM