본문 바로가기
JAVA

JAVA/URL/URLConnection/XML/ASMX/.NET

by IT History 2022. 7. 13.
728x90
반응형

 

SOAP통신 후 결과값 받아보기

 

 

private final FastStringBuffer oBuffer = new FastStringBuffer();

private String urlConnectionTest() throws Exception {
        String sEndPoint = "접속할 URL";
        
        //Http 연결
        URL url = new URL(sEndPoint);
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.addRequestProperty("Content-Type", "text/xml; charset=utf-8");
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
		
        // soap Xml데이터 전송문 작성
        oBuffer.append("<?xml version="1.0"  encoding="utf-8"?>");
        oBuffer.append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
        oBuffer.append("<soap:Body>");
        
        /*................생략..................*/
        
        oBuffer.append("</soap:Body>");
        oBuffer.append("</soap:Envelope>");
        
        //OutputStream에 쓰기
        String xmlString = new String(oBuffer.toString());
        wr.write(xmlString);
		
        //flush : Stream에 남아 있는 데이터를 강제로 내보내는 역할
        wr.flush();
		
        // 리턴된 결과 읽기
        String inputLine;
        String returnStr = "";
        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
        
        while ((inputLine = in.readLine()) != null)
        {
        	returnStr += inputLine;
        }

        //XML 파싱
        StringReader reader = new StringReader(returnStr);
        InputSource is = new InputSource(reader);
        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document doc = builder.parse(is);

        if (doc == null)
        {
        	throw new Exception("ERROR :: document is null");
        }
        return returnStr;
}
728x90
반응형

'JAVA' 카테고리의 다른 글

sap jco 제우스 설정  (0) 2022.09.06
SAP JCO 원환 천단위 금액 짤릴때  (0) 2022.09.02
JAVA 무한루프  (0) 2022.06.22
이클립스 Branches/Tag 활용하기  (0) 2022.05.10
첨부파일 다운로드 시 공백이 '+' 되는 현상  (0) 2021.12.13

댓글