Problem With Invoking Salesforce API's

Hi,

We are integrating Salesforce with our application.
For this we are using Enterprise Web Services API Version 19.0 and WebMethod (wM Software AG- EAI Platform).
It seems webmethod is not able to convert the output parameter to expected document.
We are able to login to sales force which returns us url and session id.
Using this url and session id when I tries to call the queryAll API it gives us error

               "An error occurred while tracing.

                 com.wm.app.b2b.server.ServiceException: [ISS.0088.9139] Output parameters do not conform to   
                 targetOutputSignature: 
errorCode=VV-002
pathName=/tns:queryAllResponse/tns:result/tns:records[0]/ens:Client_Code__c
errorMessage=[ISC.0082.9026] Undefined Object found

errorCode=VV-002
pathName=/tns:queryAllResponse/tns:result/tns:records[0]/ens:IsDeleted
errorMessage=[ISC.0082.9026] Undefined Object found

errorCode=VV-002
pathName=/tns:queryAllResponse/tns:result/tns:records[0]/ens:Name
errorMessage=[ISC.0082.9026] Undefined Object found"

Query which I want to execute is “select Client_Code__c,Name, IsDeleted, Description, Id from Account Where Name=‘Test Customer’”

There must be many people who are using WebMethod to call Salesforce.
But I am not able to find the exact solution for above problem.
If anybody know how to solve this problem please reply.

Thanks and Regards,
Mayur

Didn’t they provided you WSDL’s to consume and invoke?

HTH
RMG

Yes, they have provided us WSDL. Using this WSDL we generate WSD Connectors.
But when we gives calles to Services, it gives above error.

Hi Mayur,

Which version of webmethods are you using? I have faced similar issue with 7.1.2.

You might have to add a new attribute to the sObject doc type
docTypeRef_ens_sObject as @xsi:type.

Regards,
Monish

Hello Monish,

We are also facing the same issue, how were you able to map your document to sObject, it shows only 2 values
we added @xsi:typ attri also , but still not able to make a create call

regards,
KD

We too are having the same issue several years later and I am wondering if there was a resolution. I have created the salesforce connectors and documents from their WSDL that we generated from the server. I am trying to create/upsert/update an account object. The call does not seem to matter as the issue is the same. I cannot seem to get past webmethods indicating that the actual account object fields are not defined. I am passing an sObject with account data. sObject is defined with only two fields and I am not sure how the account attributes will pass webmethods validation. I can do an update in either xmlspy or soapUI. The error message is:

[ISS.0088.9138] Input parameters do not conform to targetInputSignature:
errorCode=VV-002
pathName=/tns:upsert/tns:sObjects[0]/ens:Block_Indicator__c
errorMessage=[ISC.0082.9026] Undefined Object found

I am assuming from this post that at least one other person has gotten this error. I am hoping they are stillactive and will respond as I never saw a final response or colseout of this issue. We are running integration server 8.2

Thanks!

Hi,

I also had same issues, and my solution was

removing unecessay operations & structures in Salesforce API WSDL.

you might see the warning messages while you were converting wsdl to WSD.

in my case, removing QName related code in WSDL then issue closed.
======================warning message======================
ISS.0085.9262-[ISS.0085.9262] No registered handler found for Header QName:Header_DebuggingHeader
ISS.0085.9262-[ISS.0085.9262] No registered handler found for Header QName:Header_StreamingEnabledHeader
ISS.0085.9262-[ISS.0085.9262] No registered handler found for Header QName:Header_CallOptions
ISS.0085.9262-[ISS.0085.9262] No registered handler found for Header QName:Header_MruHeader

~~~
========================================================

HTH,
namhoon.kim

The problem revolves around a salesForce sObject being a general purpose object used to contain various sub-records like Account, Contact, etc. When these elements are present in a legitimate document webMethods will reject them due to the fact that they are “unknown” as elements of an sObject. While this is perfectly fine and expected on the salesForce side webMethods performs vigorous type checking. You must update the objects to permit unknown elements. however, this can not currently be done from the API of either developer or designer. The solution is as follows and has been validated. Assistance was received from webMethods support on this one. The below assumes the package is in salesForceWS_.

The trick is to edit the document type that is generated for the Soap_upsert connector. This document type is created with the WSD Consumer and is called Soap_upsert_Input. The trick is to edit the node.ndf for this doctype and set the rec_closed for tns:upsert and tns:sObject and set the rec_closed to false. When rec_closed is set to true it counterintuitively sets “Allow unspecified fields” to False.

Please try the following steps:

  1. Open up the file salesForceWS_/docTypes/Soap_upsert_Input/node.ndf in a text editor 2. Near the top, find the record tag for tns:upsert. It looks like this:

    record false tns:upsert record 0 true false urn:enterprise.soap.sforce.com false false record false tns:externalIDFieldName string 0 1 reference dtVersion2 http://www.w3.org/2001/XMLSchema string false urn:enterprise.soap.sforce.com true false record false tns:sObjects recref 1 true false urn:enterprise.soap.sforce.com true false false true true com.salesforce.common.webservice.salesForceWS_.docTypes:docTypeRef_ens_sObject true true
  2. Find the rec_closed tag for both tns:upsert and tns:sObjects. Set the value to false. The record should now look like this:

      <record javaclass="com.wm.util.Values">
        <value name="node_type">record</value>
        <value name="is_public">false</value>
        <value name="field_name">tns:externalIDFieldName</value>
        <value name="field_type">string</value>
        <value name="field_dim">0</value>
        <record name="field_content_type" javaclass="com.wm.util.Values">
          <value name="contentType">1</value>
          <value name="internalType">reference</value>
          <value name="dataTypeVersion">dtVersion2</value>
          <array name="targetNames" type="record" depth="1">
            <record javaclass="com.wm.util.Values">
              <value name="xmlns">http://www.w3.org/2001/XMLSchema</value>
              <value name="ncName">string</value>
            </record>
          </array>
        </record>
        <value name="nillable">false</value>
        <value name="field_xmlns">urn:enterprise.soap.sforce.com</value>
        <value name="form_qualified">true</value>
        <value name="is_global">false</value>
      </record>
      <record javaclass="com.wm.util.Values">
        <value name="node_type">record</value>
        <value name="is_public">false</value>
        <value name="field_name">tns:sObjects</value>
        <value name="field_type">recref</value>
        <value name="field_dim">1</value>
        <value name="field_opt">true</value>
        <value name="nillable">false</value>
        <value name="field_xmlns">urn:enterprise.soap.sforce.com</value>
        <value name="form_qualified">true</value>
        <value name="is_global">false</value>
        <value name="is_soap_array_encoding_used">false</value>
        <value name="rec_closed">false</value>
        <value name="modifiable">true</value>
        <value name="rec_ref">com.salesforce.common.webservice.salesForceWS_.docTypes:docTypeRef_ens_sObject</value>
      </record>
    </array>
    <value name="rec_closed">false</value>
    <value name="modifiable">true</value>
    
  3. Save the file (and upload it back to the IS if you are not editing it directly).

  4. Reload the package that contains the WSD consumer.

  5. Run the service again. The problem should be resolved.