• 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

Adding Header Information

 
Ranch Hand
Posts: 87
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I just started working with Web Services. I was able to create stubs from the WSDL and send out a SOAP request and got a reply back.
My questions is, can I continue to use the java stubs and add a header to the SOAP request? Is there a way to somehow import the request that comes from the stub into SAAJ?
 
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm not quite clear on what you're trying to do, but this example SAAJ client sets both HTTP headers and SOAP headers.
 
Dave Trower
Ranch Hand
Posts: 87
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I did not explain what I was asking very well.
Here is the code I am currently using in a proof-of-concept test:
Class collinClass = com.alltel.AlltelEAL_Collin_PortType.class;
//Create the service
AlltelEAL_Collin_Service_Impl collinService = new AlltelEAL_Collin_Service_Impl();
//create port
AlltelEAL_Collin_PortType port = (AlltelEAL_Collin_PortType) collinService.getPort(collinClass);
AccountLookupResponseType ealResponse = port.accountLookupPOC("M","5015550952");
CustomerInfo custInfo = ealResponse.getCustomerInfo();
String lastName = custInfo.getLastName();
String firstName = custInfo.getFirstName();
System.out.println("Customer's first name is " + firstName);
System.out.println("Customer's last name is " + lastName);

Here a serch is done on the phone number 5015550952 and the first and
last name is retrieved.
Here I created stub classes from the WSDL.
I like this approach since I would like to avoid creating the XML by hand if I can.
The problem I have is when this code goes to production, we need to create a header that contains a digital signiture.
What I want to do is continue to use the stubs but I need to use something like SAAJ to add the header.
Can this be done or I am approaching the problem the wrong way?
Thank you in advance.
 
Ulf Dittmer
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The usual way to add digital signatures is to use the WS-Security standard that is implemented by the WSS4J library. I've only ever used WSS4J for username/password authentication, though, not signatures, so I can't help in this regard.
 
Bartender
Posts: 2968
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Typically headers are processed by handlers - i.e. the client side request handler would generate and add the header to the request, the server request handler would verify it (or fault the message)
Supporting Digital Signatures Within SOAP Messages
A how-to guide for supporting digital signatures within SOAP messages, part 3
Note that accepted headers can be identified within the WSDL - the request headers appear as bound input messages (i.e. in the binding element) but are not referenced in the portType element. The stub will have no reference to the headers as it only represents the portType interface. This is why handlers are responsible for processing headers - not the stub.
[ June 18, 2007: Message edited by: Peer Reynders ]
reply
    Bookmark Topic Watch Topic
  • New Topic