How do I send XML to SOAP Web Services? - php

I used SOAP UI to test my implementation and it works there. However, I do not know how to do this without SOAP UI in a php environment.
I currently have php code pulling data from the MySQL database and outputting well-formed XML, but I do not know how to send this XML output to the web service to be processed.
Any help would be great.
Thanks

You don't have to create your own SOAP XML. There is a perfectly fine SOAP extension available, where you can create a SoapClient using the services WSDL-file.
http://ch1.php.net/soap
If it is really only about sending the data, use curl.
Configuration example: How can I send SOAP XML via Curl and PHP?

Related

PHP SOAP Web Service send XML as parameter

I have to send a XML file as parameter for a web service using SOAP. Any help with how can I do it?
And.. What's the XML Schema (XSD file)?
The XML has to be passed as a string which will be encoded in order to be encapsulated in the XML SOAP Request.
In any case, I strongly advise you to use a WSDL to PHP generator such as the PackageGenerator project which eases the request construction and the response handling,

Raw text SOAP message with PHP

I´m trying to do an integration between my own PHP application, and other external software which is 'waiting for' (listening) SOAP messages. But the key question on my situation is that this software which is listening for SOAP messages only accepts RAW contents and has no method which could be called, or Wsdl to be used.
Yes I know... it´s quite strange because with SOAP you usually should send a method request with some parameters, but in this case the only that I have is a URL where I should send with SOAP message that should contain only an string (formatted in a special way which is not a problem), and then this server will return to my PHP application another SOAP message that will contain a string. And that´s all.
Seems that in my case I can not use a PHP SOAP library because I have no method (or function) to call; the only thing that I have is a URL and a string that I should pass like a parameter. I´ve been thinking of using PHP sockets to create a basic SOAP message to that 'strange soap server', but I have no clue about how to do it, or how I woule create with PHP a way to keep my application waiting for the answer comming from that external server.
Thank you so much for your help in advance.
You might be best of by just making the WSDL on your own. It isn't the most trivial thing to do, but it is well documented so you should be able to figure it out.
THere is no need to get the WSDL from the service you're sinding your requests to (it is rather better to have WSDL locally in some cases), so you just initialize the default SOAP client in PHP with that local WSDL, and off you go.

Passing a Soap message from PHP

I know almost nothing about PHP. So I have a coworker doing the PHP stuff. It's not going well so I need some help.
Here is the task.
Receive a SOAP message (in this case from SalesForce) in a PHP site on Linux.
Take that soap message and simply pass it along to a web service (as a parameter) running on a windows server. Which I am writing. The reason we need to do it this way is far beyond the scope of this question. We have no choice.
The communication between the PHP page and the webservice works. The problem is taking the soap message and sending it to the method in the webservice as a parameter.
Here is the big question:
How can we accept a soap message and send it as a prameter. Even converting it to a simple string and sending that would work.
Thanks in advance.
It looks to me like you need to use a SOAP handler, and then reformat the request accordingly.
I'd suggest you start by taking a look at NuSOAP, which provides PHP SOAP support. Go here - for a nifty tutorial on NuSOAP

how to do SOAP request in PHP code

My website is written in PHP. How should I write the PHP code to send a SOAP request to another server and parse the response.
The link below is the server who can accept the request.
http://gisdata.usgs.gov/XMLWebServices2/Elevation_Service.asmx?op=getElevation
Thanks.
You have options.
If it's available on your server, there's a native SoapClient extension for php. You could use that.
Or, you might prefer the Zend_Soap library, which is part of the Zend Framework, but can easily be used independently.
There venerable nuSoap library is an old standby.

PHP Soap (Server)

I am trying to create a webservice using the PHP Soap extension and I am having problems with the .wsdl. Is there an easy way to generate 2.0 wsdl's? Where is a good site (or book) that I can look to in order to determine how to build the WSDL? I have no problem getting my soap client to retrieve soap messages from other web services so I know soap is installed and working. I have found a few links out there that generate WSDL's for you, but most of the sites are down. Any help pointing me in the right direction would be helpful
PHP does not have a built-in WSDL generation utility. I would recommend using Zend_Soap_Server which supports WSDL generation via its Autodiscover feature.

Categories