Web service client

This article is talking about the web service client.

 

Firstly the SOAP message model:



 then, the message sample,

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <tns:scheduleRequest xmlns:tns="http://webservice.oo.oo.oo.com">
   <identifier>DSWINV1</identifier>
   <action>SET</action>
   <startDate>TODAY</startDate>
   <startTime>NOW</startTime>
   <interval>600</interval>
   <count>10</count>
   <ignoreMissed>TRUE</ignoreMissed>
   <allowOverwrite>TRUE</allowOverwrite>
  </tns:scheduleRequest>
 </soapenv:Body>
</soapenv:Envelope>

 next, the sample code of sending a message,

public void sendMessage(Message message) throws MalformedURLException,
			SOAPException {
		URL endPoint = new URL(url + serviceName);
		SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
		SOAPConnection connection = soapConnFactory.createConnection();
		MessageFactory messageFactory = MessageFactory.newInstance();
		// create soap message
		SOAPMessage message = messageFactory.createMessage();
		MimeHeaders mh = message.getMimeHeaders();
		mh.addHeader("SOAPAction", "schedule");
		
		SOAPPart soapPart = message.getSOAPPart();
		SOAPEnvelope envelope = soapPart.getEnvelope();
		SOAPBody body = envelope.getBody();
		SOAPElement requestElement = body.addChildElement("scheduleRequest", NS_PREFIX,
				TARGET_NAMESPACE);
		SOAPElement identifierElement = requestElement.addChildElement("identifier", null);
		identifierElement.addTextNode(schedule.getIdentifier());
		SOAPElement actionElement = requestElement.addChildElement("action", null);
		actionElement.addTextNode(schedule.getAction());	
		SOAPElement startDateElement = requestElement.addChildElement("startDate", null);
		startDateElement.addTextNode(schedule.getStartDate());
		SOAPElement startTimeElement = requestElement.addChildElement("startTime", null);
		startTimeElement.addTextNode(schedule.getStartTime());
		SOAPElement intervalElement = requestElement.addChildElement("interval", null);
		intervalElement.addTextNode(String.valueOf(schedule.getInterval()));
		SOAPElement countElement = requestElement.addChildElement("count", null);
		countElement.addTextNode(String.valueOf(schedule.getCount()));
		SOAPElement ignoreMissedElement = requestElement.addChildElement("ignoreMissed", null);
		ignoreMissedElement.addTextNode(schedule.getIgnoreMissed());
		SOAPElement allowOverwriteElement = requestElement.addChildElement("allowOverwrite", null);
		allowOverwriteElement.addTextNode(schedule.getAllowOverwrite());
		message.saveChanges();
		try {
			message.writeTo(System.out);
		} catch (IOException e) {
			e.printStackTrace();
		}
		SOAPMessage reply = connection.call(message, endPoint);
		try {
			if(reply!=null) reply.writeTo(System.out);
		} catch (IOException e) {
			e.printStackTrace();
		}
		connection.close();
	}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值