debugging web client

Primary tabs

Security, SOAP, Caché

I used the soap wizard to create a web client based on the wsdl.  I was able to get a valid response back, and now it looks like the error is in decrypting the soap message response "inbound"

ERROR #6284: Security header error: SecurityTokenUnavailable.

%objlasterror = error: 0 ìŒSecurityTokenUnavailableÃCPR¹.e^zImportHeader+62^%SOAP.Security.Header.1^1(e^zProcessHeaders+48^%SOAP.WebBase.1^1-e^zProcessSOAPEnvelope+18^%SOAP.WebBase.1^10e^zSOAPRequestResponse+123^%SOAP.WebClient.1^1)e^zInvokeClient+112^%SOAP.WebClient.1^1Dd^zInvoke+2^qcpr.registration.ws.HCValidationPort.one.validate.1^1=e^zvalidate+1^ws.HCValidationPort.one.1^1.e^zTest+40^api.Ontario.1^1&d^zDebugStub+30^%Debugger.System.1^2d^^^0

 

Primary question:  What element is the referring to in the soap document?

Other questions:

1.  How can I debug into the system classes?  I've been encountering the Soap.1 does not exist in the system.

2. Any other way to decrypt the message?  

3.  Other debugging tips?

 

Replies

I would suggest enabling the Caché SOAP log to capture inbound, outbound, and security information - "ios" - then reproducing the error. (Be sure to disable the SOAP log by killing the ^ISCSOAP global when you are done.) This will print the error message in a more readable format, show the outbound message sent by your Caché SOAP client, etc.

If you are having trouble understanding the data in the SOAP log I would suggest opening a new case with the InterSystems Support staff, either by calling into +1 617-621-0700 or emailing support@intersystems.com.