Hello Tenchnocrats, I am getting the following error while invoking the "getSession" method of sessionmanager webservice deployed in weblogic OCSG. I have created a soap message properly but its giving error as "javax.xml.soap.SOAPException: No Security header in message but required by policy." The SOAP message created is by below code is: "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><ns1:SecurityToken xmlns:ns1="http://www.bea.com/wsdl/wlcp/wlng/session_manager/service"><username>sdpai</username><password>sdp</password></ns1:SecurityToken></soapenv:Header><soapenv:Body><ns2:getSession xmlns:ns2="http://www.bea.com/wsdl/wlcp/wlng/session_manager/service"><aName>TextMode</aName></ns2:getSession></soapenv:Body></soapenv:Envelope>"
and the error I am getting is: javax.xml.soap.SOAPException: No Security header in message but required by policy. at org.apache.axis2.saaj.SOAPConnectionImpl.handleSOAPMessage(SOAPConnectionImpl.java:194) at org.apache.axis2.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:130) at test.SOARequest.main(SOARequest.java:101) Caused by: org.apache.axis2.AxisFault: No Security header in message but required by policy. at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) at org.apache.axis2.saaj.SOAPConnectionImpl.handleSOAPMessage(SOAPConnectionImpl.java:188) ... 2 more My Code is: SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance(); SOAPConnection connection = sfc.createConnection(); MessageFactory mf = MessageFactory.newInstance(); SOAPMessage sm = mf.createMessage(); SOAPPart soapPart = sm.getSOAPPart(); SOAPEnvelope soapEnvelope = soapPart.getEnvelope(); SOAPHeader soapHeader = soapEnvelope.getHeader(); SOAPHeaderElement headerElement = soapHeader .addHeaderElement(soapEnvelope .createName("SecurityToken", "ns1", http://www.bea.com/wsdl/wlcp/wlng/session_manager/service)); QName qn1 = new QName("username"); SOAPElement quotation1 = headerElement.addChildElement(qn1); quotation1.addTextNode("XXX"); QName qn2 = new QName("password"); SOAPElement quotation2 = headerElement.addChildElement(qn2); quotation2.addTextNode("XXX"); SOAPBody sb = sm.getSOAPBody(); // sh.detachNode(); QName bodyName = new QName( http://www.bea.com/wsdl/wlcp/wlng/session_manager/service, "getSession", "ns2"); SOAPBodyElement bodyElement = sb.addBodyElement(bodyName); QName qn = new QName("aName"); SOAPElement quotation = bodyElement.addChildElement(qn); quotation.addTextNode("TextMode"); sm .setContentDescription("This is the request message for getting session ID"); System.out.println("\n Soap Request:\n"); sm.writeTo(System.out); System.out.println(); System.out.println("My SOAP Message description is: " + sm.getContentDescription()); URL endpoint = new URL( http://localhost:8001/session_manager/SessionManager); SOAPMessage response = connection.call(sm, endpoint); System.out.println(response); System.out.println(response.getContentDescription()); Though my soap message have the header information, error says it doesnt have. please help me with this. This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited.