QName serviceName = new QName(targetNS, "DocBareService");
QName portName = new QName(targetNS, "DocBarePort");
URL wsdlURL = new URL("http://" + getServerHost() + ":8080/jaxws-samples-soapbinding/DocBareService?wsdl");
Service service = Service.create(wsdlURL, serviceName);
Dispatch dispatch = service.createDispatch(portName, SOAPMessage.class, Mode.MESSAGE);
String requestNamespace = "http://namespace/request";
String resultNamespace = "http://namespace/result";
String reqEnv =
"<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
" <env:Header/>" +
" <env:Body>" +
" <ns1:SubmitNamespacedPO xmlns:ns1='" + requestNamespace+ "'>" +
" <ns2:product xmlns:ns2='" + targetNS + "'>Ferrari</ns2:product>" +
" </ns1:SubmitNamespacedPO>" +
" </env:Body>" +
"</env:Envelope>";
SOAPMessage reqMsg = MessageFactory.newInstance().createMessage(null, new ByteArrayInputStream(reqEnv.getBytes()));
SOAPMessage resMsg = (SOAPMessage)dispatch.invoke(reqMsg);
QName qname = new QName(resultNamespace, "SubmitBareResponse");
SOAPElement soapElement = (SOAPElement)resMsg.getSOAPBody().getChildElements(qname).next();
soapElement = (SOAPElement)soapElement.getChildElements(new QName(targetNS, "product")).next();
assertEquals("Ferrari", soapElement.getValue());