where can i Put Soap Action?

17,830

When using SOAP over HTTP, in general the SOAP Action is inserted in the SOAPAction HTTP header in the request. See the standard here: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528

The SOAPAction HTTP request header field can be used to indicate the intent of the SOAP HTTP request. The value is a URI identifying the intent. SOAP places no restrictions on the format or specificity of the URI or that it is resolvable. An HTTP client MUST use this header field when issuing a SOAP HTTP Request.

So what you want is (assuming soapAction is set to the correct value):

connection.setRequestProperty("SOAPAction", soapAction);
Share:
17,830
Venkatasubbaiah Atluru
Author by

Venkatasubbaiah Atluru

Updated on June 04, 2022

Comments

  • Venkatasubbaiah Atluru
    Venkatasubbaiah Atluru almost 2 years
    public class SimpleHTTPRequest {
        String envelope1="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
        "<soap:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:tns=\"urn:insertdata\"" +
        " targetNamespace=\"urn:insertdata\">"+
        "<soap:Body>"+
        "<insertdata>"+
        "<name xsi:type=\"xsd:string\">ghjghj</name>"+
        "<phone xsi:type=\"xsd:string\">1111</phone>"+
        "<email xsi:type=\"xsd:string\">ascom</email>"+
        "<score xsi:type=\"xsd:string\">12</score>"+
        "</insertdata>"+
        "</soap:Body>"+
        "</soap:Envelope>";
        /**
         * @param args
         */
        public static void main(String[] args) {
             String url="http://url/iphone_soap_server.php/insertdata";
              String soapAction="http://urkl/iphone_soap_server.php/insertdata/insertdata";
        HttpURLConnection connection = null;
        OutputStreamWriter wr = null;
        BufferedReader rd  = null;
        StringBuilder sb = null;
        String line = null;
        URL serverAddress = null;
        String data = "width=50&height=100";
        try {
            serverAddress = new URL("http://url/soap-server.php?wsdl");
    
            connection = null;
    
            //Set up the initial connection
            connection = (HttpURLConnection)serverAddress.openConnection();
    
            connection.setRequestMethod("POST");
            connection.setDoOutput(true);
    
            connection.setDoOutput(true);
            OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
    
    
            writer.write(data);
            writer.flush();
    
    
    
    
            rd  = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            sb = new StringBuilder();
    
            while ((line = rd.readLine()) != null)
            {
                sb.append(line + '\n');
            }
    
            System.out.println(sb.toString());
    
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (ProtocolException e1) {
            e1.printStackTrace();
        } catch (IOException e2) {
            e2.printStackTrace();
        }
        finally
        {
            //close the connection, set all objects to null
            connection.disconnect();
            rd = null;
            sb = null;
            wr = null;
            connection = null;
        }
    }
    }
    

    I want consume the soap web services From Java where can i put the Soap Action IN this code... Thanks in Advance.....

  • Venkatasubbaiah Atluru
    Venkatasubbaiah Atluru about 12 years
    how can i pass soap request through xml in Java please let me know
  • Venkatasubbaiah Atluru
    Venkatasubbaiah Atluru about 12 years
    can i put soapaction like this ?
  • Venkatasubbaiah Atluru
    Venkatasubbaiah Atluru about 12 years
    String SOAPAction ="urn:sap-com:document:sap:soap:functions:mc-style/ZMATERIAL‌​S_DETAILS";
  • Venkatasubbaiah Atluru
    Venkatasubbaiah Atluru about 12 years
    i am adding namspace and method name from wsdl ?