SlideShare a Scribd company logo
1 of 50
Asynchronous Web Services Pyounguk Cho, Oracle Corporation Manoj Kumar, Oracle Corporation
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Web Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Web Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction WSDL ,[object Object],[object Object]
WSDL Types ,[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Messages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Port Type ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Binding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Service API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Synchronous Call ,[object Object],[object Object],[object Object]
Introduction Asynchronous Call ,[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Why Asynchronous? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Alternatives to JAX-* ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony JAXWS 2.x API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony  Synchronous Interface ,[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony  Asynchronous Interface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony Polling Style ,[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony  Asynchronous Interface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony Callback Style ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony
Server Side Asynchrony ,[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony HTTP ,[object Object],[object Object],[object Object]
Server Side Asynchrony  WS-Addressing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony  Request <soap:Envelope> <soap:Header> <wsa:MessageID>uuid:35f19ca8-c9fe</wsa:MessageID> <wsa:Action>http://lh:80/request/…</wsa:Action> <wsa:ReplyTo> <wsa:Address>http://lh:77/response</wsa:Address> <wsa:ReferenceParameters> <customHeader>correlationKey</customHeader> </wsa:ReferenceParameters> </wsa:ReplyTo> <wsa:To>http://lh:80/request</wsa:To> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
Server Side Asynchrony  Response <soap:Envelope> <soap:Header> <wsa:To>http://lh:77/response</wsa:To> <wsa:Action>urn:response</wsa:Action> <wsa:MessageID>uuid:cb383139-cdf2</wsa:MessageID> <wsa:RelatesTo>uuid:35f19ca8-c9fe</wsa:RelatesTo> <customHeader wsa:IsReferenceParameter=“1”> correlationKey</customHeader> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony Client Implementation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony Client Implementation (contd) ,[object Object]
Server Side Asynchrony Client side invocation StockQuote sq = service.getStockQuote(); // Populate headers AddressingVersion av =  AddressingVersion.W3C; WSBindingProvider wsbp = (WSBindingProvider)sq; WSEndpointReference replyTo = new WSEndpointReference( “ http://lh:77/response ” , av ); String uuid = “uuid:” + UUID.randomUUID(); wsbp.setOutboundHeaders( new StringHeader(av.messageIDTag, uuid), new StringHeader(av.toTag,”http://lh:88/…”), replyTo.createHeader(av.replyToTag); sq.getPrice(“ORCL”);
Server Side Asynchrony Callback Implementation // Deal with response @Resource WebServiceContext wsContext; public void getPriceResponse(String _return) { HeaderList hl = wsContext.getMessageContext().get( JAXWSPRopertiers.INBOUND_HEADER_LIST_PROPERTY); Header h = hl.get(AddressingVersion.W3C.relatesToTag()); String relatesToMessageId = h.getStringContents(); … } // How about receiving a fault?
Server Side Asynchrony FaultTo in Callback ,[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony Service Implementation ,[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony  Using JMS Queue for incoming request
Server Side Asynchrony  Using response queue
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declarative Asynchronous Services ,[object Object],[object Object],[object Object],[object Object]
Declarative Asynchronous Services package com.stock; import …; @ Portable WebService @ AsyncWebService   public class StockQuote { public float getPrice(String ticker) { return 100; } } Yes Just One  Annotation
Declarative Asynchronous Services ,[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced Topics   Policy for Asynchronous Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced Topics Policy for Asynchronous Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced Topics   Transaction Control
Advanced Topics   Reliability ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Q & A ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

JSON Rules Language
JSON Rules LanguageJSON Rules Language
JSON Rules Language
giurca
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
alice yang
 
Web Services - Business Process Execution Language
Web Services - Business Process Execution LanguageWeb Services - Business Process Execution Language
Web Services - Business Process Execution Language
Martin Necasky
 

What's hot (14)

SERVIET
SERVIETSERVIET
SERVIET
 
SCDJWS 3. WSDL
SCDJWS 3. WSDLSCDJWS 3. WSDL
SCDJWS 3. WSDL
 
Testing RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured frameworkTesting RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured framework
 
JSON Rules Language
JSON Rules LanguageJSON Rules Language
JSON Rules Language
 
Web II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET WorksWeb II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET Works
 
Ajax
AjaxAjax
Ajax
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
 
Web Services - Business Process Execution Language
Web Services - Business Process Execution LanguageWeb Services - Business Process Execution Language
Web Services - Business Process Execution Language
 
Introduction to java script
Introduction to java scriptIntroduction to java script
Introduction to java script
 
Signal r
Signal rSignal r
Signal r
 
WS-Addressing
WS-AddressingWS-Addressing
WS-Addressing
 
GWT
GWTGWT
GWT
 
JavaScript
JavaScriptJavaScript
JavaScript
 

Viewers also liked

Asynchronous t sql
Asynchronous t sqlAsynchronous t sql
Asynchronous t sql
Remus Rusanu
 
Building Asynchronous Services With Sca
Building Asynchronous Services With ScaBuilding Asynchronous Services With Sca
Building Asynchronous Services With Sca
Luciano Resende
 
Asynchronous Service Server
Asynchronous Service ServerAsynchronous Service Server
Asynchronous Service Server
guestbba9241
 

Viewers also liked (18)

Asynchronous t sql
Asynchronous t sqlAsynchronous t sql
Asynchronous t sql
 
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
 
Building Asynchronous Services With Sca
Building Asynchronous Services With ScaBuilding Asynchronous Services With Sca
Building Asynchronous Services With Sca
 
Soap Vs Rest
Soap Vs RestSoap Vs Rest
Soap Vs Rest
 
Asynchronous Service Server
Asynchronous Service ServerAsynchronous Service Server
Asynchronous Service Server
 
The Web Framework Dream Team
The Web Framework Dream TeamThe Web Framework Dream Team
The Web Framework Dream Team
 
Designing beautiful REST APIs
Designing beautiful REST APIsDesigning beautiful REST APIs
Designing beautiful REST APIs
 
Asynch Soa
Asynch SoaAsynch Soa
Asynch Soa
 
Microservices for the rest of us
Microservices for the rest of usMicroservices for the rest of us
Microservices for the rest of us
 
OSGi Asynchronous Services: more than RPC
OSGi Asynchronous Services: more than RPCOSGi Asynchronous Services: more than RPC
OSGi Asynchronous Services: more than RPC
 
Asynchronous programming in F# (QCon 2012)
Asynchronous programming in F# (QCon 2012)Asynchronous programming in F# (QCon 2012)
Asynchronous programming in F# (QCon 2012)
 
Asynchronous Processing in Java/JEE/Spring
Asynchronous Processing in Java/JEE/SpringAsynchronous Processing in Java/JEE/Spring
Asynchronous Processing in Java/JEE/Spring
 
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
 
Asynchronous micro-services and the unified log
Asynchronous micro-services and the unified logAsynchronous micro-services and the unified log
Asynchronous micro-services and the unified log
 
Futures and Rx Observables: powerful abstractions for consuming web services ...
Futures and Rx Observables: powerful abstractions for consuming web services ...Futures and Rx Observables: powerful abstractions for consuming web services ...
Futures and Rx Observables: powerful abstractions for consuming web services ...
 
Introduction to REST and JAX-RS
Introduction to REST and JAX-RSIntroduction to REST and JAX-RS
Introduction to REST and JAX-RS
 
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
The Future of Services: Building Asynchronous, Resilient and Elastic SystemsThe Future of Services: Building Asynchronous, Resilient and Elastic Systems
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 

Similar to Svcc2009 Async Ws

Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 

Similar to Svcc2009 Async Ws (20)

AK 3 web services using apache axis
AK 3   web services using apache axisAK 3   web services using apache axis
AK 3 web services using apache axis
 
REST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side DevelopmentREST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side Development
 
Building Websocket Applications with GlassFish and Grizzly
Building Websocket Applications with GlassFish and GrizzlyBuilding Websocket Applications with GlassFish and Grizzly
Building Websocket Applications with GlassFish and Grizzly
 
Interoperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITInteroperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSIT
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Steps india technologies
Steps india technologiesSteps india technologies
Steps india technologies
 
Steps india technologies .com
Steps india technologies .comSteps india technologies .com
Steps india technologies .com
 
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
 
SCDJWS 5. JAX-WS
SCDJWS 5. JAX-WSSCDJWS 5. JAX-WS
SCDJWS 5. JAX-WS
 
70562-Dumps
70562-Dumps70562-Dumps
70562-Dumps
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web Toolkits
 
SignalR
SignalRSignalR
SignalR
 
Web services in java
Web services in javaWeb services in java
Web services in java
 
Web services
Web servicesWeb services
Web services
 
T2
T2T2
T2
 
Servlet
ServletServlet
Servlet
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
GWT Web Socket and data serialization
GWT Web Socket and data serializationGWT Web Socket and data serialization
GWT Web Socket and data serialization
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Svcc2009 Async Ws

  • 1. Asynchronous Web Services Pyounguk Cho, Oracle Corporation Manoj Kumar, Oracle Corporation
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 26.
  • 27.
  • 28.
  • 29. Server Side Asynchrony Request <soap:Envelope> <soap:Header> <wsa:MessageID>uuid:35f19ca8-c9fe</wsa:MessageID> <wsa:Action>http://lh:80/request/…</wsa:Action> <wsa:ReplyTo> <wsa:Address>http://lh:77/response</wsa:Address> <wsa:ReferenceParameters> <customHeader>correlationKey</customHeader> </wsa:ReferenceParameters> </wsa:ReplyTo> <wsa:To>http://lh:80/request</wsa:To> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
  • 30. Server Side Asynchrony Response <soap:Envelope> <soap:Header> <wsa:To>http://lh:77/response</wsa:To> <wsa:Action>urn:response</wsa:Action> <wsa:MessageID>uuid:cb383139-cdf2</wsa:MessageID> <wsa:RelatesTo>uuid:35f19ca8-c9fe</wsa:RelatesTo> <customHeader wsa:IsReferenceParameter=“1”> correlationKey</customHeader> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
  • 31.
  • 32.
  • 33.
  • 34. Server Side Asynchrony Client side invocation StockQuote sq = service.getStockQuote(); // Populate headers AddressingVersion av = AddressingVersion.W3C; WSBindingProvider wsbp = (WSBindingProvider)sq; WSEndpointReference replyTo = new WSEndpointReference( “ http://lh:77/response ” , av ); String uuid = “uuid:” + UUID.randomUUID(); wsbp.setOutboundHeaders( new StringHeader(av.messageIDTag, uuid), new StringHeader(av.toTag,”http://lh:88/…”), replyTo.createHeader(av.replyToTag); sq.getPrice(“ORCL”);
  • 35. Server Side Asynchrony Callback Implementation // Deal with response @Resource WebServiceContext wsContext; public void getPriceResponse(String _return) { HeaderList hl = wsContext.getMessageContext().get( JAXWSPRopertiers.INBOUND_HEADER_LIST_PROPERTY); Header h = hl.get(AddressingVersion.W3C.relatesToTag()); String relatesToMessageId = h.getStringContents(); … } // How about receiving a fault?
  • 36.
  • 37.
  • 38. Server Side Asynchrony Using JMS Queue for incoming request
  • 39. Server Side Asynchrony Using response queue
  • 40.
  • 41.
  • 42. Declarative Asynchronous Services package com.stock; import …; @ Portable WebService @ AsyncWebService public class StockQuote { public float getPrice(String ticker) { return 100; } } Yes Just One Annotation
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Advanced Topics Transaction Control
  • 48.
  • 49.
  • 50.

Editor's Notes

  1. For the BPEL entry we should not: &lt;10’s seconds synchronous Asynchronous services &gt;minutes then use BPEL
  2. Note that this style is become more populate in web browser, for example the built in database in HTML 5 uses this form; but it can be harder to write code that works in this way because you need to make sure the main focus of the tool you are working on is ready.
  3. But how do we relate message instances……
  4. http://hyperthink.net/blog/PermaLink,guid,8519a1bf-e1b7-4b9b-b10c-fce8d359b83e.aspx
  5. Can’t use AddressingFeature as once you have created any headers it wont work anymore – really annoying. Hence this longer code above. Could be using handlers but they are more painful when you need to set and extract instance information. Easier to put the code in-line
  6. Annoyed this fix go pulled from Farralon as pyoung didn’t think it was important. I guess we just skirt the issue, or offer a dirty fat patch.
  7. I supose the point to be made here is that The Async Reponder needs to be managed in some way….. Hence we are using JMS…..