如何生成 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;
}
我想用 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;
}