Hoi mensen,
Ik ben bezig voor de hobby (en omdat ik het nodig heb voor een projectje) MTOM encoded SOAP te implementeren in PHP. Ik weet dat er een kan en klare PECL extensie voor is, maar dat is geen optie omdat het service gedeelte van de app op een standaard cheapo hosting moet kunnen draaien.
Het gedeelde waar ik nu een beetje in de knoei zit is ik moet de SOAP die de standaard PHP soap server oplevert omzetten naar een XOP pakket, daarvoor moet ik het element dat naar een attachment verwijst vervangen door een XOP referentie, like so:
moet worden:
de href attribuut verwijst weer naar een MIME attachment met content-id parameter gelijk aan de href.
Ik heb me met dit idee wel een lekkere hobby op de hals gehaald.
Ik ben bezig voor de hobby (en omdat ik het nodig heb voor een projectje) MTOM encoded SOAP te implementeren in PHP. Ik weet dat er een kan en klare PECL extensie voor is, maar dat is geen optie omdat het service gedeelte van de app op een standaard cheapo hosting moet kunnen draaien.
Het gedeelde waar ik nu een beetje in de knoei zit is ik moet de SOAP die de standaard PHP soap server oplevert omzetten naar een XOP pakket, daarvoor moet ik het element dat naar een attachment verwijst vervangen door een XOP referentie, like so:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="QlixSoap2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:getDocumentResponse> <response xsi:type="ns1:DocumentHeader"> <success xsi:type="xsd:boolean">true</success> <name xsi:type="xsd:string">text.php</name> <size xsi:type="xsd:int">3300</size> <mimetype xsi:type="xsd:string">text/plain</mimetype> <file xsi:type="xsd:base64binary">34567</file> </response> </ns1:getDocumentResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
moet worden:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="QlixSoap2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:xmlmime="http://www.w3.org/2004/11/xmlmime"> <SOAP-ENV:Body> <ns1:getDocumentResponse> <response xsi:type="ns1:DocumentHeader"> <success xsi:type="xsd:boolean">true</success> <name xsi:type="xsd:string">text.php</name> <size xsi:type="xsd:int">3300</size> <mimetype xsi:type="xsd:string">text/plain</mimetype> <file xmlmime:contentType="text/plain"><xop:Include href="cid:5346efa34" /></file> </response> </ns1:getDocumentResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
de href attribuut verwijst weer naar een MIME attachment met content-id parameter gelijk aan de href.
Ik heb me met dit idee wel een lekkere hobby op de hals gehaald.