Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP生成SOAP Web服务的XML请求,如SOAPUI请求_Php_Xml_Web Services_Wsdl_Soapui - Fatal编程技术网

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

如何使用PHP生成SOAP Web服务的XML请求,如SOAPUI请求,php,xml,web-services,wsdl,soapui,Php,Xml,Web Services,Wsdl,Soapui,我想用PHP创建一个应用程序,从用户那里获取WSDL和方法名,并生成一个SOAP请求,就像SOAPUI一样 事实上,我想创建一个类似于SOAPUI的应用程序,它创建XML请求,让用户编辑它并填充请求的参数 我该怎么做呢?您正在寻找SoapServer。更多信息 编辑 我忘了加。谢谢我找到了一个解决方案:) 据我所知,对于SOAPUI,没有PHP等价物。 所以我在下面的链接中通过@satheesh cheveri发现SOAPUI中有一个API,并创建JAVA程序来使用它,然后在我的PHP应用程序

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

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


我该怎么做呢?

您正在寻找
SoapServer
。更多信息


编辑 我忘了加。谢谢

我找到了一个解决方案:)

据我所知,对于
SOAPUI
,没有
PHP
等价物。 所以我在下面的链接中通过@satheesh cheveri发现
SOAPUI
中有一个
API
,并创建
JAVA
程序来使用它,然后在我的
PHP
应用程序中调用
JAVA
应用程序:

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

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

你的问题有点宽泛。你试过什么?你被困在哪里?你希望有人向你展示一个完整的代码库吗?@MagnusEriksson不,我想知道这项工作是否有任何类或已经存在git源代码。我想你能做到这一点的唯一方法是用与构建“SOAPUI”的人相同的方法来做。。。构建它…另一个解决方案是使用SOAPUI,因为它们已经完成了您想要的功能?@MagnusEriksson因为它的java库,我不能在我的PHP应用程序中使用它们。我想,我想他是在寻找类或已经存在的创建示例XML请求的PHP应用程序,这是大多数人都会使用的。创建自己的XML数据似乎很愚蠢。@MagnusEriksson我有一个应用程序,人们可以在其中使用他们的web服务,所以我需要给他们一个接口来创建XML请求,它应该由他们自己编辑,因为某些web服务很复杂。如果你想创建/编辑WSDL或XML,你应该使用和文件()要创建/编辑它们…我需要一个类或函数,该类或函数提供WSDL和方法名称,并为我提供一个示例请求XML,您看到SOAPUI了吗?就像SOAPUI请求一样