我不希望我的客户从运行肥皂应用程序的服务器访问 wsdls。因此,我希望客户端可以从另一台服务器访问我的 wsdl,这只是为了使 wsdl 文件可以访问,客户端可以直接使用该文件来访问实际的soap服务。
我该怎么办。
我认为您可以通过替换 WSDL 文件中的 Web 服务 url 来实现这一点。例如,您的 Web 服务实现在 192.168.0.20 上运行,并且您的 wsdl 文件部署在 192.168.0.21 上,现在更改 WSDL 文件中的 Web 服务 url。例如,您可以在 wsdl 文件的底部找到此代码片段。
<wsdl:service name="TestWebService">
<wsdl:port binding="impl:TestWebServiceBinding" name="TestWebService">
<wsdlsoap:address location="http://localhost:8080/Project/services/TestWebService"/>
</wsdl:port>
</wsdl:service>
to
<wsdl:service name="TestWebService">
<wsdl:port binding="impl:TestWebServiceBinding" name="TestWebService">
<wsdlsoap:address location="http://192.168.0.21:8080/Project/services/TestWebService"/>
</wsdl:port>
</wsdl:service>
希望它会起作用,而且您还必须在两台服务器上配置 ssl 才能访问跨域。
谢谢