Buddhika Semasinghe wrote:
Tim Traver wrote:
Hi all,
ok, I am a little bit new to the SOAP game, but I understand it, and
am using it to talk to an outside API.
The problem that I have is that the server that I am talking to (that
is not in my control), will accept the following SOAP call
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AuthenticateTest xmlns="https://api.authorize.net/soap/v1/">
<merchantAuthentication>
<name>name</name>
<transactionKey>string</transactionKey>
</merchantAuthentication>
</AuthenticateTest>
</soap:Body>
</soap:Envelope>
But it refuses a call that I have made using the SOAPClient PHP
classes that look like this :
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="https://api.authorize.net/soap/v1/">
<SOAP-ENV:Body>
<ns1:AuthenticateTest>
<merchantAuthentication>
<name>name</name>
<transactionKey>string</transactionKey>
</merchantAuthentication>
</ns1:AuthenticateTest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
It appears that the one that PHP creates is all in line with all of
the latest standards, and I know that the server is a Microsoft IIS
server.
Does anyone know any parameters that I can use with the PHP SOAP
client that could help me contruct the request like the top one???
I don't want to have to build the text myself, and open a socket and
send the text manually like I did to verify that the top one works,
and the bottom one doesn't.
Thanks,
Tim.
Hi Tim,
I think you can try this scenario using the WSF-PHP extension in
http://wso2.org/projects/wsf/php. <http://wso2.org/projects/wsf/php>
Thanks
Buddhika
Buddhika,
Thank you for responding, but this extension appears to do the same
thing as the built in SOAP classes that are in PHP 5. From what I can
tell, much of the xml that would be created would be the same using that
extension, although it appears that there may be more methods to try
using that extension...
I guess the real question is what format the server is expecting that
the PHP library is not producing?
As you can see in the code, the server appears to be expecting
"<soap:Envelope ..." and the PHP SOAPClient stuff is using
"<SOAP-ENV:Envelope..." instead.
Does this mean that the server is not accepting the standards base SOAP
methods???
Thanks,
Tim.