Edit Soap message header for WSDL web service

4 次查看(过去 30 天)
I am trying to call a web service which requires Authentication with Matlab 2015b. I successfully created the class files using the matlab.wsdl.createWSDLClient(_,options), where options is a weboptions object, containing Username and Password. However,because i cannot pass the authentication when calling the service, I get an error - Java exception occurred: com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 401: Access Denied
I understand that a way of getting round this is including the security credentials in the SOAP message header. I dont know how to do this in MATLAB or where the SOAP message is located. Any help on how to solve this problem will be greatly appreciated.

采纳的回答

Usha Duddu
Usha Duddu 2015-9-11
编辑:Usha Duddu 2015-9-11
Hi Muyiwa
I understand that you are trying to call a web service that requires authentication and you are using "matlab.wsdl.createWSDLClient" function to create an interface to SOAP based web service. When your service requires basic authentication for user name and password you can configure this through the following code snippet in MATLAB before each call to SOAP service that requires basic authentication. obj is an instance of generated class.
obj.PortObj.getRequestContext.put(obj.PortObj.USERNAME_PROPERTY,'YourUserName')
obj.PortObj.getRequestContext.put(obj.PortObj.PASSWORD_PROPERTY,'YourPassword')
Please note that other types of authentications are not currently supported.
Hope this helps.
-Usha

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Call Web Services from MATLAB Using WSDL 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by