aspose file tools*
The moose likes Web Services and the fly likes org.apache.axis2.AxisFault: Missing wsse:Security header in request Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "org.apache.axis2.AxisFault: Missing wsse:Security header in request" Watch "org.apache.axis2.AxisFault: Missing wsse:Security header in request" New topic
Author

org.apache.axis2.AxisFault: Missing wsse:Security header in request

Rama Timmanagowni
Greenhorn

Joined: Dec 09, 2011
Posts: 3
Hi,

Could some one help me on the below issue.

I am trying to cretae a XML request using AXIS2 frame work. Request should be generated with signature information. I have created request successfully, but while getting response I have recieved *********************** RampartReceiver received .
after that I am getting exception like below. In the response securti is not required. This is plain response which I am getting. But the request should be with teh securty. It is serching for wsse security in the response as well. How can I remove this security while getting in the response.

Please help me on this. It is bit urgent. Please let me know if you required any more details.

org.apache.axis2.AxisFault: Missing wsse:Security header in request
at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:166)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:336)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
at ClassifiedClient.main(ClassifiedClient.java:146)
Caused by: org.apache.rampart.RampartException: Missing wsse:Security header in request
at org.apache.rampart.RampartEngine.process(RampartEngine.java:117)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
Tim Moores
Rancher

Joined: Sep 21, 2011
Posts: 2408
Are you sure the error happens during procesing the response? It says "Missing wsse:Security header in request".
Rama Timmanagowni
Greenhorn

Joined: Dec 09, 2011
Posts: 3

Hi Tim,

After the belwo response am getting this exception: org.apache.axis2.AxisFault: Missing wsse:Security header in request. PLease help me on this.


DEBUG org.apache.rampart.MESSAGE - *********************** RampartReceiver received
<?xml version='1.0' encoding='utf-8'?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><seam:conversationId xmlns:seam="http://www.jboss.org/seam/webservice">7849</seam:conversationId><quickcheck:RequestProcessingTime xmlns:quickcheck="http://quickcheck.kft.itsh.hu">47</quickcheck:RequestProcessingTime></env:Header><env:Body>
<sucheMarktprodukt xmlns="http://www.telekom.de/t-com/DSLRecherche/webservices/Daten" xmlns:fault="http://ServiceFault_v2.bbfn.telekom.de">
<Adressbezogen>
<Adresse_Response>
<Adresse>
<Strasse>Eichändorffplatz</Strasse>
<Hausnummer>52</Hausnummer>
<Hausnummernzusatz>c</Hausnummernzusatz>
<Postleitzahl>20257</Postleitzahl>
<Ort>Hamburg</Ort>
<KLS-ID>501237053</KLS-ID>
</Adresse>
<DSL-Kapazitaet>
<Bandbreite>
<DSL-Typ>ADSL</DSL-Typ>
<Downstream-Bandbreite>16384</Downstream-Bandbreite>
<Upstream-Bandbreite>2048</Upstream-Bandbreite>
</Bandbreite>
<Produktliste>
<Materialnummer>88200580</Materialnummer>
<Produkt>_DSL_384</Produkt>
</Produktliste>
<Produktliste>
<Materialnummer>88206046</Materialnummer>
<Produkt>_DSL_1000</Produkt>
</Produktliste>
</DSL-Kapazitaet>
<Ergebnis>
<RueckmeldungSchluessel>10200</RueckmeldungSchluessel>
<RueckmeldungText>OK.</RueckmeldungText>
</Ergebnis>
</Adresse_Response>
</Adressbezogen>
</sucheMarktprodukt>
</env:Body></env:Envelope>
Rama Timmanagowni
Greenhorn

Joined: Dec 09, 2011
Posts: 3
HI,

Could some one please suggest me on this issue.

Thannks,
Rama
H Paul
Ranch Hand

Joined: Jul 26, 2011
Posts: 471
    
    4
If this helps in terms of what to do and to sort things out:

1. If possible, use TCP/IP monitor in your IDE.
If not, GOOGLE to use external SOAP UI and TCPMon to capture the outbound SOAP request and the inbound SOAP response

This exercise is to validate the factual error that the SOAP request did not send the wsse:Security header to the Web service provider
which expect it (as part of the Message Level security).

Again, for the Message Level security, you should know it if Web service provider expects it or not.
If not, just check or ask the provider documentation.

And what is included in wsse:Security header? what type of security needed? questions like these must be asked
and answer before you can implement portion of wsse:Security header to satisfy the web service provider's security expectation.

2. How can you add wsse:Security header to the outbound SOAP request?
By Implementing the SOAP Message Handler (or Interceptor) Check AXIS2 for handler class naming aspect.

Simplified flow-wise:

Your code/Proxy client
----> SOAP Message Handler (to be implemented progammatically to add wsse:Security header to
the outbound SOAP request using rampart api. This is the challenging part. So good luck.)
----> SOAP request completed with wsse:Security header
----> Web service provider.

Check AXIS2 website for flow and/or rampart api. If you GOOGLE for the term like wsse:Security and SOAP Message handler,
you will see things more clear in case you need more direction and/or code sample using specific AXIS2.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: org.apache.axis2.AxisFault: Missing wsse:Security header in request