Закодированные RPC документы WSDL. Для этих документов используйте 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.
Чтобы работать вокруг этой проблемы, скопируйте импортированные файлы и отредактируйте их, чтобы переименовать конфликтные типы.
Операции, заданные в WSDL, должны соответствовать правилам для стиля обертки, как описано элементом (ii) в разделе 2.3.1.2 из API Java для веб-сервисов 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 поддержаны.