我在调用Java Web服务的代码中遇到错误。代码在我团队的其他PC上运行良好。我有完全相同的源代码副本。所以我猜我的电脑上的配置问题深埋在某处并且与源代码本身无关?
我得到的错误是:
使用客户端身份验证方案“匿名”
禁止HTTP请求
以下是web.config中的2个配置部分。
<binding
name="SEITokenServiceBinding"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas
maxDepth="32"
maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<security
mode="None"/>
</binding>
<client>
<endpoint
address="http://10.1.1.1:8180/tokenService"
binding="basicHttpBinding"
bindingConfiguration="SEITokenServiceBinding"
contract="TokenService.SEITokenService"
name="SEITokenServicePort">
<identity></identity>
</endpoint>
</client>
答案 0 :(得分:0)
我之前在工作场所见过这个问题。对你来说可能完全不同,但我会分享我的经历。
在我的场景中,它是将一个不同的组策略应用于其中一个开发PC,而不是应用于所有其他开发PC,这导致当前用户凭据未被传递到内部代理服务器。 / p>
我建议尝试在web.config中明确设置服务的标识(可能是您自己的用户标识),看看是否能解决问题。
然而,这只是一个临时解决方案,您需要发现组策略的不同之处并对其进行修改,以使登台/开发系统完全相同。
答案 1 :(得分:0)
不知道答案,但调试它的好方法是在您的计算机上运行调试http代理,如Fiddler。抓住http对话并将其与同事的计算机的输出区分开来。
答案 2 :(得分:0)
这是由于java Web服务服务器上的IP子网限制。