Я пытаюсь использовать веб-службу в Matlab, но у меня возникла проблема.
Веб-служба отправляет cookie для проверки подлинности, которую Matlab игнорирует.Функция matlab callSoapService использует этот код Java:
url = URL(endpoint);
if isempty(proxy)
httpConn = url.openConnection;
else
httpConn = url.openConnection(proxy);
end
httpConn.setRequestProperty('Content-Type','text/xml; charset=utf-8');
httpConn.setRequestProperty('SOAPAction',soapAction);
httpConn.setRequestMethod('POST');
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
outputStream = httpConn.getOutputStream;
outputStream.write(b);
outputStream.close;
inputStream = httpConn.getInputStream;
byteArrayOutputStream = java.io.ByteArrayOutputStream;
isc = InterruptibleStreamCopier.getInterruptibleStreamCopier;
isc.copyStream(inputStream,byteArrayOutputStream);
inputStream.close;
byteArrayOutputStream.close;
resp = byteArrayOutputStream.toString('UTF-8');
Если я напишу httpConn.getHeaderFields () , она возвращает пустой список вместо заголовков с cookie.Любая идея?В документации по Java написано, что вы должны вызывать httpConn.connect (), а Matlab этого не делает, я добавил эту строку где-то в коде просто для того, чтобы попробовать, но это не сработало lol