Document style example

This section contains document style client examples.

package client;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.enum.Style;
import org.apache.axis.enum.Use;
import org.apache.axis.message.SOAPBodyElement;
import org.apache.axis.message.SOAPEnvelope;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.apache.axis.utils.XMLUtils;
import java.util.Vector;

public class DIIDocClient
{

    public static void main(String[] args)
    {
        try
        {
            /*
	* NOTE: The web service uses document style
	* eg:
	*<service name="MyDocSample" provider="java:RPC" style="document" use="literal">
	*/
            String url = "http://localhost:8080/ws/services/MyDocSample";
            Service service = new Service();
            Call call = (Call) service.createCall(); 
            call.setTargetEndpointAddress(url);
            String param= "hello";

	/*
	 *construct the XML document  
 	*/
            SOAPBodyElement[] input = new SOAPBodyElement[1];

            input[0] = new SOAPBodyElement(XMLUtils.StringToElement("http://www.w3.org/2001/XMLSchema", 
                "echo", param));
            Vector          elems = (Vector) call.invoke( input );

            SOAPBodyElement elem  = (SOAPBodyElement) elems.get(0);
            Element e = elem.getAsDOM();
            System.out.println("returned value: " + XMLUtils.ElementToString(e));        }
        catch (Throwable t)
        {
            t.printStackTrace();
        }
    }
}

In the above example, the XML in the request sent to the server is:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope 
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<soapenv:Body>
<xsd:echo>hello</xsd:echo>
</soapenv:Body>
</soapenv:Envelope>
 

If the example is RPC-style, the XML in the request sent to the server is:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<soapenv:Body>
  		<echo xmlns="">
   			<arg0 xsi:type="xsd:string">hello</arg0>
  		</echo>
 	</soapenv:Body>
</soapenv:Envelope>