soap attachment, arrays with attributes and a restrictive java soap server

From: Date: Tue, 11 Sep 2007 10:17:37 +0000
Subject: soap attachment, arrays with attributes and a restrictive java soap server
Groups: php.soap 
Request: Send a blank email to php-soap+get-2634@lists.php.net to get a copy of this message
Hi, I am trying to talk to a java soap service that is ultra restrictive. For example it does not support SOAP-ENC, but only soapenc (which is not something the standard actually allows to restrict AFAIK). At any rate I also need to send soap attachments to the service. It does not seem like ext/soap supports this atm and I would rather like to spare me the fiddeling with MIME encoding. Also in a C extension I cannot easily hack and deploy modifications to match this crazy Java server. So I decided to go with PEAR::SOAP. I hacked around several issues, but I am stuck at the last point. I need to add 2 arrays with attributes into my SOAP message. In this example I am calling the SOAP action "SubmitRequest". As you can see the its literal encoding. Using the <content> tag I can have multiple files attached. Obviously the entire message needs to be a multipart MIME message. I also need to be able to include multiple <ding> tags in which I need to be able to set attributes (ideally different attributes per tag). <SubmitRequest>
      <content filename="image1.gif" href="cid:1746ED6DDE448400271DA805A3580400"/>
      <content filename="smil1.smil" href="cid:22A00E66CC0BF400408F3B97DBE9E400"/>
      <content filename="text1.txt" href="cid:66CD82060A47A8003454807125ED4400"/>
      <ding field="bar">123</ding>
      <ding field="bar">456</ding>
</SubmitRequest> Without the need for MIME encoding, I would probably have gone to simply keeping a template with the XML and not bothering with any SOAP toolkit. But I am sort of scared to spend a lot of time to get MIME encoding working myself in that approach. Can anyone give me some hints how to do this with PEAR::SOAP (or any other toolkit/approach)? RTFM pointers welcome :) regards, Lukas

« previous php.soap (#2634) next »