在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身份验证请求?
答案 0 :(得分:0)
正如@setec所说 - 没有&#34;标准肥皂认证请求&#34;。回到你的例子,这是一个非常特定于实现的请求(即提供者已经请求了非常具体的标签(在你的情况下是urn:username和urn:password)。
您可以使用Spring模板或任何其他Web服务工具(如Axis 2或JAX-WS或更高版本)生成上述SOAP请求,前提是在WSDL中正确提及它。
如果您需要有关如何访问网络服务的更多详细信息,请尝试在Google中搜索或参阅以下任何链接:
Spring Web Service
JAX WS tutorial