【问题标题】:Get Api end points from wsdl file从 wsdl 文件中获取 Api 端点
【发布时间】:2016-02-09 10:28:07
【问题描述】:

我正在尝试使用商业肥皂 Api。我知道他们的 wsdl 文件,但没有任何 api 端点来发出请求。我在互联网上搜索了如何从 wsdl 文件中获取 api 端点,但没有成功。 wsdl 文件位置是http://cbs.zong.com.pk/reachcwsv2/corporatesms.svc?wsdl

【问题讨论】:

    标签: api soap wsdl wcf-endpoint


    【解决方案1】:

    根据this answer,通过从wsdl的路径中去掉?wsdl得到端点url

    所以 WSDL 是:http://cbs.zong.com.pk/reachcwsv2/corporatesms.svc?wsdl 那么端点是:http://cbs.zong.com.pk/reachcwsv2/corporatesms.svc


    更准确地说,端点在 WSDL 文件中由地址 <address/> 标记定义,如下所示。它可能与您从 URL 中删除 ?wsdl 后缀得到的结果不同,但大多数情况下并非如此。

    <wsdl:port name="BasicHttpBinding_ICorporateCBS" binding="tns:BasicHttpBinding_ICorporateCBS">
    <soap:address location="http://cbs.zong.com.pk/ReachCWSv2/CorporateSMS.svc"/>
    </wsdl:port>
    

    【讨论】:

    • @HaseebMazharRanga 我必须在您回复后更新我的答案。 SOAPUI 将解析
      标签的 WSDL 文件并使用它和端点。因此,使用 SOAPUI 会更准确地返回 WSDL 端点。
    • 抱歉,是的,在某些情况下删除 ?wsdl 会有所帮助,但这里没有做 zong 可以解决这个问题。我使用以下代码得到连接错误。这是不同的问题。 cbs.zong.com.pk/reachcwsv2/corporatesms.svc?wsdl'; $client = new SoapClient($url,array("trace"=>1,"exception" => 0)); $result=$client->GetAccountSummary(array('obj_GetAccountSummary'=>array('loginId'=>'923331234567','loginPassword'=>'Mypassword')));回声“
      ”。 var_dump($result) 。 "

      ";
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    相关资源
    最近更新 更多