使用SOAP访问Web服务 - 在soapclient()上失败

时间:2009-02-26 15:45:58

标签: php xml soap wsdl

使用soapclient时,我收到以下错误($ myUrl);

SOAP-ERROR:解析WSDL

如果直接访问WSDL链接,我会看到以下内容。

http:// services“xmlns:apachesoap =”http://xml.apache.org/xml-soap“xmlns:impl =”http:// services“xmlns:intf =”http:// services“xmlns:soapenc =“http://schemas.xmlsoap.org/soap/encoding/”xmlns:tns1 =“http://rpc.xml.coldfusion”xmlns:wsdl =“http://schemas.xmlsoap.org/wsdl/” xmlns:wsdlsoap =“http://schemas.xmlsoap.org/wsdl/soap/”xmlns:xsd =“http://www.w3.org/2001/XMLSchema”>                   http://xml.apache.org/xml-soap“xmlns =”http://www.w3.org/2001/XMLSchema“>             HTTP://服务“/>             HTTP://rpc.xml.coldfusion“/>             http://schemas.xmlsoap.org/soap/encoding/"/>                              

                <element name = "key" nillable="true" type="xsd:anyType"/>
                <element name = "value" nillable="true" type="xsd:anyType"/>
            </sequence>
        </complexType>
        <complexType name = "Map">
            <sequence>
                <element maxOccurs = "unbounded" minOccurs="0" name="item" type="apachesoap:mapItem"/>
            </sequence>
        </complexType>

    </schema>
    <schema targetNamespace = "http://rpc.xml.coldfusion" xmlns="http://www.w3.org/2001/XMLSchema">
        <import namespace = "http://services"/>
        <import namespace = "http://xml.apache.org/xml-soap"/>
        <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
        <complexType name = "CFCInvocationException">
            <sequence/>
        </complexType>
        <complexType name = "QueryBean">

            <sequence>
                <element name = "columnList" nillable="true" type="impl:ArrayOf_xsd_string"/>
                <element name = "data" nillable="true" type="impl:ArrayOfArrayOf_xsd_anyType"/>
            </sequence>
        </complexType>
    </schema>
    <schema targetNamespace = "http://services" xmlns="http://www.w3.org/2001/XMLSchema">
        <import namespace = "http://xml.apache.org/xml-soap"/>
        <import namespace = "http://rpc.xml.coldfusion"/>

        <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
        <complexType name = "ArrayOf_xsd_anyType">
            <complexContent>
                <restriction base = "soapenc:Array">
                    <attribute ref = "soapenc:arrayType" wsdl:arrayType="xsd:anyType[]"/>
                </restriction>
            </complexContent>
        </complexType>
        <complexType name = "ArrayOf_xsd_string">

            <complexContent>
                <restriction base = "soapenc:Array">
                    <attribute ref = "soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
                </restriction>
            </complexContent>
        </complexType>
        <complexType name = "ArrayOfArrayOf_xsd_anyType">
            <complexContent>
                <restriction base = "soapenc:Array">

                    <attribute ref = "soapenc:arrayType" wsdl:arrayType="xsd:anyType[][]"/>
                </restriction>
            </complexContent>
        </complexType>
    </schema>
</wsdl:types>

<wsdl:message name = "updateCampaignResponse">

    <wsdl:part name = "updateCampaignReturn" type="xsd:boolean"/>

</wsdl:message>

1 个答案:

答案 0 :(得分:1)

看起来这个WSDL的第一部分被切断了......那只是一个复制/粘贴错误,或者实际上是你得到了什么?

如果这实际上是你得到的,那么那就是你的问题。出于某种原因,你只是获得了WSDL的“尾端”。