exponenta event banner

Ограничения поддержки документов WSDL

Неподдерживаемые документы WSDL

  • документы WSDL в кодировке RPC. Для этих документов используйте createClassFromWsdl.

  • Документы, которые программа 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 не распознано.

     Работа

Документы должны соответствовать стилю обертки

Операции, определенные в WSDL, должны соответствовать правилам для стиля обертки, как описано в пункте (ii) раздела 2.3.1.2 Java API для веб-служб XML (JAX-WS) 2.0. Сообщения об ошибках, подобные приведенным ниже, указывают на эту проблему.

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.