如何生成 XML SOAP 网络服务请求,例如 PHP 的 SOAPUI 请求

how to generate XML request of SOAP webservice like SOAPUI request with PHP

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

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

我怎么能那样做?

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


编辑 我忘了添加 SoapClient. Thanks Magnus Eriksson

我找到了解决办法:)

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

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

  • 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;
}