Web services 在MatlabSOAP请求中创建子标记
我正在Matlab中为Web服务开发一个SOAP客户端。我正在做的是以下脚本:Web services 在MatlabSOAP请求中创建子标记,web-services,matlab,soap,Web Services,Matlab,Soap,我正在Matlab中为Web服务开发一个SOAP客户端。我正在做的是以下脚本: createClassFromWsdl('http://192.168.107.239/WSDL/v4.0/iLON100.wsdl') obj = iLON100 methods(obj) 下一个结果是: Methods for class iLON100: Clear Get List Set display Delete InvokeCmd
createClassFromWsdl('http://192.168.107.239/WSDL/v4.0/iLON100.wsdl')
obj = iLON100
methods(obj)
下一个结果是:
Methods for class iLON100:
Clear Get List Set display
Delete InvokeCmd Read Write iLON100
然后,我正在编辑方法列表,以请求服务的项目列表。dot m文件是:
% Build up the argument lists.
values = { '','//Item[@xsi:type="Dp_Cfg"]'};
names = { 'iLonItem','xSelect'};
types = {};
% Create the message, make the call, and convert the response into a variable.
soapMessage = createSoapMessage('http://wsdl.echelon.com/web_services_ns/ilon100/v4.0/message/',
'List', values, names, types, 'document');
我还有一个来自设备供应商的SOAP测试仪。然后,如果我比较两个XML请求,它们会有所不同,正如您在下一个示例中所看到的,首先是原始请求,其次是Matlab请求:
<SOAP-ENV:Body>
<List xmlns="http://wsdl.echelon.com/web_services_ns/ilon100/v4.0/message/">
<iLonItem>
<xSelect>
//Item[@xsi:type="Dp_Cfg"]
</xSelect>
</iLonItem>
</List>
</SOAP-ENV:Body>
<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<List xmlns="http://wsdl.echelon.com/web_services_ns/ilon100/v4.0/message/">
<iLonItem/>
<xSelect>Item</xSelect>
</List>
</soap:Body>
正如您所观察到的,这些标记不包括在子标记中。我想知道如何做到这一点,并生成与正确发送SOAP请求相同的XML结构
非常感谢,最后,我通过创建一个如下结构解决了这个问题:
myStruct = struct('iLonItem',struct('xSelect','//Item[@xsi:type="Dp_Cfg"]'))
此结构将插入到值和方法名称iLONItem中