Manipulating SOAP Headers using 'header' tag

View: New views
3 Messages — Rating Filter:   Alert me  

Manipulating SOAP Headers using 'header' tag

by Sabareeswar P. B. :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

We are using synapse between
1)       A web service client that was created from a wsdl that doesn't have any authentication parameters.
2)       A web service provider that requires authentication.

One of the requirements is to introduce a header element as per the requirements of the service provider.
Is it possible to use the "header" tag in synapse to create a SOAP:Header element as given below?
   <soapenv:Header>
      <urn:grid-name>SMECGRID</urn:grid-name>
      <oas:Security>
         <oas:UsernameToken>
            <oas:Username>admin</oas:Username>
            <oas:Password>admin123</oas:Password>
         </oas:UsernameToken>
      </oas:Security>
   </soapenv:Header>

If not, is using Custom mediation in Java a good approach?

Thanks

Regards,
Sabareeswar


**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely
for the use of the addressee(s). If you are not the intended recipient, please
notify the sender by e-mail and delete the original message. Further, you are not
to copy, disclose, or distribute this e-mail or its contents to any other person and
any such actions are unlawful. This e-mail may contain viruses. Infosys has taken
every reasonable precaution to minimize this risk, but is not liable for any damage
you may sustain as a result of any virus in this e-mail. You should carry out your
own virus checks before opening the e-mail or attachment. Infosys reserves the
right to monitor and review the content of all messages sent to or from this e-mail
address. Messages sent to or from this e-mail address may be stored on the
Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***

Re: Manipulating SOAP Headers using 'header' tag

by Asankha C. Perera :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Sabareeswar

Please join [1] the user mailing list to receive future replies, else
your message goes into manual moderation.
> We are using synapse between
> 1)       A web service client that was created from a wsdl that doesn't have any authentication parameters.
> 2)       A web service provider that requires authentication.
>
> One of the requirements is to introduce a header element as per the requirements of the service provider.
> Is it possible to use the "header" tag in synapse to create a SOAP:Header element as given below?
>  
Not currently.. however it would be possible if the header mediator was
extended to read an XML value instead of a String attribute.

>    <soapenv:Header>
>       <urn:grid-name>SMECGRID</urn:grid-name>
>       <oas:Security>
>          <oas:UsernameToken>
>             <oas:Username>admin</oas:Username>
>             <oas:Password>admin123</oas:Password>
>          </oas:UsernameToken>
>       </oas:Security>
>    </soapenv:Header>
>
> If not, is using Custom mediation in Java a good approach?
>  
Yes, that will be a workaround. If you could enhance the HeaderMediator
code itself, you could use it as well as share it back with the others

cheers
asankha

[1] http://synapse.apache.org/mail-lists.html

--
Asankha C. Perera
AdroitLogic, http://adroitlogic.org

http://esbmagic.blogspot.com





Parent Message unknown Re: Manipulating SOAP Headers using 'header' tag

by Asankha C. Perera :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Sabareeswar
> Am not able to subscribe to the link - I think it is being blocked by the firewall.
>  
Ok, I've added you manually, so you should be able to post in future..
> And regarding the usage of an XML "value", the character entity (<) is not getting translated to "<", though there is no problem with (>).
>  
I meant to allow one to write as follows - similarly to how we allow
tasks to define XML properties [1]

<header name="urn:grid-name" value="SMECGRID" xmlns:urn="...."/>
<header name="urn:grid-name" value="SMECGRID" xmlns:urn="....">
       <oas:Security>
         <oas:UsernameToken>
            <oas:Username>admin</oas:Username>
            <oas:Password>admin123</oas:Password>
         </oas:UsernameToken>
      </oas:Security>
</header>

This way, any valid XML content can be specified easily and elegantly

cheers
asankha

[1] http://synapse.apache.org/Synapse_Configuration_Language.html#task

--
Asankha C. Perera
AdroitLogic, http://adroitlogic.org

http://esbmagic.blogspot.com