Soap的一些代码 web service
public static String inte易做图ceInvokeToString(String destination,String operateFun, Map parameter)
throws SOAPException {
String str = "";
SOAPConnection soapConnection=null;
try{
// 创建实际的(actual)消息对象,通过messagfactory来创建
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();
// 建立message part 对象
SOAPPart soapPart = message.getSOAPPart();
//建立soapEnvelope对象
SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
//建立SOAPBody对象
SOAPBody soapBody = soapEnvelope.getBody();
// 将对象加入soap soapBody.addChildElement(Name name)创建使用给定 Name 对象初始化的新 SOAPElement 对象,并将该新元素添加到此 SOAPElement 对象。
//soapEnvelope.createName(String name) 创建使用给定本地名称初始化的新 Name 对象。
SOAPElement bodyElement = soapBody.addChildElement(soapEnvelope
.createName(operateFun));
//addTextNode(String str) 创建使用给定 String 初始化的新 Text 对象,并将其添加到此 SOAPElement 对象。
//微信号
if(null!=parameter.get("fromUserName")){
bodyElement.addChildElement("fromUserName").addTextNode(parameter.get("fromUserName").toString());
}
//客户号
if(null!=parameter.get("clientid")){
bodyElement.addChildElement("clientid").addTextNode(parameter.get("clientid").toString());
}
//关键字
if(null!=parameter.get("wordCode")){
bodyElement.addChildElement("wordCode").addTextNode(parameter.get("wordCode").toString());
}
//发送xml消息到核心
if(null!=parameter.get("xml")){
bodyElement.addChildElement("xml").addTextNode(parameter.get("xml").toString());
}
message.saveChanges();
//getMimeHeaders() 以与传输无关的方式返回此 SOAPMessage 对象所有特定于传输的 MIME 头。返回MimeHeaders对象
//addHeader将带有指定名称和值的 MimeHeader 对象添加到此 MimeHeaders 对象的头列表。
message.getMimeHeaders().addHeader("SOAPAction", "");
// 建立连接,通过soapconnectionfactory来建立
SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory
.newInstance();
soapConnection = soapConnectionFactory
.createConnection();
//call(SOAPMessage request, Object to) 将给定消息发送到指定端点,在返回应答前将一直阻塞。
SOAPMessage reply = soapConnection.call(message, destination); // 接口返回
if (reply != null) {
// 返回ODoc
//getFirstChild()此节点的第一个子节点。如果没有这样的节点,则返回 null。 返回node对象
//getTextContent()此属性返回此节点及其后代的文本内容。
str = reply.getSOAPBody().getFirstChild().getTextContent();
} else {
str = null;
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(null!=soapConnection){
soapConnection.close();
soapConnection=null;
}
}
return str;
} --------------------编程问答-------------------- 有些疑问不懂 .跪求大神给我这个菜鸟解决下.
首先 这个方法的作用 及返回值 是什么
而且 这是什么技术啊 是说基于soap的web serivce的技术么?
我想搞懂这段代码要学习点什么东西
补充:Java , Web 开发