Tania Marinova
Tania Marinova

Reputation: 1908

where can I see the security header which soapUI adds to my request

I have created an axis 2 web service with ws - security (which is enabled by the rampart module).

I want to test it in soapUi 4.5.1. and the request which soapUI proposes me is as it follows

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:nlo="http://nlo">
   <soapenv:Header/>
   <soapenv:Body>
      <nlo:echo>

         <nlo:arg>echoo</nlo:arg>
      </nlo:echo>
   </soapenv:Body>
</soapenv:Envelope>

But of course when I test it this way it gives me: missing security header

So I click on Show Project View - click on Outgoing WS-Security Configuration; Then I add WS Security Entry - UserName and I type the username, password and for PasswordType, I choose PasswordText.

Then I go back again to my request - it the same as the previous which soapUI proposed me but this time I click on the AUT section and for Outgoing WSS I choose my configuration. And everything works. But I can't see the security header which SoapUI has added. (neither in XML section not in RAW section).

Thanks in advance for the help!

Upvotes: 15

Views: 20834

Answers (3)

Matt Hansen
Matt Hansen

Reputation: 291

The WS-Security header block won't be visible in the XML section, but it should be visible in the Raw tab after you've run your test. If you rerun your test is it still not there?

You can also try using either Fiddler or Request Bin to capture the actual message being sent out onto the wire.

Upvotes: 2

Uladzimir
Uladzimir

Reputation: 3496

You can view WS-Security header block in the Raw section, but before going there make some changes and resend request.enter image description here

Upvotes: 20

deRailed
deRailed

Reputation: 579

Try using Wireshark to capture the entire request.

I ran into the same trouble. So capturing the network traffic on its way out via Wireshark seemed like the next best way.

Just go ahead an ping the server you are sending your SOAP request to so that you get its IP address.

Then run a capture with Wireshark while you send the SOAP request in question and filter the packets by destination IP. The filter expression will look something like this:
ip.dst == [your server IP].

It should have captured a packet of protocol type HTTP/XML. You can find your request under the tab eXtensivle Markup Language at the bottom.

PS. I realize this post is about a year old already, but I though I'd put a hint out there for any one else.

Upvotes: 3

Related Questions