Question Santhosh Gladson · Sep 20, 2018

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.Integrati…";
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…",.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…",.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>

Comments

Tomas Vaverka · Sep 21, 2018

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.

0
Santhosh Gladson  Sep 21, 2018 to Tomas Vaverka

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

0
Tomas Vaverka  Sep 21, 2018 to Santhosh Gladson

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.

0