2012-04-25 1 views
-1

Как я могу выполнить веб-службы мыла и как я могу распечатать данные?Как я могу сделать запрос на мыло и ответ на Java?

В настоящее время я использую следующий код

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(); } 
    } 
} 

Я хочу отправить XML как запрос ввода, и я хочу, чтобы отобразить в XML тоже.

+0

Ваш код выглядит фантастическим. Теперь просто используйте 'POST' вместо' GET' и фактически напишите свой запрос в выходной файл. –

+0

Спасибо за ур ответить, как я могу обработать ответ –

+0

Насколько я вижу, вы уже обрабатываете его - записываете в System.out. –

ответ

0

Iit можно отправить HTTP-запрос, используя httpConnection и parse response, как и вы. Но это уже написано другими людьми, используйте wsimport tool with -keep. Он будет генерировать для вас артефакты Java для отправки запроса с использованием SOAP.

+0

есть ли какая-либо ошибка в My Code, пожалуйста, посмотрите один раз и сообщите мне, чтобы я мог перейти к другому способу делать –

Смежные вопросы