我遵循了这里提供的建议,它就像一个魅力。现在,我正在连接到服务器并调用名为GetFunctionalityTest的方法。它的唯一输入是一个字符串,可以在GetFunctionalityTest.m文件中看到。到目前为止,一切都很好。
然后我尝试调用名为 GetSections 的真实服务,根据文件GetSections.m其签名如下。
function GetSectionsResult = GetSections(obj,auth)
% GetSections(obj,auth)
% Input: auth = (Authorize)
% Output: GetSectionsResult = (ArrayOfString)
values = { auth, };
names = { 'auth', };
types = { '{WSPro.HostingWebservice}Authorize', };
soapMessage = createSoapMessage( ...
'WSPro.HostingWebservice', ...
'GetSections', values,names,types,'document');
response = callSoapService( obj.endpoint, ...
'WSPro.HostingWebservice/GetSections', soapMessage);
GetSectionsResult = parseSoapResponse(response);
服务器提供的定义如下。
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi=...>
<soap:Body>
<GetSections xmlns="WSPro.HostingWebservice">
<auth>
<uid>string</uid>
<pw>string</pw>
</auth>
</GetSections>
</soap:Body>
</soap:Envelope>
我的问题是我无法指定授权语法。据我了解,它应该以某种方式由两个字符串组成,但我还没有让它工作。我试图将它们组合如下。
myAuthorization = ['user', 'pass'];
myAuthorization = {'user', 'pass'};
myAuthorization = ['user' 'pass'];
myAuthorization = {'user' 'pass'};
没有任何帮助。我刚收到一堆错误。
使用 callSoapService 时出错(第 147 行)
未指定故障:SOAP 故障:服务器无法处理请求。
---> 参数化查询
'(@uid nvarchar(99)) SELECT PassW FROM UserData WHERE UserId = @' 需要未提供的参数 '@uid'。
我浏览了为我自动创建的所有文件,并且没有Authorize not ArrayOfString的定义。我猜这是服务器定义的东西,因为我在 MatLab 文档中没有得到任何点击。
- 如何指定授权凭据?
- 我在哪里可以查看 MatLab 如何映射Authorization?