代码案例:package com.what21;
import groovy.xml.MarkupBuilder;
import java.io.InputStream;
import java.io.StringWriter;
import com.predic8.wsdl.Definitions;
import com.predic8.wsdl.WSDLParser;
import com.predic8.wstool.creator.RequestTemplateCreator;
import com.predic8.wstool.creator.SOARequestCreator;
public class CreateSOAPRequestTemplate {
/**
* @param args
*/
public static void main(String[] args) {
String file = "/demo.wsdl";
InputStream input = CreateSOAPRequestTemplate.class.getResourceAsStream(file);
WSDLParser parser = new WSDLParser();
Definitions wsdl = parser.parse(input);
StringWriter writer = new StringWriter();
//SOAPRequestCreator constructor: SOARequestCreator(Definitions, Creator, MarkupBuilder)
SOARequestCreator creator = new SOARequestCreator(wsdl, new RequestTemplateCreator(), new MarkupBuilder(writer));
//creator.createRequest(PortType name, Operation name, Binding name);
creator.createRequest("ArticleServicePT", "create", "ArticleServicePTBinding");
System.out.println(writer);
}
}
生成的SOAP消息模板:<?xml version="1.0" encoding="UTF-8"?>
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:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
???