【问题标题】:How to determine method names and parameters in wsdl web service如何确定wsdl web服务中的方法名和参数
【发布时间】:2019-02-11 19:12:23
【问题描述】:

我在使用 Web 服务和 KSoap 库时遇到了一些问题。我在询问之前搜索了这个主题,但找不到任何东西。

问题是:我有一个类似http://www.anyting.com/bulkService.wsdl 的网址,但我没有任何关于它的文档。我可以仅检查 wsdl 文件来确定 METHOD NAMENAMESPACE 参数吗? 示例:http://www.webservicex.net/isbn.asmx?WSDL

如果可以的话,我在哪里可以找到发送请求的方法参数。

我正在开发 Android 项目,所以我使用的是 KSoap2,我需要 METHOD NAME 和 NAMESPACE。

小问题:myservice.wsdl url 是否相同 myservice.asmx?WSDL

感谢您的支持..

编辑#1:我花了很多时间,我得到了正确的参数:

  • METHOD_NAME : Web 服务可能有多种方法。如果您没有找到关于您的 Web 服务的文档,您可以在 wsdl 中搜索方法名称。如果您的 Web 服务扩展名是 .asmx,那么您的 wsdl 就像 ../services/service.asmx?wsdl。打开 wsdl 文件并搜索“操作名称”,这个参数就是你的方法。如果您想使用,请选择什么。

  • NAMESPACE :打开您的 wsdl 并搜索“targetNamespace”。此参数是您的 NAMESPACE 参数。

  • SOAP_ACTION : 该参数由方法名和命名空间组成。像这样使用它 String SOAP_ACTION = NAMESPACE + METHOD_NAME;

    • URL : 在 wsdl 中查找“服务”元素。此元素包含“wsdlsoap:address location =”此地址是您的 Web 服务的 URL。

【问题讨论】:

标签: parameters wsdl ksoap2


【解决方案1】:

这应该会有所帮助(php):

$client = new SoapClient("http://my_exposed_url?wsdl");
var_dump($client->__getFunctions());    
var_dump($client->__getTypes());

【讨论】:

    【解决方案2】:

    是的,你可以找到它。转到here 并单击要查看的参数的方法。在这个例子中

    GetISBNInformation 是方法点击它,你会得到 SOAP_ACTION 和参数。使用 KSOAP 发送请求所需知道的一切。干杯。

    【讨论】:

    • 以上链接显示不可用服务不可用
    • 该链接正在使用问题中的一个,所以它现在已经死了。但是你可以看到 url 并尝试对你的 webservice url 做同样的事情,看看它是否有效?
    • WebServiceX.net 已经删除了他们所有的 SOAP 示例,许多人认为 SOAP 是遗留的并被放弃了。例如 MS 甚至明确宣布不会将其添加到 .NET Core
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多