这是标准的soap身份验证请求吗?

时间:2014-04-23 09:41:17

标签: java spring authentication soap

在SOAP身份验证请求下面返回一个会话ID,用于后续请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:com.test">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:login>
         <urn:credential>
            <urn:companyId>?</urn:companyId>
            <urn:username>?</urn:username>
            <urn:password>?</urn:password>
            <!--Optional:-->
            <urn:developerKey>?</urn:developerKey>
         </urn:credential>
         <!--Zero or more repetitions:-->
         <urn:param>
            <urn:name>?</urn:name>
            <urn:value>?</urn:value>
         </urn:param>
      </urn:login>
   </soapenv:Body>
</soapenv:Envelope>

这是否与“基本访问身份验证”相关:http://en.wikipedia.org/wiki/Basic_access_authentication

目前我正在使用SAAJ创建上述请求但是我应该使用更高的抽象?

阅读Spring(http://docs.spring.io/spring-ws/site/reference/html/client.html)和WebServiceTemplate它似乎提供了一个抽象 用于身份验证但我不知道这是否可用于生成上述SOAP身份验证请求?

1 个答案:

答案 0 :(得分:0)

正如@setec所说 - 没有&#34;标准肥皂认证请求&#34;。回到你的例子,这是一个非常特定于实现的请求(即提供者已经请求了非常具体的标签(在你的情况下是urn:username和urn:password)。

您可以使用Spring模板或任何其他Web服务工具(如Axis 2或JAX-WS或更高版本)生成上述SOAP请求,前提是在WSDL中正确提及它。

如果您需要有关如何访问网络服务的更多详细信息,请尝试在Google中搜索或参阅以下任何链接:
Spring Web Service
JAX WS tutorial