1

I'm trying to test SOAP webservices using the webservice client module but I can't edit the datatype parameter which is set by default to arg0.

I've changed it to what is shown in the picture below but still the soap request has that parameter set as arg0
enter image description here

enter image description here

EDIT:

Looking around I found the function drupal_get_form($form_id) which sets the arguments in the forms_state array, $form_state['build_info']['args'] = $args, using func_get_args() which gets a copy of the current user-defined function's argument list.

Not sure if that's the function which is causing me this problem but I really don't get why that tag is wrong but the others are all correct. I really don't know what to do as I've cleared the cache and ran cron already.

EDIT I found the class responsible of making the soap call, wsclient_soap.module, I modified the call function so as to have my own arguments but still the problem remains.

  public function call($operation) {
  $client = $this->client();
  $testargs= array( 
ModelCRUDRequest => array(
    ModelCRUD=>array(
    serviceType=>"GetProductList",
    TableName=>"",
    RecordID=>"",
    RecordIDVarialbe=>"",
    Filter=>"",
    Action=>"Read",
    DataRow=>array(
      field=>array(
        val=>"",
        lookup=>array(
          lv=>array(
           val=>"",key=>""
                    )//endlv array
                      ),//endlookuup array
        type=>"",
        column=>"",
        lval=>"",
        disp=>"",
        edit=>"",
        error=>"",
        errorval=>""
                  )//end field array

                       )//end data row array

                     ),//end ModelCRUD 
ADLoginRequest=> array(
  user=>"GardenUser",
  pass=>"GardenUser",
  lang=>"192",
  ClientID=>"11",
  RoleID=>"103",
  OrgID=>"11",
  WarehouseID=>"103",
  stage =>"0"        )//endADLoginRequest
    )//endModelCrudRequest
    );


try {
  $response = $client->__soapCall($operation, $testargs);
  return $response;
}
catch (SoapFault $e) {
  throw new WSClientException('Error invoking the SOAP service %name, operation %operation: %error', array('%name' => $this->service->label, '%operation' => $operation, '%error' => $e->getMessage()));
}
  }
 }

I think it has to do with the WSDL document

-<wsdl:message name="queryData"><wsdl:part element="tns:ModelCRUDRequest" name="arg0">
-</wsdl:part></wsdl:message>

Can someone please help me out?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.