Main Content

WSDL ドキュメント サポートの制限

サポートされていない WSDL ドキュメント

  • RPC-encoded の WSDL ドキュメント。

  • Apache® CXF プログラムが完全なコードにコンパイルできないドキュメント。

  • WSDL の型定義を含む他の WSDL ドキュメントをインポートするドキュメント。

     回避方法

  • Windows® では、他の WSDL ドキュメントをインポートするドキュメントは、インポートされる URI に特定の句読点が含まれる場合、エラーとなる可能性があります。

  • 複数のパーツを含むメッセージをもつドキュメント。

  • 匿名の複素数型を含むスキーマをもつドキュメント。

  • 演算への入力パラメーターを単純型として定義している一部のドキュメント。たとえば GetMyOp などの演算を呼び出すと、MATLAB® は以下のいずれかのエラーを表示します。

    Error using xxx/GetMyOp.  Too many input arguments.
    

    または、

    Error using matlab.internal.callJava
    No GetMyOp method with appropriate signature exists in Java class $Proxy57
    
  • WSDL ドキュメントが複数の名前空間でスキーマ型を定義している場合、異なる名前空間の型に同じ名前が付けられているとエラーが発生することがあります。通常、複数の名前空間は、import ステートメントを使用するときに発生します。MATLAB は、次のようなメッセージを表示します。

    Error using matlab.wsdl.createWSDLClient (line 239) 
    Error processing WSDL: 
    file:/l:/02090080/incoming/service_w0_x0.xsd [149,4]: Two declarations cause a collision in the ObjectFactory class.

    この問題を回避するには、インポートしたファイルをコピーして編集し、競合する型の名前を変更します。

  • XML スキーマの要素 all が認識されない。

     回避方法

ラッパー スタイル準拠のドキュメント

Java API for XML Web Services (JAX-WS) 2.0 で説明されているように、WSDL で定義される操作は、ラッパー スタイル規則に準拠していなければなりません。以下のようなエラー メッセージによって、この問題が指摘されます。

Error using matlab.internal.callJava
No authenticate method with appropriate signature exists in Java class com.sun.proxy.$Proxy55

Error in Service/Authenticate (line 107)
            matlab.internal.callJava('authenticate',obj.PortObj,fromMATLAB({'Authenticate','user'},
            user,'string',false,false),...

この問題を回避するには、ラッパー スタイル規則に準拠するように WSDL を編集するか、または生成された MATLAB コードを編集してインスタンス化し、パラメーターが格納されている Java® クラス オブジェクトに渡します。

サポートされない SOAP ヘッダー フィールド

簡易オブジェクト アクセス プロトコル (SOAP) ヘッダー要素を必要とするメッセージを送信することはできません。SOAP 本文の要素のみがサポートされます。