【问题标题】:Extract data from soap service using java code使用java代码从soap服务中提取数据
【发布时间】:2017-06-08 12:45:06
【问题描述】:

我正在尝试使用 soapui java 代码从 wsdl url 中提取响应数据。一切正常,但问题是响应。

作为回应,我得到的是 ? 而不是正确的数据。

Eclipse 控制台结果

但是当我想使用soapui点击wsdl url时它工作正常。

检查我的代码

package src.com;

import com.eviware.soapui.impl.wsdl.WsdlInterface;
import com.eviware.soapui.impl.wsdl.WsdlOperation;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.impl.wsdl.support.wsdl.WsdlImporter;
import com.eviware.soapui.model.iface.Operation;

public class Test {

    public static void main(String[] args) throws Exception {
        WsdlProject project = new WsdlProject();
        WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, "http://localhost:8080/SoapService/services/TestService?wsdl");
        WsdlInterface wsdl = wsdls[0];
        for (Operation operation : wsdl.getOperationList()) {
            WsdlOperation wsdlOperation = (WsdlOperation) operation;
            System.out.println("Request:\n"+wsdlOperation.createRequest(true));
            System.out.println("\nResponse:\n"+wsdlOperation.createResponse(true));

        }
    }
}

检查罐子

【问题讨论】:

  • 尝试使用wsimport生成的代码。
  • @11thdimension你能解释一下吗

标签: java web-services soap wsdl soapui


【解决方案1】:

在 SoapUI 应用程序中,您实际上是在调用 Web 服务并获得响应。在您的示例 java 代码中,您只是从 WSDL 文件生成响应 XML,而不是实际调用 Web 服务,并且它默认任何必需的值都有一个?。如果您在 SoapUI 应用程序中生成相同的响应,您会看到相同的结果吗?为 findAllReturned 元素设置。

您可以使用 java SoapUI 的 WSDLSubmit 类调用 Web 服务并获得响应。

此链接问题的答案显示了如何使用 SoapUI java api 对 Web 服务进行实际调用的代码示例: https://stackoverflow.com/a/14814524/8127149

此链接还有其他使用 WSDLSubmit 类的示例: http://www.programcreek.com/java-api-examples/index.php?api=com.eviware.soapui.impl.wsdl.WsdlSubmit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多