当前位置: 首页 > 知识库问答 >
问题:

在SoapUI中使用用户名和密码验证的SOAP请求

别兴国
2023-03-14

我正在尝试在SoapUI中发出SOAP请求,它需要使用用户名和密码进行身份验证。我让SoapUI基于wsdl文件生成一个测试,并尝试调用该服务。我按照SoapUI网站上的步骤使用身份验证(https://www.soapui.org/soap-and-wsdl/authenticating-soap-requests.html),但我不能让它工作。我不熟悉SOAP,所以我可能缺少一些基本的东西。我得到了服务的用户名和密码,所以我猜这是一个基本的身份验证。但当我试图提出请求时,总是会得到一个PolicyViolationException,其中指出“未提供所需的策略:{http://docs.oasis-open.org/ns/opencsa/sca/200912}客户认证”。

下面是请求和应答的样子(我模糊了服务链接并更改了用户名)。我还将用户添加到我的项目和WS-Security设置中。

我尝试了先发制人的身份验证和“必须理解”。我还试图更改请求头并手动添加安全性,但似乎没有任何效果,我总是得到相同的响应。

共有1个答案

滕英奕
2023-03-14

我还不能添加评论,所以我写信作为回答。对我来说,似乎缺少了一些名称空间。尝试通过更改随机应变,创建字段来提出如下请求。如果您试图调用的服务希望密码为纯文本,那么代码示例中的命名空间就足够了。另外我建议你检查留档在这个链接。

<soap:Header>
    <Security
        xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:UsernameToken wsu:Id="sample-token"
            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>user</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
            <wsse:Nonce>some-base64</wsse:Nonce>
            <wsu:Created>yyyy-MM-ddThh:mm:ssZ</wsu:Created>
        </wsse:UsernameToken>
    </Security>
</soap:Header>
 类似资料:
  • 我试图创建新的肥皂请求在SoapUI从服务endpoint复制密码用户名和endpoint。 它使用终结点,但不使用用户名和密码。 有人知道怎么做吗? (我不想克隆)!

  • 很抱歉,如果这个问题是重复的,但是我在StackOverflow中尝试了几个解决方案,仍然无法发送SOAP请求。 我目前的情况是我的java应用程序需要向我的客户Web服务发送SOAP请求,这是我在SOAP UI中成功完成的,用户名,密码,身份验证类型:抢先。请看图片 现在我想在Java这样做,我已经创建了SOAP信封,没有设置密码,响应与SOAP UI中使用无身份验证完全相同,这意味着java代

  • 我有以下Java客户端用于发出SOAP请求: 我需要修改它,将用户名和密码作为WS-security标头的一部分。我该怎么做呢? 如果有用,我还附加了我的WSDL文件:

  • 我有一个登录表格。如下: 我在提交表单时通过Ajax验证用户名和密码 在函数中,可以正确地对空字符或无效字符进行验证,但我想向用户返回密码错误或用户名错误的错误。 Ajax调用如下: 具有PHP数据库连接和代码 这样,返回的唯一错误是“无效凭据”。请让我知道如何分别验证用户名和密码。

  • 客户已创建密钥存储库并存储凭据。为了验证密钥存储库,我已经在节点中创建了应用程序,并使用客户端id和客户端机密,我能够读取机密。但是现在客户不想使用客户id和客户机密,而是使用AZURE的用户名和密码来访问程序中的keyvault。它是一个没有MFA的keyvault访问的专用用户。 我不确定我们是否可以从节点JS使用用户名和密码访问keyvault。敬请建议。 谢谢

  • 是否可以在Flatter中使用用户名和密码(而不是电子邮件和密码)实现Firebase身份验证?有没有办法用Firebase Auth插件来实现这一点?