当前位置: 首页 > 面试题库 >

如何验证基于肥皂的Java Web服务?

宗政招
2023-03-14
问题内容

我正在使用Java开发基于Soap的Web服务。谁能让我知道如何认证使用Web服务的客户端?

谢谢。


问题答案:

最好但最复杂的可能是带有各种身份验证方法的WS-
Security。但是它是最复杂的,并且对企业环境有利。它允许您创建端到端身份验证,并且有很多选项。您可以在简单情况下使用Web服务安全性UsernameToken配置文件

    <S12:Envelope xmlns:S11="..." xmlns:wsse="..." xmlns:wsu= "...">
  <S12:Header>
  ...
    <wsse:Security>
      <wsse:UsernameToken>
        <wsse:Username>NNK</wsse:Username>
        <wsse:Password Type="...#PasswordDigest">weYI3nXd8LjMNVksCKFV8t3rgHh3Rw==</wsse:Password>
        <wsse:Nonce>WScqanjCEAC4mQoBE07sAQ==</wsse:Nonce>
        <wsu:Created>2003-07-16T01:24:32</wsu:Created>
      </wsse:UsernameToken>
    </wsse:Security>
  ...
  </S12:Header>
...
</S12:Envelope>

我不知道您使用什么库,但是这是一篇不错的文章,介绍了如何将Rampart安装到Axis2中并实现UsernameToken处理。

但是在某些简化的情况下,您可以简单地对Web服务器进行HTTP基本身份验证(通过SSL)。这可能是最糟糕的解决方案,但有时可能最容易实现。另一个不与soap连接的解决方案可以是相互认证的SSL(使用客户端身份验证)。



 类似资料:
  • 我使用此代码登录到外部系统: 我收到一种LoginResponse,但它没有价值。 LoginResponse类型仅包含: 我需要从标头访问UserAuth值,但这不包含在LoginResponse对象中。 SOAP 响应为: 如何访问标题信息,在本例中是UserAuth值? 我是否需要使用更低层次的东西并从soap响应中解析所需的值? 更新: 我认为我需要使用SAAJ使用自定义SOAP请求(类似

  • 我在CentOS机器上启用标题中提到的模块时遇到了一些问题。 百胜安装php-mCrypt/php-soc/php-mysql工作正常,并提到它们已经安装,重新启动Apache后,似乎它们没有启用。 例如,我无法定位mcrypt.so,运行php--ini会给出: 这是在我放置extension=mcrypt之后。所以在php中。伊尼。

  • 问题内容: 尝试指定自定义的肥皂标题。不知道如何填充SoapEnvelope.headerOut属性。 到目前为止我的代码? 这是标题WSDL提取… 问题答案: headerOut是您需要构建的Element []。 像这样 然后将其添加到数组中。

  • 问题内容: 有什么方法可以使用soap-rpc Web服务,以便通过共享接口生成客户端?宁静的Web服务以这种方式进行操作,但是基于soap的情况又如何呢?您是否总是需要使用Axis或CXF之类的工具来生成存根和代理,还是有可以动态设置的东西? 谢谢。 编辑#1: 为了澄清,我正在寻找做这样的事情: 通用接口: 该公共接口已经可以用于创建服务器端组件。我的问题是: 客户端可以使用这种类型的通用接口

  • SOAP请求有一个服务endpoint和一个xsd文件。但是,没有wsdl文件。我如何从这里手动生成soap请求(作为字符串的xml请求)并将其发送到服务endpoint? 我在SO上找到了类似的答案。但这是针对C#和. NET的,任何针对Java的想法都会受到高度赞赏。

  • 我正在尝试使用Angular2和Http POST对SOAP web服务进行一个非常简单的调用。如果我使用POSTMAN发布相同的消息,只需将内容类型设置为text/xml即可。 对于Angular2,我得到了以下错误:- SEC7120:原点http://localhost:3004在Access Control Allow Origin标头中找不到 SCRIPT7002: XMLHttpReq