Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

26 tháng 11, 2013

Tạo SOAP message bằng Java

Về cơ bản một SOAP message bao gồm 3 thành phần:
  • SOAP-ENV:Envelope
  • SOAP-ENV:Header
  • SOAP-ENV:Body
Như hình vẽ dưới đây:
Để  tạo một SOAP message ta tuân thủ theo các bước sau:
  • Tạo một đối tượng của javax.xml.soap.MessageFactory.
  • Sau đó tạo đối tượng javax.xml.soap.SOAPMessage từ MessageFactory.
  • Một SOAPMessage sẽ chứa toàn bộ javax.xml.soap.SOAPEnvelope" 
  • Một SOAPEnvelope sẽ chứa header và body của SOAP message 
Và ta tạo SOAP message theo code ví dụ dưới đây:


package com.service.SOAPMain;

import java.io.FileOutputStream;

import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;

public class CreateSOAPMessage {

 /**
  * @param args
  */
 public static void main(String[] args) {
  try{
   MessageFactory factory = MessageFactory.newInstance();
   SOAPMessage soapMsg = factory.createMessage();
   SOAPPart part = soapMsg.getSOAPPart();

   SOAPEnvelope envelope = part.getEnvelope();
   SOAPHeader header = envelope.getHeader();
   SOAPBody body = envelope.getBody();

   header.addTextNode("Training Details");

   SOAPBodyElement element = body.addBodyElement(envelope.createName("JAVA", "training", "http://shivasoft.in/blog"));
   element.addChildElement("WS").addTextNode("Training on Web service");

   SOAPBodyElement element1 = body.addBodyElement(envelope.createName("JAVA", "training", "http://shivasoft.in/blog"));
   element1.addChildElement("Spring").addTextNode("Training on Spring 3.0");

   soapMsg.writeTo(System.out);

   FileOutputStream fOut = new FileOutputStream("SoapMessage.xml");
   soapMsg.writeTo(fOut);

   System.out.println();
   System.out.println("SOAP msg created");

  }catch(Exception e){
   e.printStackTrace();
  }

 }

}

Không có nhận xét nào:

Đăng nhận xét