package samples.encoding; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.utils.Options; import org.apache.axis.utils.XMLUtils; import org.w3c.dom.Element; import javax.xml.namespace.QName; import java.io.ByteArrayInputStream; import java.net.URL; public class TestElem { static String xml = "<x:hello xmlns:x=\"urn:foo\">a string</x:hello>" ; public static String doit(String[] args,String xml) throws Exception { ByteArrayInputStream bais = new ByteArrayInputStream(xml.getBytes()); String sURL = "http://" + args[0] + ":" + args[1] + "/axis/services/ElementService" ; QName sqn = new QName(sURL, "ElementService" ); QName pqn = new QName(sURL, "ElementService" ); //Service service=new Service(new URL("file:ElementService.wsdl"),sqn); Service service = new Service(new URL(sURL+"?wsdl"),sqn); Call call = (Call) service.createCall( pqn, "echoElement" ); Options opts = new Options(args); opts.setDefaultURL( call.getTargetEndpointAddress() ); call.setTargetEndpointAddress( new URL(opts.getURL()) ); Element elem = XMLUtils.newDocument(bais).getDocumentElement(); elem = (Element) call.invoke( new Object[] { "a string", elem } ); return( XMLUtils.ElementToString( elem ) ); } public static void main(String[] args) throws Exception { System.out.println("Sent: " + xml ); String res = doit(args, xml); System.out.println("Returned: " + res ); } }