使用大写?WSDL
或小写?wsdl
后缀webservice端点之间有什么区别吗?
我使用的是PHP的SoapClient。当我使用大写?WSDL
设置网址时http://example.com/Foo.asmx?WSDL,我达到了内存限制错误或无内容错误。但是当我使用像http://example.com/Foo.asmx?wsdl这样的小写?wsdl
时,它会起作用!
区别是什么? SOAP服务器上的东西还是什么?
我遇到了真正的问题。这是关于缓存和存储,SOAP无法存储缓存文件,因为服务器已满。不知道wsdl缓存是否发生在所有语言中,但至少在PHP中这个线程救了我:In PHP how can you clear a WSDL cache?
答案 0 :(得分:0)
?wsdl
和?WSDL
之间或任何案例信函组合之间不应有任何区别。请参阅以下示例:
http://www.dneonline.com/calculator.asmx?WSDL
http://www.dneonline.com/calculator.asmx?wsdl
http://www.dneonline.com/calculator.asmx?Wsdl
http://www.dneonline.com/calculator.asmx?WsDl
这个特定的Web服务并不关心,也不应该关心,只要很清楚我要求WSDL。
但这可能并非总是如此,具体取决于用于构建Web服务的技术以及代码检查参数是否存在的代码。如果在代码内部与wsdl
字符串存在不区分大小写的比较,那么任何组合都可以。如果比较区分大小写,则只有完全匹配才有效(这将是草率的编程,但会发生类似的事情)。
你的是dot.NET服务所以它不应该关心。但也许前面有防火墙或反向代理,而且配置错误只能接受完全匹配。使用不同的案例组合在浏览器中请求WSDL,并查看您获得的状态代码。
底线是不应该的,但有时这就是你必须要处理的事情。