{
URL wsdlURL = new URL("http://" + getServerHost() + ":8080/jaxws-jbws1611?wsdl");
QName serviceName = new QName(targetNS, "PingEndpointService");
QName portName = new QName(targetNS, "PingEndpointPort");
Service service = Service.create(wsdlURL, serviceName);
Dispatch dispatch = service.createDispatch(portName, Source.class, Mode.PAYLOAD);
dispatch.getRequestContext().put(BindingProvider.SOAPACTION_USE_PROPERTY, true);
dispatch.getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, "uri:placeBuyOrder");
String payload = "<ns1:ping xmlns:ns1='" + targetNS + "'/>";
Source retObj = (Source)dispatch.invoke(new StreamSource(new StringReader(payload)));
Element docElement = DOMUtils.sourceToElement(retObj);
Element retElement = DOMUtils.getFirstChildElement(docElement);
String retPayload = DOMWriter.printNode(retElement, false);
assertEquals("<return>"uri:placeBuyOrder"</return>", retPayload);