java - 在java中使用wsdl、用户名和密码调用soap webservice

标签 java soap x509 wsse

我是 SOAP 网络服务的新手。有人可以告诉我如何使用提供的 wsdl 及其用户名和密码在 JAVA 中使用 x509 发出 SOAP 请求吗?我在.NET 中得到了很多代码。但我对如何在java中使用x509身份验证形成请求仍然空白。 任何帮助,将不胜感激。 提前致谢。

使用soap UI并在AUTH选项卡中使用基本身份验证..以下是我收到的错误。

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
   <s:Header>
      <a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action>
   </s:Header>
   <s:Body>
      <s:Fault>
         <s:Code>
            <s:Value>s:Sender</s:Value>
            <s:Subcode>
               <s:Value xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:InvalidSecurity</s:Value>
            </s:Subcode>
         </s:Code>
         <s:Reason>
            <s:Text xml:lang="en-US">An error occurred when verifying security for the message.</s:Text>
         </s:Reason>
      </s:Fault>
   </s:Body>
</s:Envelope>

最佳答案

看,如果您有 WSDL,您应该使用 SoapUI 工具,它将帮助您创建请求并查看响应。您可以使用此工具轻松生成示例请求,提供用户名和密码,并查看基于请求的响应。

它显示完整且详细的请求版本,您可以在其中轻松映射必填字段和可选字段。

根据您的要求获得完美的请求样本后,您可以使用 JAXB 进行进一步的处理。您可以从 WSDL 生成 Java 类,并借助从 SoapUI 准备好的请求来设置值。 下一步是将对象转换为 XML,反之亦然,您可以通过编码和解码来完成此操作。

关于java - 在java中使用wsdl、用户名和密码调用soap webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39528693/

相关文章:

java - Android 设置自定义首选项布局

c# - 结合 WCF SOAP 和 REST

java - 使用 java 解析 SOAP/XML 时出现问题

python - SOAP - 使用 zeep 创建元素 (python)

go - 使用 golang 提取主题 key 标识符

ssl - 我怎么知道我的 openssl 生成了 TLSv1.2

java - 简单的 JXLS/Apache POI 示例失败

java - 如何查询 Firebase 以执行以下操作?

ssl - 续订 SSL 根 CA 证书 - 野外的客户端程序需要更新吗?

java - 如果我使用内部类进行单元测试架构,如何避免忽略测试?