On Mon, Jul 15, 2013 at 4:21 AM, Adam Nicholls <inkysp...@gmail.com> wrote:
> Hi Andrew
> Thanks for this.
> But I'm still getting errors. I think I need to explain a bit more.
> Unfortunately there isn't a PHP API for this application I'm trying to
> interact with, my goal really is to be able to expose the COM
> functionality over a web-service such as SOAP so I can use it in a
> CMS. The application I'm trying to integrate with is Blackbuad's
> Raiser's Edge - API documentation here:
> https://www.blackbaud.com/files/support/guides/re7ent/api.pdf
> I think part of the problem is that the field names are also
> represented by an integer. So to get data out I would do:
> $oBank->Fields(22);   // which maps to BANK_fld_BRANCH_NAME.
> When I do:
> $oBank->22 = 'blah blah';
> I get an error because a property can't be numeric, it has to start as
> alpha character. If I use:
> $oBank->BANK_fld_BRANCH_NAME = 'blah blah blah';
> I get the following error:
> Fatal error: Uncaught exception 'com_exception' with message 'Unable
> to lookup `BANK_fld_BRANCH_NAME': Unknown name.
> I've also tried using your Value property returned by Fields():
> $oBank->Fields(22)->Value = 'Blah Blah blah blah';
> Which I then get:
> PHP Warning:  Creating default object from empty value in [C:\Users....]
> Fatal error: Call to undefined method variant::Save()
> Soo seems nearly impossible to implement a safe way to write to the COM API.
> At the moment, I'm still in the scoping/prototype stage of my project,
> so I'm beginning to think that using this COM API for this project is
> a no-go, which is unfortunate. I'm also guessing even if we did
> implement this API, exposing it as a Web Service is going to be tricky
> for performance sake (given that I've read that COM doesn't
> multithread very well??)
> Many Thanks
> Adam.

It's definitely possible to do, once you figure out the syntax you
need for this object.

I'm guessing you must have gotten past the $oBank->Init() method call
without issues.

What happens if you just use this for the value assignment?

$oBank->Fields(BANK_fld_ACCOUNT_NAME) = "Test account";
$oBank->Fields(BANK_fld_ACCOUNT_NO) = "12345";
$oBank->Fields(BANK_fld_BANK) = "Bank of the Nation";
$oBank->Fields(BANK_fld_BRANCH_NAME) = "State Street Branch";

It also looks like you're getting errors from the call to
$oBank->Save() saying that the method is not defined.


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to