【问题标题】:How to make web service tell request that SOAP header is required?如何让 Web 服务告诉请求需要 SOAP 标头?
【发布时间】:2013-12-13 21:10:39
【问题描述】:

我创建了一个 Web 服务,用 Java 编写并使用 Eclipse 和 Axis2 生成。我在 services.xml 文件中创建了一个 ws-security 策略并创建了一个身份验证处理程序。我对网络服务完全陌生,如果我的陈述完全错误,请原谅。在生成 Web 服务并拥有 wsdl 之后,我创建了一个 SOAPUi 项目并生成请求。 soapui 生成的请求的soap 标头为空白,因此当我运行请求时,我收到一个安全异常,即身份验证失败。当我输入正确的标题时:

<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
<wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-12468716">
<wsu:Created>2008-06-23T13:17:13.841Z</wsu:Created>
<wsu:Expires>2008-06-23T13:22:13.841Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-31571602">
<wsse:Username>alice</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">bobPW</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wsa:To>http://localhost:8081/axis2/services/sample01</wsa:To>
<wsa:MessageID>urn:uuid:AEDBA74A8D1FC94B631214227032877</wsa:MessageID>
<wsa:Action>urn:echo</wsa:Action>
</soapenv:Header>

然后就可以了。我的 wsdl 是否缺少某些东西告诉 SoapUi 在用户名和密码字段中自动生成带有问号的标头?因为我已经将 SoapUi 用于其他 wsdl,它确实会自动生成这些标头。

【问题讨论】:

标签: web-services soap wsdl soapui


【解决方案1】:

您可以在 SOAP UI 上指定用户名和密码,这可以在测试请求属性选项卡或测试属性中设置。

试试这个:http://www.soapui.org/SOAP-and-WSDL/authenticating-soap-requests.html

【讨论】:

    【解决方案2】:

    是的,乔恩,你是对的。在您的 wsdl 中,您需要在请求消息结构中添加这些用户名和密码字段作为标头。您还需要在代码中实现它以从标头中获取用户名和密码并相应地执行。

    您还可以在 SOAP UI 中的测试请求属性选项卡中指定用户名和密码。它将使用用户名和密码自动在您发出的肥皂请求中添加标题。如果需要,您还可以在首选项中禁用此功能。

    谢谢, 安布吉

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-26
      • 2016-01-19
      • 1970-01-01
      相关资源
      最近更新 更多