java发送soap报文 您所在的位置:网站首页 wsdl文件生成soap报文 java发送soap报文

java发送soap报文

2023-09-08 12:42| 来源: 网络整理| 查看: 265

importgroovy.xml.MarkupBuilder;importorg.junit.Test;import com.predic8.wsdl.*;importcom.predic8.wstool.creator.RequestTemplateCreator;importcom.predic8.wstool.creator.SOARequestCreator;

@Testpublic void testCreateSOAP() throwsIOException {

String wsdlUrl= "http://localhost:19092/financial-budget-ws/budgetHold?wsdl";

WSDLParser parser= newWSDLParser();

Definitions wsdl=parser.parse(wsdlUrl);

StringWriter writer= newStringWriter();

SOARequestCreator creator= new SOARequestCreator(wsdl, new RequestTemplateCreator(), newMarkupBuilder(writer));//creator.setBuilder(new MarkupBuilder(writer));//creator.setDefinitions(wsdl);//creator.setCreator(new RequestTemplateCreator());

/*// 针对new RequestCreator()可以赋值参数

creator.setCreator(new RequestCreator());

HashMap formParams = new HashMap();

formParams.put("xpath:/BudgetHold/BudgetHoldRequest/SEQ_NO", "202004260001");

formParams.put("xpath:/BudgetHold/BudgetHoldRequest/INTF_BILL_NO", "20200001");

creator.setFormParams(formParams);*/

for(Service service : wsdl.getServices()) {for(Port port : service.getPorts()) {

Binding binding=port.getBinding();

PortType portType=binding.getPortType();for(Operation op : portType.getOperations()) {

System.out.println(op.getName()+ " -- " + op.getInput().getName() + " -- " +op.getOutput().getMessage().getName());

creator.createRequest(port.getName(), op.getName(), binding.getName());

System.out.println(writer);

writer.getBuffer().setLength(0);

}

}

}com.predic8//soa-model-core//

}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有