soapui 相关问题

SoapUI是一个桌面应用程序,用于检查,调用,监视,模拟/模拟和测试SOAP / WSDL和REST / WADL Web服务。

如何使用 JsonPath 在 Soap UI 中的属性传输步骤中设置请求标头

我尝试使用属性传输步骤设置请求标头,但无论如何无法使用 JsonPath 访问标头。 在突出显示的部分中要写什么才能使用 jsonPa 访问请求标头...

回答 2 投票 0

错误 403--Forbidden - 当我使用 SOAP UI 时出现 Web 服务错误

我在 Oracle Service Bus 12c 中创建了一个基于 WSDL 的服务。 我使用 HTTP 协议,并配置了业务服务、代理服务和代理服务管道... 当我使用Oracle的测试工具时

回答 2 投票 0

如何忽略 SoapUI JSONPath 表达式中的动态值,而仅针对其余完整负载进行验证?

我想验证除 Dynamics 时间戳之外的所有键值对的 JSON 响应。我必须编写多个 JSONPath 表达式断言,还是可以在一个断言中实现这一目标?

回答 1 投票 0

WSDL JAVA w3.org 文件过早结束

[错误] 文件过早结束。 第 1 行 http://www.w3.org/2005/05/xmlmime [错误] org.xml.sax.SAXParseException;系统ID:http://www.w3.org/2005/05/xmlmime;行号:1;列数:1;提前...

回答 1 投票 0

如何通过groovy脚本从SoapUI负载测试中导出统计数据?

我有一个带有负载测试的工作项目。 def loadTest = testRunner.testCase.testSuite.project.getTestSuiteByName("加载").getTestCaseByName(testCaseSelect).getLoadTestByName(loadTestSelect)

回答 1 投票 0

Python - 带标头和时间戳的 Zeep SOAP 请求

我正在尝试使用 Zeep 从 wsdl url 获取响应 需要用户名、密码、随机数 (PasswordDigest)、时间戳和标头。 这一切在 SoapUI 中工作正常,但我无法让它在 Z 中工作......

回答 1 投票 0

无法在 WSO2 ESB 上部署 WSF/PHP WebService

几天前,我开始开发自己的 Web 服务。我决定使用 WSO2 WSF/PHP 框架,并根据 http://wso2.org/project/wsf/php/2.0.0/docs/manual.html 创建了我的第一个 helloService。 ...

回答 2 投票 0

在 WSO2 ESB 中将 Rest API 作为 SOAP 公开

我有一个 Rest Api (Python/flask),它以 json 格式发送响应。 我需要使用 Soap 发布包含 3 个参数(主体)的请求,但我不了解 Soap,也不了解示例。 我可以...

回答 3 投票 0


如何在 SOAP UI 编辑器中取消注释代码字符串?

我正在尝试使用快捷方式取消注释 SoapUI 文本中的文本,但不起作用。 我可以评论文本只需按快捷键:Ctrl + / 喜欢: 到 ...

回答 1 投票 0

在 Groovy 脚本中从字符串中删除特殊字符

我正在寻找使用groovy从字符串中删除特殊字符,我已经快到了,但它正在删除我想保留的已经存在的空格。我只想删除

回答 2 投票 0

在 SoapUI 中通过 REST 服务上传 LZMA 文件时出现文件损坏问题

我正在 SoapUI 中开发 REST 服务,我需要上传 .lzma 文件,将其解压,然后处理其中的 XML 文件以根据其内容返回不同的响应。不过,我

回答 1 投票 0

javax.xml.ws.WebServiceException:无法发送消息| java.net.ConnectException:ConnectException调用xxx:连接超时:connect

供应商公开了一个 Web 服务,我从 WSDL 创建了一个 Java 客户端,并配置了 cacerts 和密钥库中的所有证书以确保安全,一切在我的计算机上运行良好,客户要求

回答 1 投票 0

SoapUI 5.7.0 mockRequest.requestContent 对于 POST 请求为空

我正在使用 SOAP UI 5.7.0 来模拟 REST 服务,它工作正常。只是,当我想使用mockRequest.requestContent访问POST请求的正文时,只会返回正确的内容......

回答 3 投票 0

SOAP/XML 请求在 SOAP UI 中工作正常,但在 Postman 或 CURL 上出现错误

我有一个以下 XML 请求,它在 SOAP-UI 中工作正常,但当我在 POSTMAN 上运行时相同的请求(即使标头相同)给出以下错误 SOAP 请求无效。 同样,我尝试了...

回答 1 投票 0

我不知道如何在这个 SOAP API 的主体中传递参数

我仍然是相对较新的 SOAP API,我的任务是尝试找出如何将 WSAPI 用于 Vertafore 的 AMS360 应用程序。以下是他们文档的一些链接: API概述

回答 1 投票 0

SoapUI SOAP 项目使用客户端证书请求

使用 Python 中的 Zeep,我能够成功向我尝试连接的特定 Web 服务发出 SOAP 请求。但是,我无法在 SoapUI 中执行此操作。问题是 Web 服务

回答 1 投票 0

有谁知道如何在 SOAP WSSE 标头的 BinarySecurityToken 中生成 X509PKIPathv1 的 ValueType 吗?

在 SoapUI 中,我正在发送一个 SOAP 请求,其中我使用 BinarySecurityToken 构造了一个 WSSE 标头,我将其理解为 base64 编码的客户端证书,采用 PKCS12 格式。然而...

回答 1 投票 0

Soap 连接在 Java 客户端中超时,但在 SOAPUI 中却没有超时

我使用 wsimport 和给定的 wsdl 创建了一个 SOAP 客户端。我还使用 SoapUI 来测试该服务。使用 SoapUI 没有问题,但是当使用 Java 客户端时,我得到了 java.net.ConnectException:连接...

回答 2 投票 0

如何使用groovy脚本循环遍历XML子节点

我有一个 XML 响应,如下所示: 我有一个 XML 响应,如下所示: <ns:Envelope xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/"> <ns:Body> <ns:response xmlns:svc="http://...serviceNameSpace" xmlns:ent="http://....entitiesNameSpace"> <ns:customer> <ns:contact> <ns:type>firstclass</ns:type> <ns:email>[email protected]</ns:email> <ns:details> <ns:name>Kevin</ns:name> <ns:area>Networking</ns:area> </ns:details> <ns:address> <ns:code>39343</ns:code> <ns:country>US</ns:country> </ns:address> </ns:contact> <ns:contact> <ns:type>secondclass</ns:type> <ns:email>[email protected]</ns:email> <ns:details> <ns:name>John</ns:name> <ns:area>Development</ns:area> <ns:address> <ns:code>23445</ns:code> <ns:country>US</ns:country> </ns:contact> </ns:customer> </ns:response > </ns:Body> 我正在尝试迭代子节点详细信息和地址,以验证请求属性的响应。但我可以断言电子邮件,但无法详细说明(名称和区域)和地址(代码和国家/地区)。以下是我正在使用的代码 import groovy.xml.* def envelope = new XmlSlurper().parseText(messageExchange.responseContentAsXml) def type = 'secondclass' def emailAddress= ${properties#emailAddress} envelope.'**' .findAll { it.name() == 'contact' } .findAll { it.type.text().contains(type) } .each { assert emailAddress== it.emailAddress.text() } 请帮助我迭代节点详细信息(名称和区域)和地址(代码和国家/地区)以进行断言 首先,您的 xml 似乎略有损坏,缺少结束标签。我冒昧地在下面的示例中修复了这个问题。 从概念上讲,当您使用 xml.Envelope.Body.response 等表达式浏览 xml 时,您正在浏览 xml 节点。请注意 xml 节点(即元素)与节点内的实际数据或文本之间的区别。 从 XmlSlurper 返回的 xml 节点表示为 groovy GPathResult 类的后代。这些后代包括 NodeChild、NodeChildren、NoChildren 和 Attribute,所有这些都可以由 xml.Envelope.Body.Response 类型的查询返回,具体取决于查询和 xml 的外观。要检索节点内的实际文本数据,您需要调用 node.text()。 固定 xml 并记住上述内容后,代码如下: def str = '''\ <ns:Envelope xmlns:ns="http://schemas.xmlsoap.org/soap/envelope/"> <ns:Body> <ns:response xmlns:svc="http://...serviceNameSpace" xmlns:ent="http://....entitiesNameSpace"> <ns:customer> <ns:contact> <ns:type>firstclass</ns:type> <ns:email>[email protected]</ns:email> <ns:details> <ns:name>Kevin</ns:name> <ns:area>Networking</ns:area> </ns:details> <ns:address> <ns:code>39343</ns:code> <ns:country>US</ns:country> </ns:address> </ns:contact> <ns:contact> <ns:type>secondclass</ns:type> <ns:email>[email protected]</ns:email> <ns:details> <ns:name>John</ns:name> <ns:area>Development</ns:area> </ns:details> <ns:address> <ns:code>23445</ns:code> <ns:country>US</ns:country> </ns:address> </ns:contact> </ns:customer> </ns:response > </ns:Body> </ns:Envelope> ''' def xml = new XmlSlurper(false, true).parseText(str) def contactNodes = xml.Body.response.customer.contact assert contactNodes.first().email == '[email protected]' assert contactNodes.first().details.name.text() == "Kevin" assert contactNodes.first().details.area.text() == "Networking" assert contactNodes.last().email == '[email protected]' assert contactNodes.last().details.name.text() == "John" assert contactNodes.last().details.area.text() == "Development" 运行并且所有断言都成功。 contactNodes变量是一个groovy NodeChildren对象,并且可以出于所有意图和目的被视为节点列表(即,您可以调用诸如.each {},.every {},.any {}之类的方法,...就可以了)。 编辑以响应评论:要仅迭代具有特定属性的接触节点,您可以执行以下操作: xml.Body.response.customer.contact.findAll { contactNode -> contactNode.type.text() == 'firstclass' }.each { firstClassContactNode -> assert firstClassContactNode.email.text() == "[email protected]" } 首先,通过filter type = "secondclass"获取'contact'节点。 其次,根据步骤1的结果,对每一项进行测试。 你的groovy脚本将像这样改变: import groovy.xml.* def envelope = new XmlSlurper().parseText(messageExchange.responseContentAsXml); def type = 'secondclass'; def emailAddress= ${properties#emailAddress}; envelope.Body.response.customer.contact .findAll {contactNode -> contactNode.type.text() == type} .each{ currentNode -> assert emailAddress== currentNode.emailAddress.text()};

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.