Using CM API with Zend_Soap_Client

I'm attempting to use the CM API with Zend_Soap_Client but I've run into some issues I haven't been able to resolve.

Firstly, I was getting issues attempting to use Zend_Soap_Client in WSDL mode; I would recieve the following error:

Function ("Subscriber.Add") is not a valid method for this service

when the Subscriber.Add is clearly in the WSDL itself, and I was passing all the correct arguments and method name with the __call() method.

Secondly I've switched to non-WSDL mode; and it's generating XML as expected:
<?xml version="1.0" encoding="UTF-8"?>
        <ns1:Subscriber.Add env:encodingStyle="">
            <param0 xsi:type="xsd:string"></param0>
            <param1 xsi:type="xsd:string">test user</param1>

But when this XML is sent; I recieve a HTML page!

I'm using endpoint url: as defined in the documentation.

Can anyone see what's going wrong, or what's wrong with the XML that the Zend_Soap_Client is sending?

I have been able to add subscribers to the list using the GET method manually; but ideally I'd like to use SOAP.


jamesau, 8 years ago

Can someone please post thier thoughts?


jamesau, 8 years ago

Since my post I've tried also SoapClient which Zend_Soap_Client actually extends; when I attempt to call Subscriber.Add I recieve and error: "Function ("Subscriber.Add") is not a valid method for this service". It's clearly in the WSDL file; and I'm now passing in the ApiKey, ClientId, Email and Name as the method expects...

What's going on?

200,000 companies around the world can't be wrong.

From Australia to Zimbabwe, and everywhere in between, companies count on 
Campaign Monitor for email campaigns that drive real business results.

Get started for free