3

我正在尝试让 Mathematica 8 使用我设置的网络服务。但是它拒绝并引发以下错误:

InstallService::typeschema: "The type schema cannot be found for ("xsd:ArrayOfString")."

WSDL 验证并与其他客户端一起工作,因为它应该:

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="TickdataService"
    targetNamespace="http://myserver.com/myWebService.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://myserver.com/myWebService.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://myserver.com/myWebService.wsdl"
            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

            <xsd:complexType name="ArrayOfString">
                <xsd:complexContent>
                    <xsd:restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType"
                        wsdl:arrayType="string[]"/>
                    </xsd:restriction>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="ArrayOfDouble">
                <xsd:complexContent>
                    <xsd:restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType"
                        wsdl:arrayType="xsd:double[]"/>
                    </xsd:restriction>
                </xsd:complexContent>
            </xsd:complexType>
        </schema>
    </types>

    <message name="TickdataRequest">
        <part name="broker" type="xsd:string"/>
        <part name="type" type="xsd:string"/>
        <part name="startdate" type="xsd:string"/>
        <part name="enddate" type="xsd:string"/>
    </message>

    <message name="TickdataResponse">
        <part name="tick_list" type="xsd:ArrayOfString"/>
    </message>

    <portType name="Tickdata_PortType">
        <operation name="getTickList">
            <input message="tns:TickdataRequest"/>
            <output message="tns:TickdataResponse"/>
        </operation>
    </portType>

    <binding name="Tickdata_Binding" type="tns:Tickdata_PortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="getTickList">
            <soap:operation soapAction="urn:myWebService"/>
            <input>
                <soap:body
                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                namespace="urn:myWebService"
                use="encoded"/>
            </input>
            <output>
                <soap:body
                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                namespace="urn:myWebService" use="encoded"/>
            </output>
        </operation>
    </binding>

    <service name="Tickdata_Service">
        <port name="Tickdata_Port" binding="tns:Tickdata_Binding">
            <soap:address location="http://myserver.com/webservice.php"/>
        </port>
    </service>
</definitions>

这是我的 Mathematica 笔记本:

<<Webservices`

InstallService["http://myserver.com/myWebService.wsdl"]

有谁知道问题可能是什么?我非常感谢任何方向的任何提示:) 提前谢谢你!

4

0 回答 0