如何在没有WSDL文件的情况下使用Soap UI?

39

你好,我已安装了Soap UI。就像在C语言和Java中创建一些示例程序一样,我希望使用一些示例请求和响应。我想知道如何在没有wsdl的情况下创建请求和响应?


SOAP UI将为您创建请求 - 如果您有WSDL。如果没有,那么您就需要自己处理了。在这种情况下,SOAP UI怎么能帮到您呢? - duffymo
有任何样例的WSDL文件吗? - ChanGan
7
SOAP UI如何帮助?通过探测或允许用户手动探测功能,并构建WSDL。对我来说,这是个进退两难的问题 - 如果我已经有一个完美定义的WSDL,那么使用SoapUI还有什么意义呢? - Hein du Plessis
你可以通过这个链接开始使用 http://www.soapui.org/getting-started/your-first-soapui-project.html,你也可以找到一些样本wsdl文件。 - Rao
3个回答

69
  • 使用"文件 > 新建SOAP项目"创建新的SOAP项目
  • 按要求设置名称
  • 将初始WSDL字段留空
  • 在左侧的项目导航器窗口中,将鼠标悬停在项目文件夹上,并使用上下文菜单选择"从URI新建Rest服务"
  • 输入您想要发送SOAP消息的端点,例如http://www.webservicex.net/WS/WSDetails.aspx?CATID=2&WSID=10
  • 选择POST作为HTTP方法
  • 将xml SOAP有效载荷添加到左下角的窗口中
  • 从组合框中选择媒体类型:text/xml
  • 点击绿色箭头将消息POST到指定的端点
  • 完成!您应该可以在右侧的窗口中看到SOAP响应 :)

所以基本上...改为使用REST POST请求? - Malcolm Salvador

2
我想发送一个SOAP请求给一个简单的ASP.NET MVC控制器,我使用SoapUI成功实现的方法如下:
1)使用任何WSDL创建一个SOAP请求(无论使用哪个WSDL,之后你都会更改它)。
2)打开请求,更改URL并更改请求的主体。
这样,您就可以完全控制地发布SOAP请求。如果有用的话,在控制器内部,我正在使用以下C#代码记录我们接收到的所有请求:
                string requestData;
                // Get raw request body
                using (Stream receiveStream = Request.InputStream)
                {
                    // Move to begining of input stream and read
                    receiveStream.Position = 0;
                    using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
                    {
                        requestData = readStream.ReadToEnd();
                    }
                }

0

虽然您几年前提出了这个问题,希望您已经找到了答案。

以下是我的回答,希望不会太晚。

SoapUI用于测试API、Web服务。要开始测试,需要访问WSDL。也就是说,可以创建一个没有WSDL的项目。我能想到的唯一不需要WSDL的情况是,当我测试的内容不是Web服务,可以使用JDBC步骤、Groovy步骤或类似的步骤进行测试,除了测试请求步骤。

在您的评论中,您问是否有可用的WSDL,是的,有一些公开可访问的WSDL站点,您可以查看下面的站点获取WSDL。

http://www.xmethods.net/ve2/index.po
http://www.webservicelist.com/
http://www.webservicex.net/WS/wscatlist.aspx

希望你在使用soapUI时比回答这个问题时更加顺利。


此外,SoapUI本身附带有示例教程,其中包含一个WSDL。 - SiKing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接