SOAP response error. "ERROR #5002: Cache error:METHOD DOES NOT EXIST"

Hello Experts,

I am working on SOAP WSDL, where I am getting below error, I could not figure out where the error is hitting in code. Error says,

"ERROR #6248: SOAP response is a SOAP fault: faultcode=Client faultstring=Badly formed SOAP Message faultactor= detail= <error xmlns="http://www.intersystems.com/trak/ws"> <text>ERROR #5002: Cache error: &lt;METHOD DOES NOT EXIST&gt;zXMLNew+1^Custom.ENXX.Integration.WebService.Schema.DemogData.1 *%New,Custom.ENXX.Integration.WebService.Schema.DemogData</text> </error>"

I don't have any method as such described in the error - "Custom.ENXX.Integration.WebService.Schema.DemogData"

Is this error occuring in WSDL? Any ideas are appreciated!

Below given is the SOAP class created:

Class TrakCare.NonPDSDemogUpdateSoap Extends %SOAP.WebClient [ ProcedureBlock ]
{
Parameter LOCATION = "http://enxxt2017dl.iscinternal.com:57772/trakcare/Custom.ENXX.Integratio...";
Parameter NAMESPACE = "http://www.intersystems.com/trak/ws";
Parameter OUTPUTTYPEATTRIBUTE = 1;
Parameter SECURITYIN = "ALLOW";
Parameter SERVICENAME = "NonPDSDemogUpdate";
Parameter SOAPVERSION = 1.1;

Method FindAndCheckPatient(patientNumber As %String, patientNumberType As %String, familyName As %String, givenNames As %String, dateOfBirth As %String, gender As %String) As %Integer [ Final, ProcedureBlock = 1, SoapBindingStyle = document, SoapBodyUse = literal, WebMethod ]
{
 Quit ..WebMethod("FindAndCheckPatient").Invoke($this,"http://www.intersystems.com/trak/ws/Custom.ENXX.Integration.WebService.N...",.patientNumber,.patientNumberType,.familyName,.givenNames,.dateOfBirth,.gender)
}

Method UpdateDemographics(patientId As %String, demogUpdates As ENLI.Intouch.TrakCare.s0.DemogData) As %Integer [ Final, ProcedureBlock = 1, SoapBindingStyle = document, SoapBodyUse = literal, WebMethod ]
{
 Quit ..WebMethod("UpdateDemographics").Invoke($this,"http://www.intersystems.com/trak/ws/Custom.ENXX.Integration.WebService.N...",.patientId,.demogUpdates)
}

}

--------

Below is a part of WSDL code -

<s:element name="UpdateDemographics">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" name="patientId" type="s:long"/>

<s:element minOccurs="0" name="demogUpdates" type="s0:DemogData"/>

</s:sequence>

</s:complexType>

</s:element>

<s:complexType name="DemogData">

<s:sequence>

<s:element minOccurs="0" name="EthnicOrgin" type="s:string"/>

<s:element minOccurs="0" name="Religion" type="s:string"/>

<s:element minOccurs="0" name="EMailAddress" type="s:string"/>

</s:sequence>

</s:complexType>

<s:element name="UpdateDemographicsResponse">

<s:complexType>

<s:sequence>

<s:element name="UpdateDemographicsResult" type="s:long"/>

</s:sequence>

</s:complexType>

  • 0
  • 0
  • 479
  • 2
  • 1

Answers

It looks you are accessing webservice on internal InterSystems  site, are you an ISC employee?

Anyway, this is an error generated and sent by external webservice you try to call. It happens during processing of the SOAP request on the external webservice, you cannot fix it. So you should discuss it with author/provider of this webservice.

Thanks Tomas. I found it yesterday evening.. This is an issue from external server

Anyway, the method it complains about is %New of class Custom.ENXX.Integration.WebService.Schema.DemogData. The most probably given class s not inherited from either %RegisteredObject or %Persistent cass.