1

We are facing the below error while making call out, to Trizetto web service(GetGroup_GroupId) after generating classes by WSDL2Apex.

“System.CalloutException: Web service callout failed: Unable to parse callout response. Apex type not found for element AppReturnCode”.

The WSDL was containing data type 'int' for AppReturnCode, so i updated it as 'integer'. But the same error is returned. WSDL location: https://odefacetswsl.trizetto.com/FacetsWebServiceLibrary/FaWsvcInpGetGroup.asmx

Note: The same WSDL works in SOAPui giving the expected response.

Could anybody help to resolve the error?

Thanks, Revathy

2
  • Can you share the WSDL for the service in question? Mar 17, 2016 at 0:22
  • Thank you Daniel for the response, please find the WSDL location shared.
    – Revathy
    Mar 17, 2016 at 5:56

2 Answers 2

0

After analyzing response in SOAPUI, Changing WSDL worked.

basically, replace "GetGroupResponse" by below lines

<s:complexType name="GetGroupResponse">
    <s:complexContent mixed="false">
      <s:extension base="tns:Response">
        <s:sequence> 
          <s:element minOccurs="0" maxOccurs="1" name="AppReturnCode" type="s:integer"/>
          <s:element minOccurs="0" maxOccurs="1" name="RESP_COLL" type="tns:ArrayOfREC_RESP"/>
          <s:element minOccurs="0" maxOccurs="1" name="GRGR_COLL" type="tns:ArrayOfREC_GRGR"/>
        </s:sequence>
      </s:extension>
    </s:complexContent>
  </s:complexType>

Response is returning "AppReturnCode" and "RESP_COLL", However WSDL did not had that entry. It only contains "GRGR_COLL". You can try to regenerate stubs classes on basis of this new WSDL.

0
0

I tried generating the Apex code through the custom FuseIT SFDC Explorer Wsdl2Apex that we made here at work.

The corresponding GetGroupResponse came out as:

public class GetGroupResponse {
    public Integer AppReturnCode;
    public trizettoComFxiIslFawsvcinpgetgroup.ArrayOfREC_ERR AppErrors;
    public trizettoComFxiIslFawsvcinpgetgroup.ArrayOfREC_RESP RESP_COLL;
    private String[] AppReturnCode_type_info = new String[]{'AppReturnCode','http://trizetto.com/fxi/isl/FaWsvcInpGetGroup','int','1','1','false'};
    private String[] AppErrors_type_info = new String[]{'AppErrors','http://trizetto.com/fxi/isl/FaWsvcInpGetGroup','ArrayOfREC_ERR','0','1','false'};
    private String[] RESP_COLL_type_info = new String[]{'RESP_COLL','http://trizetto.com/fxi/isl/FaWsvcInpGetGroup','ArrayOfREC_RESP','0','1','false'};
    public trizettoComFxiIslFawsvcinpgetgroup.ArrayOfREC_GRGR GRGR_COLL;
    private String[] GRGR_COLL_type_info = new String[]{'GRGR_COLL','http://trizetto.com/fxi/isl/FaWsvcInpGetGroup','ArrayOfREC_GRGR','0','1','false'};
    private String[] apex_schema_type_info = new String[]{'http://trizetto.com/fxi/isl/FaWsvcInpGetGroup','true','false'};
    private String[] field_order_type_info = new String[]{'AppReturnCode','AppErrors','RESP_COLL','GRGR_COLL'};
}

As you indicated, the AppReturnCode is an Integer. Note that in AppReturnCode_type_info it is still an 'int', as this is the SOAP type.

I tried invoking it with this anonymous Apex, but it failed with a Read timed out exception. I suspect I don't have the required authentication details.

trizettoComFxiIslFawsvcinpgetgroup.WebSvcGetGroupSoap service = new trizettoComFxiIslFawsvcinpgetgroup.WebSvcGetGroupSoap();
service.timeout_x = 120000;
trizettoComFxiIslFawsvcinpgetgroup.Config pConfig = new trizettoComFxiIslFawsvcinpgetgroup.Config();
pConfig.Region = 'abihsdevfac520';
pConfig.FacetsIdentity = 'SVCAGENT';
pConfig.CallingSystemName = 'DEFAULT';

String pGRGR_ID = 'SF000001';
trizettoComFxiIslFawsvcinpgetgroup.GetGroupResponse resp = service.GetGroup_GroupId(pConfig, pGRGR_ID);

Example callout:

<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <env:Header />
  <env:Body>
    <GetGroup_GroupId xmlns="http://trizetto.com/fxi/isl/FaWsvcInpGetGroup">
      <pConfig>
        <FacetsIdentity>SVCAGENT</FacetsIdentity>
        <CallingSystemName>DEFAULT</CallingSystemName>
        <Region>abihsdevfac520</Region>
      </pConfig>
      <pGRGR_ID>SF000001</pGRGR_ID>
    </GetGroup_GroupId>
  </env:Body>
</env:Envelope>
3
  • Thanks Daniel for trying it. It is going to the exception catch block while invoking the service from our page controller class throwing the CalloutException in the debug logs as i have already given. The values in request can be for pGRGR_ID you have to give 'SF000001', Region: abihsdevfac520, FacetsIdentity: SVCAGENT, CallingSystemName: DEFAULT There is no authorization required, since it is working properly in SOAPui without any credentials.
    – Revathy
    Mar 17, 2016 at 10:55
  • Regarding AppReturnCode_type_info, the 3rd string in the array was auto-generated as null in the stub class. I updated it Int/Integer and tried, but no luck.
    – Revathy
    Mar 17, 2016 at 11:06
  • @Revathy I get an HTML response from the web service with the message "ERROR: The requested URL could not be retrieved". Can you share your working callout from Soap UI. Mar 18, 2016 at 0:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .