如何从java中的wsdl文件生成soap请求xml

新手上路,请多包涵

我正在寻找一些 java 开源 api,用于通过将 wsdl_URL 和操作名称作为参数传递来生成 soap 请求 xml 文件。实际上 soapUI 正在这样做,我试图通过 soapUI 源代码,但我无法理解整个代码来完成我的任务。

是否有任何 java api 可用于执行此操作(apache 或其他)?

我在网上花了几天时间,但没有看到任何结果。

如果任何人有任何想法,请帮助我。

提前致谢。

原文由 srini 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
1 个回答

您可以使用开源 Membrane SOA 库 ([ http://www.membrane-soa.org/soa-model-doc/1.4/java-api/create-soap-request-template.htm ]) 生成 XML对于 WSDL 中定义的每个操作:

 public void createTemplates(String url){

    WSDLParser parser = new WSDLParser();
    Definitions wsdl = parser.parse(url);
    StringWriter writer = new StringWriter();
    SOARequestCreator creator = new SOARequestCreator();
    creator.setBuilder(new MarkupBuilder(writer));
    creator.setDefinitions(wsdl);

    for (Service service : wsdl.getServices()) {
        for (Port port : service.getPorts()) {
            Binding binding = port.getBinding();
            PortType portType = binding.getPortType();
            for (Operation op : portType.getOperations()) {
                creator.setCreator(new RequestTemplateCreator());
                creator.createRequest(port.getName(), op.getName(), binding.getName());
                System.out.println(writer);
                writer.getBuffer().setLength(0);
        }
    }
}

原文由 George Vakras 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏