java发送soap报文 | 您所在的位置:网站首页 › wsdl文件生成soap报文 › java发送soap报文 |
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 实验室设备网 版权所有 |