在java中使用wsdl、用户名和密码调用soap web服务



我是soap web服务的新手。有人能告诉我如何使用JAVA中的x509提供的wsdl及其用户名和密码进行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,反之亦然,您可以通过mashalling和unmarshalling来完成。

相关内容

  • 没有找到相关文章

最新更新