php - 如何使用 PHP 生成 SOAP Web 服务的 XML 请求,例如 SOAPUI 请求

标签 php xml web-services wsdl soapui

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

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

我怎样才能做到这一点?

最佳答案

我找到了解决方案:)

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

关于php - 如何使用 PHP 生成 SOAP Web 服务的 XML 请求,例如 SOAPUI 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37896273/

相关文章:

web-services - 使用 jax-ws-catalog.xml 解析导入的 xsd :s in wsdl

rest - Goroutine 已经根据请求在 Go Web 服务器中启动,但客户端断开连接,Web 服务器是否可以关闭该特定的 goroutine?

php - 具有多个角色的 Laravel 中间件

php - PDO 准备语句限制不起作用

用于低 RAM 消耗的大文件的 C++ XML 解析库

xml - XPath 如何处理 XML 命名空间?

c# - XML 列表序列化

java - 安心服务

php - PDO 获取数组的数组。外部有数字索引。内部有关联索引

php - Android 服务连接到服务器