How can I execute the soap webservices and how can I print the data?
Currently I am using the following code
package com.appulento.pack;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
public class SimpleHTTPRequest
{
public static void main(String[] args) throws Exception {
final String url =
"http://**********:8000/sap/bc/srt/rfc/sap/zmaterials_details/" +
"800/zmaterials_details/zmaterials_details_bind",
soapAction ="urn:sap-com:document:sap:soap:functions:mc-style/ZMATERIALS_DETAILS",
envelope1="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"" +
" xmlns:urn=\"urn:sap-com:document:sap:soap:functions:mc-style\">" +
"<soapenv:Header>"+
"<soapenv:Body>"+
"<urn:ZMATERIALS_DETAILS>"+
"<Language>D</Language>"+
"<MaterialGroup>00208</MaterialGroup>"+
"</urn:ZMATERIALS_DETAILS>"+
"</soap:Body>"+
"</soap:Envelope>" ;
HttpURLConnection connection = null;
try {
final URL serverAddress = new URL("http://*********:8000/sap/bc/srt/wsdl/"+
"srvc_14DAE9C8D79F1EE196F1FC6C6518A345/wsdl11/allinone/ws_policy/" +
"document?sap-client=800&sap-user=************&sap-password=****");
connection = (HttpURLConnection)serverAddress.openConnection();
connection.setRequestProperty("SOAPAction", soapAction);
connection.setRequestMethod("POST");
connection.setDoOutput(true);
final OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.append(envelope1);
writer.close();
final BufferedReader rd =
new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = rd.readLine()) != null) System.out.println(line);
} finally { connection.disconnect(); }
}
}
I want send xml as input request and I want to display in xml too.
Iit’s possible to sent HTTP request using httpConnection and parse response, like you do.
But it is already written by other people, use
wsimporttool with-keepoption. It will generate for you Java artifacts for sending request using SOAP.