1

wsdl.exe(.net sdk 2.0)で解釈する必要のあるwsdlがあります。このwsdlは、実行時に軸エンジンによって生成され、wsddファイルを読み取って生成します。

私のリターンタイプの1つにはjava.util.Mapが含まれており、これがwsdl(wsdlの一部)のマップのスキーマです。

<schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
            <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
            <complexType name="Map">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="item">
                        <complexType>
                            <all>
                                <element name="key" type="xsd:anyType" />
                                <element name="value" type="xsd:anyType" />
                            </all>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </schema>

しかし、wsdl.exeを実行してこのwsdlを読み取ると、次のエラーが発生します。

  • 操作'getXXX'をインポートできません。
  • タイプは、スキーマの最上位で宣言する必要があります。名前空間' http://xml.apache.org/xml-soap 'からスキーマタイプ'Map'を確認してください:要素'item'は匿名型宣言を使用しています。匿名型はエンコードされたSOAPではサポートされていません。

これは、Webサービスに関してMapを使用できないことを意味しますか?私はグーグルの結果に満足できませんでした...

4

1 に答える 1

0

私自身の質問に答えさせてください。Webサービスを.NEThttp://wiki.apache.org/ws/FrontPage/Axis/DotNetInteropMapInfoで使用できるようにする場合は、戻りタイプとしてjava.util.Mapを使用しないで
ください。

于 2009-12-28T05:56:33.320 に答える