3

設定した Web サービスを 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