Question
· Jan 17, 2018

%SOAP PROTECT error

Hello all, I created a web service and I am trying to access it using SoapUI but I get this error:

<text>ERROR #5002: Cache error: &lt;PROTECT>zGetMsgClass+3^%SOAP.WebService.1 ^oddCOM("TestWeb.Service.TestWebSoap",85,"P",0,"soapAction","http://127.0.0.1/csp/dev5/Utils.TestWebService.testNow"),h:\dev5\</text>

It appears to be trying to make an entry in the ^oddCOM global, but is getting a PROTECT error. 

I also tried a .NET app where I added the service using the WSDL. In .NET I get "Internal Server Error" so I'm assuming it's the same error.

Any ideas welcome. 

Thanks, Malcolm.

Discussion (3)1
Log in or sign up to continue

It seems you try to call ans Action that is not defined / compiled

  /// Get class name for a message descriptor class for this web method based on the SOAPAction
Method GetMsgClass(action As %String, messageChildlist As %Integer, Output methodName As %String, bodyStream As %GlobalCharacterStream = "") As %String [ Internal, ServerOnly = 1 ]
{
Set (methodName,className,msgClass,methodList)=""
Set class=$classname()

Set methodList=$get($$$SOAPParametersSoapActionList(class,action))
>>>> this is line +3   ^^^^^^^^^^^^^^^^^^^^^^^^^^^

this translates to and there is no attempt to write something. 

#define SOAPParametersSoapActionList(%class,%soapAction) ^oddCOM(%class,$$$cCLASSxmldata,"P",0,"soapAction",$select(%soapAction="":$c(0),1:%soapAction))

But finally: . . . .  stNow"),h:\dev5\</text>

Does your Caché Server Instance have access right to  the bolded directory location ????  This smells like  <PROTECT>