Discussion:
PHP SOAP Client formats
(too old to reply)
Tim Traver
17 years ago
Permalink
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.
Buddhika Semasinghe
17 years ago
Permalink
...
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
Tim Traver
17 years ago
Permalink
...
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.
Samisa Abeysinghe
17 years ago
Permalink
If your service is hosted in IIS, that means you can gain access to the
WSDL and try the WSDL mode with PHP client.

Samisa...
...
Samisa Abeysinghe
17 years ago
Permalink
Post by Tim Traver
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???
No. That just means that the server uses a different namespace prefix.

Samisa...

Loading...