我在公司环境中工作,我们使用的程序很慢,无法显示有关客户的信息。该应用程序基于Silverlight。我一直在使用Firefox Dev控制台尝试尽可能多地获取有关应用程序的信息。以下是我使用Silverlight应用程序时到目前为止所拥有的内容
Request URL: http://<Host>/dashboard/DataService.svc
Request Method: Post
<Request Headers>
User-Agent: Mozilla/5.0
Host:<Host>
Connection: keep-alive
Authorization: NTLM <Token>
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
<Request Body>
Referer:http://<Host>/dashboard/ClientBin/<Company Name>.Dashboard.UI.xap?dt=-2052067764 Content-Length: 186 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://tempuri.org/IDataService/FindStoresByStoreNum" <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><FindStoresByStoreNum xmlns="http://tempuri.org/"><value>8464</value></FindStoresByStoreNum></s:Body></s:Envelope>
我正在尝试用Java发送相同的请求。问题是IIS服务器使用NTLMv2进行身份验证(因此我们可以使用我们的Active Directory帐户登录),然后我认为它使用SOAP来发送数据?
好的,所以我一直在寻找,我找到了一个WSDL xml文件
每当我运行它时,如果我更改了我得到的数据415,我会收到错误411 为了在服务器上请求数据,我需要做什么?
<wsdl:definitions name="DataService" targetNamespace="http://tempuri.org/">
<wsp:Policy wsu:Id="BasicHttpBinding_IDataService_policy">
<wsp:ExactlyOne>
<wsp:All>
<http:NegotiateAuthentication/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsdl:types>
<xsd:schema targetNamespace="http://tempuri.org/Imports">
<xsd:import schemaLocation="http://<Host>/Dashboard/DataService.svc?xsd=xsd0" namespace="http://tempuri.org/"/><xsd:import schemaLocation="http://<Host>/Dashboard/DataService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
<xsd:import schemaLocation="http://<Host>/Dashboard/DataService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/_Dashboard_Dal"/>
<xsd:import schemaLocation="http://<Host>/Dashboard/DataService.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System.Data.Linq"/>
<xsd:import schemaLocation="http://<Host>/Dashboard/DataService.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<xsd:import schemaLocation="http://<Host>/Dashboard/DataService.svc?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/Dashboard.Service"/>
<xsd:import schemaLocation="http://<Host>/Dashboard/DataService.svc?xsd=xsd6" namespace="http://schemas.datacontract.org/2004/07/System.Data.SqlClient"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="IDataService_GetScheduledStoreCountByProject_InputMessage">
<wsdl:part name="parameters" element="tns:GetScheduledStoreCountByProject"/>
</wsdl:message>
我现在的问题是如何在java中使用这个数据服务?