• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

SAAJ API does not allow intermediate nodes?

 
Bartender
Posts: 2418
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
From J2EE 5 tutorial , it says


All SOAP messages are sent and received over a connection. With the SAAJ API, the connection is represented by a SOAPConnection object, which goes from the sender directly to its destination. This kind of connection is called a point-to-point connection because it goes from one endpoint to another endpoint. Messages sent using the SAAJ API are called request-response messages. They are sent over a SOAPConnection object with the call method, which sends a message (a request) and then blocks until it receives the reply (a response).


J2EE 6 tutorial does not have any chapter about SAAJ API.

It says SOAPConnection only connect the sender directly to the destination. Does it mean we cannot use SOAPConnection if the message path has intermediate nodes?
 
Creator of Enthuware JWS+ V6
Posts: 3411
320
Android Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Himai Minh wrote:It says SOAPConnection only connect the sender directly to the destination. Does it mean we cannot use SOAPConnection if the message path has intermediate nodes?


No, you can still use it to connect to the intermediate node. From SOAP v1.1

"The SOAP intermediary is an application that is capable of both receiving and forwarding SOAP messages. Both intermediaries as well as the ultimate destination are identified by a URI."


 
Himai Minh
Bartender
Posts: 2418
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So, that means we will need two connections from sender to intermediate_url and then from intermediate_url to ultimate receiver.
soapconnection.call (soapMessage, intermediate_url) and then soapconnection.call(soapMessage, ultimate_url).
 
Frits Walraven
Creator of Enthuware JWS+ V6
Posts: 3411
320
Android Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, and you will use the SOAP actor attribute (SOAP v1.1) to indicate the ultimate destination.
 
Himai Minh
Bartender
Posts: 2418
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
But in SOAP 1.1, only the next actor is defined as "http://schemas.xmlsoap.org/soap/actor/next". The ultimate receiver in SOAP 1.1 is not defined.
But in SOAP 1.2, next role is defined at "http://www.w3.org/2003/05/soap-envelope/role/next", ultimate receiver is defined as "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver.

 
Frits Walraven
Creator of Enthuware JWS+ V6
Posts: 3411
320
Android Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, that is true you either provide the URI of the ultimate destination or you omit the SOAP actor attribute (to indicate that the recipient is the ultimate destination)

 
reply
    Bookmark Topic Watch Topic
  • New Topic