SAAJ를 사용하여 기능적인 SOAP 클라이언트 제공
소개
SOAP, Simple Object Access 프로토콜은 웹 서비스 통신에 널리 사용됩니다. Java에서 SOAP 클라이언트를 구현하는 것은 특히 SAAJ(Java용 SOAP with Attachments API) 프레임워크의 도움으로 간단할 수 있습니다. 이 기사에서는 SAAJ로 생성된 SOAP 클라이언트의 작업 예제를 제시하고 프레임워크 활용에 대한 지침을 제공합니다.
SOAP 클라이언트용 SAAJ
SAAJ는 포괄적인 API 세트를 제공합니다. SOAP 메시지를 처리하기 위한 것입니다. 이는 개발자가 SOAP 메시지를 직접 생성, 전송 및 수신할 수 있도록 하여 웹 서비스와 상호 작용하는 데 유연성을 제공합니다. SAAJ는 표준 Java SE의 일부이므로 개발 목적으로 쉽게 사용할 수 있습니다.
작업 SOAP 클라이언트 예제
다음 코드 조각은 SAAJ를 사용하는 기능적 SOAP 클라이언트를 보여줍니다. :
import javax.xml.soap.*; public class SOAPClientSAAJ { // SAAJ - SOAP Client Testing public static void main(String args[]) { // SOAP Endpoint URL and SOAP Action String soapEndpointUrl = "http://www.webservicex.net/uszip.asmx"; String soapAction = "http://www.webserviceX.NET/GetInfoByCity"; callSoapWebService(soapEndpointUrl, soapAction); } private static void createSoapEnvelope(SOAPMessage soapMessage) throws SOAPException { // Namespace and URI String myNamespace = "myNamespace"; String myNamespaceURI = "http://www.webserviceX.NET"; // SOAP Envelope SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope envelope = soapPart.getEnvelope(); envelope.addNamespaceDeclaration(myNamespace, myNamespaceURI); // SOAP Body SOAPBody soapBody = envelope.getBody(); SOAPElement soapBodyElem = soapBody.addChildElement("GetInfoByCity", myNamespace); SOAPElement soapBodyElem1 = soapBodyElem.addChildElement("USCity", myNamespace); soapBodyElem1.addTextNode("New York"); } private static void callSoapWebService(String soapEndpointUrl, String soapAction) { try { // Create SOAP Connection SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); SOAPConnection soapConnection = soapConnectionFactory.createConnection(); // SOAP Message and SOAP Request SOAPMessage soapRequest = createSOAPRequest(soapAction); // Send SOAP Message and Receive Response SOAPMessage soapResponse = soapConnection.call(soapRequest, soapEndpointUrl); // Print Response soapResponse.writeTo(System.out); // Close Connection soapConnection.close(); } catch (Exception e) { e.printStackTrace(); } } private static SOAPMessage createSOAPRequest(String soapAction) throws Exception { // Message Factory and SOAP Message MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage soapMessage = messageFactory.createMessage(); // Create Soap Envelope createSoapEnvelope(soapMessage); // Set MIME Headers and Soap Action MimeHeaders headers = soapMessage.getMimeHeaders(); headers.addHeader("SOAPAction", soapAction); // Save Changes and Print Request soapMessage.saveChanges(); soapMessage.writeTo(System.out); return soapMessage; } }
예제 실행
이 예를 실행하려면 SOAPClientSAAJ.java라는 파일에 배치하고 Java 컴파일러를 사용하여 컴파일합니다. 컴파일된 클래스를 실행하면 코드에 지정된 웹 서비스를 호출하여 "뉴욕"이라는 도시에 대한 정보를 검색합니다. 응답은 콘솔에 인쇄됩니다.
결론
이 포괄적인 기사는 SAAJ 프레임워크를 사용하여 Java에서 SOAP 클라이언트를 구현하는 방법에 대한 지침을 제공합니다. 웹 서비스를 호출하는 SOAP 클라이언트를 보여주는 작업 예제는 자신만의 SOAP 기반 솔루션을 구축하기 위한 참조로 사용될 수 있습니다. SAAJ의 기능을 활용하여 개발자는 다양한 웹 서비스와 원활하게 상호 작용하는 강력한 SOAP 클라이언트를 만들 수 있습니다.
위 내용은 SAAJ를 사용하여 Java에서 기능적인 SOAP 클라이언트를 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!