【问题标题】:how to generate XML request of SOAP webservice like SOAPUI request with PHP如何使用 PHP 生成 SOAP 网络服务的 XML 请求,例如 SOAPUI 请求
【发布时间】:2016-06-18 11:08:34
【问题描述】:

我想创建一个带有PHP 的应用程序,它从用户那里获取WSDL 和方法名称,并生成一个SOAP 请求,就像SOAPUI 一样。

事实上,我想创建像SOAPUI 那样创建XML 请求的应用程序,并让用户对其进行编辑并填写请求的参数。

我该怎么做?

【问题讨论】:

  • 你的问题有点笼统。你试过什么?你被困在哪里了?您是否希望有人向您展示完整的代码库?
  • @MagnusEriksson 不,我想知道这项工作是否有任何课程或已经存在 git 源
  • 我认为完成这项工作的唯一方法是像构建“SOAPUI”的人那样做......构建它......
  • 另一种解决方案是使用 SOAPUI,因为他们已经完全按照您的要求完成了?
  • @MagnusEriksson 因为它的 java 库,我不能在我的 PHP 应用程序中使用它们

标签: php xml web-services wsdl soapui


【解决方案1】:

我找到了解决办法:)

据我所知,SOAPUI 没有等效的 PHP。 所以我发现SOAPUI 中有一个API 在@satheesh-cheveri 的帮助下在以下链接中,并创建JAVA 程序来使用它,然后在我的JAVA 应用程序中调用JAVA 应用程序:

https://stackoverflow.com/a/20487079/1665693

我花了很长时间才找到需要导入的库,所以我在这里列出来给需要的人:

  • apache-httpcomponents-httpclient.jar
  • apache-httpcomponents-httpcore.jar
  • apache-xml-xerces.jar
  • bcprov-jdk15-144.jar
  • commons-beanutils-1.7.0.jar
  • commons-cli-1.3.1.jar
  • commons-logging-1.1.jar
  • junit-4.4.jar
  • log4j-1.2.8.jar
  • rsyntaxtextarea-1.4.1.jar
  • soapui-4.5.0.jar
  • soapui-xmlbeans-4.5.0.jar
  • wsdl4j-1.6.2-fixed.jar
  • xbean-fixed-2.4.0.jar

这是我要求的功能:

public String generateSampleRequest(String wsdl, String method) {
    String result = "";
    try {
        WsdlProject project = new WsdlProject();
        WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, wsdl);
        WsdlInterface ws = wsdls[0];
        WsdlOperation wsdlOperation = ws.getOperationByName(method);
        result = wsdlOperation.createRequest(true);
        ws.release();
        project.release();
    } catch (Exception e) {
        result = e.getMessage();
    }
    return result;
}

【讨论】:

    【解决方案2】:

    您正在寻找SoapServer。更多信息here


    编辑 我忘了加SoapClient。谢谢Magnus Eriksson

    【讨论】:

    • 我正在寻找创建示例 XML 请求的类或已经存在的 php 应用程序
    • 我认为他宁愿寻找SoapClient - 这是大多数人会使用的。创建自己的 XML 数据似乎很愚蠢。
    • @MagnusEriksson 我有一个应用程序,人们可以在其中使用他们的网络服务,所以我需要给他们一个接口来创建 XML 请求,由于某些网络的复杂性,它应该自己编辑服务
    • 如果您要创建/编辑 WSDL 或 XML,您应该使用 SimpleXML 和文件 (fopen) 来创建/编辑它们...
    • 我想要一个提供 WSDL 和方法名称的类或函数,并为我带来一个示例请求 XML,你看到 SOAPUI 了吗?就像 SOAPUI 请求一样
    猜你喜欢
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2017-01-17
    相关资源
    最近更新 更多