vs自己主动生成的WebService配置文件在部署到IIs6后,服务调用失败的解决方法

时间:2023-03-08 22:23:42

近日。在项目中须要引用java公布的WebService,加入服务引用后,调用一切正常。

配置例如以下:

<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SecurityServiceImplServiceSoapBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"/>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://10.10.10.10:80/securityService"
binding="basicHttpBinding" bindingConfiguration="SecurityServiceImplServiceSoapBinding"
contract="Service.ISecurityService" name="SecurityServiceImplPort" />
</client>
</system.serviceModel>

部署到IIS6上。服务无法调用,折腾一下午,最终搞清是因为配置文件的原因:

改动后例如以下:

<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IUpService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
useDefaultWebProxy="true" allowCookies="false">
<security mode="None" />
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://10.10.10.10:80/UpService/UPService.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUpService"
contract="PermissionService.IUpService" name="WSHttpBinding_IUpService" />
</client>
</system.serviceModel>

改动了一下配置,服务正常调用.

原因大概是用于的vs版本号大概比較高。所以生成的WebService配置文件,IIS6无法识别,配置文件须要具体列出配置详情。