reqEnv.declareNamespace("http://soapinterop.org", "m1");
reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/soap12/", "soap12");
SOAPHeader header = omfactory.createSOAPHeader(reqEnv);
OMNamespace hns = reqEnv.declareNamespace("http://soapinterop.org/echoheader/", "hns"); //xmlns:m0="http://soapinterop.org/echoheader/
SOAPHeaderBlock block1 = header.addHeaderBlock("echoMeStringRequest", hns);
block1.addAttribute("xsi:type", "xsd:string", null);
block1.addChild(omfactory.createText("string"));
// header.addChild(headerChild);
header.addChild(block1);
SOAPHeaderBlock block2 = header.addHeaderBlock("echoMeStructRequest", hns);
block2.addAttribute("xsi:type", "s:SOAPStruct", null);
OMElement h2Val1 = omfactory.createOMElement("varString", null);
h2Val1.addAttribute("xsi:type", "xsd:string", null);
h2Val1.addChild(omfactory.createText("string"));
OMElement h2Val2 = omfactory.createOMElement("varInt", null);
h2Val2.addAttribute("xsi:type", "xsd:int", null);
h2Val2.addChild(omfactory.createText("150"));
OMElement h2Val3 = omfactory.createOMElement("varFloat", null);
h2Val3.addAttribute("xsi:type", "xsd:float", null);
h2Val3.addChild(omfactory.createText("456.321"));
block2.addChild(h2Val1);
block2.addChild(h2Val2);
block2.addChild(h2Val3);
OMElement operation = omfactory.createOMElement("echoIntegerArray", "http://soapinterop.org/", null);
SOAPBody body = omfactory.createSOAPBody(reqEnv);
body.addChild(operation);
operation.addAttribute("soapenv:encodingStyle", "http://www.w3.org/2003/05/soap-encoding", null);