检查绑定是否为soap协议

时间:2015-05-21 07:12:06

标签: web-services soap groovy wsdl

我想检查一下webservice的绑定使用什么协议。 例如: http://www.webservicex.com/globalweather.asmx?WSDL

这里我们有4种不同的绑定。我只想在运行时获取soap绑定。 到目前为止我的常规代码:

 Wsdl wsdl = Wsdl.parse(url)
 SoapBuilder builder = wsdl.binding().localPart(wsdl.getBindings().first().localPart).find()

如何确定绑定使用哪个协议?

1 个答案:

答案 0 :(得分:0)

我找到了这个解决方案:

def getBuilderForSoap(Wsdl wsdl, String strOperation) {
    SoapBuilder buildertmp
    SoapBuilder builder

    wsdl.getBindings().each {

        buildertmp = wsdl.binding().localPart(it.localPart).find()
        if (buildertmp.binding.getExtensibilityElements().get(0).elementType.namespaceURI.contains("/soap/")) {
            builder = wsdl.binding().localPart(it.localPart).find()
        }

    }
    return builder

}

但我不知道这对每个网络服务是否可靠。 还有其他建议吗?