Is there any way to add security header to my javascript request to axis 2 secured web service
Tania Marinova <[email protected]>
| Newsgroups | gmane.text.xml.axis.user |
|---|---|
| Message-ID | <[email protected]> |
1. I have created a web service with this simple method. Here is SiService.java
publicclassSiService{publicStringecho(Stringarg){returnarg;}
}
2.To add a security to my web service I've done this:
* I have added a PWCBHandler.java class (here is the code)
publicclassPWCBHandlerimplementsCallbackHandler{publicvoidhandle(Callback[]callbacks)throwsIOException,UnsupportedCallbackException{for(inti =0;i <callbacks.length;i++){WSPasswordCallbackpwcb =(WSPasswordCallback)callbacks[i];//String id = pwcb.getIdentifier();if(pwcb.getIdentifier().equals("bob")){pwcb.setPassword("bobPW");}}}
}
* * in the servies.xml I have engaged the rampart module and added this parameter. Now it looks this way:
<service name="SiService">
<moduleref="rampart"/>
<Description>Typeyour description here </Description>
<messageReceivers><messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/></messageReceivers><parameter name="ServiceClass"locked="false">nlo.SiService</parameter>
<parameter name="InflowSecurity">
<action><items>UsernameToken</items><passwordCallbackClass>com.gi.PWCBHandler</passwordCallbackClass>
</action>
</parameter>
</service>
but now when I try this request from javascript:
if(window.XMLHttpRequest){xmlhttp =newXMLHttpRequest();}else{xmlhttp =newActiveXObject("Microsoft.XMLHTTP");}functionloadXMLDoc(){xmlhttp.onreadystatechange =function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){varxmlObj =xmlhttp.responseXML;alert (xmlhttp.responseText);}}xmlhttp.open("GET","http://localhost:9091/ztest/services/SiService/echo?arg=Helllo",true);xmlhttp.send();}
I see that the exception :missing security header
Is there any way I can add the security header in this requrst because I have done it only in web service client in java. Thank you in advance.