Limitations to WSDL Document Support
Unsupported WSDL Documents
RPC-encoded WSDL documents.
Documents that the Apache® CXF program cannot compile into complete code.
Documents that import other WSDL documents that contain WSDL type definitions.
On Windows®, documents that import other WSDL documents might fail if the imported URI contains certain punctuation characters.
Some documents with messages containing multiple parts.
Some documents with schemas containing anonymous complex types.
Some documents defining an input parameter to an operation as a simple type. When you invoke such an operation, for example
GetMyOp
, MATLAB® displays one of the following errors.Error using xxx/GetMyOp. Too many input arguments.
Or:
Error using matlab.internal.callJava No GetMyOp method with appropriate signature exists in Java class $Proxy57
If the WSDL document defines schema types in multiple namespaces, an error might occur if types in different namespaces have the same names. Multiple namespaces usually occur when using
import
statements. MATLAB displays messages similar to the following.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.
To work around this problem, copy the imported files and edit them to rename the conflicting types.
XML Schema element
all
not recognized.
Documents Must Conform to Wrapper Style
Operations defined in the WSDL must conform to the rules for wrapper style, as described in The Java API for XML Web Services (JAX-WS) 2.0. Error messages similar to the following are indications of this problem.
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),...
To work around this issue, edit the WSDL to conform to the wrapper style rules, or edit the generated MATLAB code to instantiate and pass in the Java® class object that contains the parameters.
SOAP Header Fields Not Supported
It is not possible to send messages that require Simple Object Access Protocol (SOAP) header elements. Only SOAP body elements are supported.