首页 文章

Android SOAP NTLM的例子?

提问于
浏览
1

我试图谷歌周围的一个工作的例子 . 我尝试过KSOAP2和JCIFS示例,但没有成功 . 我正在尝试连接的Web服务是第三方(Microsoft Dynamics NAV),无法修改 . 它使用SOAP和SPNEGO或NTLM身份验证 . 而且我猜它已经是NTLMv2,但我不确定 . 任何人都可以建议我下面的SOAP请求的完整代码?

$<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:item="urn:microsoft-dynamics-schemas/page/items">
$   <soapenv:Header/>
$   <soapenv:Body>
$      <item:ReadMultiple>
$         <!--1 or more repetitions:-->
$         <item:filter>
$            <item:Field>No</item:Field>
$            <item:Criteria>1000</item:Criteria>
$         </item:filter>
$         <item:setSize>500</item:setSize>
$      </item:ReadMultiple>
$   </soapenv:Body>
$</soapenv:Envelope>

我用soapUI验证了这个请求,它运行正常 . 但是当我尝试使用KSOAP2和JCIFS运行它时,我收到错误消息“Connection refused” . 重要的是要注意我是Java和Android的初学者 .

1 回答

  • 0

    我对NAV和SOAP的经验有限,但我在身份验证方面遇到了类似的问题 .

    我需要做的是实际运行请求两次 . 由于某种原因,第一个请求永远不会通过(可能作为握手的一部分?),但第二个请求将返回有效的响应 . 最好的调试工具是一个简单的HTTP代理(例如Burpsuite),它可以让我看到发送的确切内容(根据 Headers 等)以及响应是什么 .

    其次,当我手动创建此SOAP请求时,我错过了NAV的SOAPAction标头 . 我不确定这是否是标准的,但我需要使用带有.NET Web服务连接的HTTP代理(通过SOAP与NAV交谈的官方方式)并发现它是如何通话的 .

相关问题