首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SoapClient错误-缺少<fault>名称

SoapClient错误-缺少<fault>名称
EN

Stack Overflow用户
提问于 2010-06-02 14:05:19
回答 1查看 4.3K关注 0票数 2

我试图让PHP使用SoapClient正确地连接到WSDL,它连接(就像查找WSDL中的那样),但随后给出了以下错误:

代码语言:javascript
复制
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Missing name for <fault> of 'invokeService'

PHP代码如下:

代码语言:javascript
复制
$client = new SoapClient("wsdl.wsdl");

它失败的WSDL文件中的XML如下所示:

代码语言:javascript
复制
  <portType name="invokePort"> 
    <operation name="invokeService"> 
      <input message="wsdlns:invokeRequest"/> 
      <output message="wsdlns:invokeResponse"/> 
      <fault message="soap:fault"></fault> 
    </operation> 
  </portType> 

你知道怎么回事吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2010-06-02 14:23:08

嗯,Missing name for <fault>听起来很清楚。您是否尝试向错误元素添加属性"name“?

更新:有关Missing <message> with name 'soap:fault'错误的,您可以尝试以下操作:

代码语言:javascript
复制
<message name="MyFaultName"/>
<portType>
    <!-- ... -->
    <fault name="MyFaultName">
        <soap:fault name="MyFaultName" use="literal"/>
    <fault>
</portType>

不过,不确定它不会再抱怨其他问题了。手动创建WSDL是一件很痛苦的事情,我建议您寻找从源代码中为您生成WSDL的一些 工具

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2958454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档