I haven't looked at the document/literal at all. But obviously ext/soap does not currently handle references in the body as it only allows one xml element only in the Body. I'll take a closer look at this as soon as more time present itself. /Danne -----Ursprungligt meddelande----- Från: Al Baker [mailto:ajb732@comcast.net] Skickat: den 24 november 2004 20:16 Till: Danne.Lundqvist@corp.vodafone.se Kopia: soap@lists.php.net Ämne: Re: Problem using .NET as client for php Soap server First, .NET is making a a document/literal style encoding -- so you have to setup your SOAP server to handle that -- I'm not sure of ext/soap handles this properly yet. Secondly, the .NET client is using the href XML notation. I'm not sure if the ext/soap xml parser will handle this or not. Generally, I don't like the references scattered around my XML. Al On Wed, 2004-11-24 at 15:03 +0100, Danne.Lundqvist@corp.vodafone.se wrote: Hi, I have been trying to get .NET talking to a SOAP server I have written in php. I have tested the same server with WebMethods and have no problem. When using .NET as a client (mostly autogenerated) I have received an error "Looks like we got "Body" with several functions call". Looking at the code in soap.c the code below is producing the error. The code below only allows one child node in the body and thus assumes this to be the function call. .NET on the other hand sends parameters outside of the actual function call. Is this correct and is ext/soap going to support this behaviour or is it .NET who is acting weird? Any ideas on this? Regards Danne Lundqvist -------- START soap.c -------- func = NULL; trav = body->children; while (trav != NULL) { if (trav->type == XML_ELEMENT_NODE) { if (func != NULL) { soap_server_fault("Client", "looks like we got \"Body\" with several functions call", NULL, NULL, NULL TSRMLS_CC); } func = trav; } trav = trav->next; } -------- END soap.c -------- -------- START Soap msg from .NET -------- <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/ <http://schemas.xmlsoap.org/soap/envelope/> " xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/> " xmlns:tns="http://spock/xxx/scooset <http://spock/xxx/scooset> " xmlns:types="http://spock/xxx/scooset/encodedTypes <http://spock/xxx/scooset/encodedTypes> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance> " xmlns:xsd="http://www.w3.org/2001/XMLSchema <http://www.w3.org/2001/XMLSchema> "> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/> "> <q1:bassCall xmlns:q1="http://spock/xxx/types/scooset <http://spock/xxx/types/scooset> "> <system xsi:type="xsd:string">TestSystem</system> <function xsi:type="xsd:string">TestFunction</function> <parameter href="#id1" /> </q1:bassCall> <soapenc:Array id="id1" soapenc:arrayType="tns:Item[1]"> <Item href="#id2" /> </soapenc:Array> <tns:Item id="id2" xsi:type="tns:Item"> <key xsi:type="xsd:string">ABCabc123</key> <val xsi:type="xsd:string">123456</val> </tns:Item> </soap:Body> </soap:Envelope> -------- END Soap msg from .NET -------- ______________________________________ OBS! Vi har andrat vara e-postadresser, se avsandaradressen ovan. V.g. uppdatera dina eventuella sandlistor. N.B. Our e-mail addresses are changed (see above sender address). Please change any sendlists accordingly. Thank you. ______________________________________ This message and any files or documents attached are confidential and may also be legally privileged or protected by other legal rules. It is intended only for the individual or entity named. If you are not the named addressee or you have received this email in error, please inform the sender immediately, delete it from your system and do not copy or disclose it or its contents or use it for any purpose. Thank you. Please also note that transmission cannot be guaranteed to be secure or error-free. ______________________________________ OBS! Vi har ändrat våra e-postadresser, se avsändaradressen ovan. V.g. uppdatera dina eventuella sändlistor. N.B. Our e-mail addresses are changed (see above sender address). Please change any sendlists accordingly. Thank you. ______________________________________ This message and any files or documents attached are confidential and may also be legally privileged or protected by other legal rules. It is intended only for the individual or entity named. If you are not the named addressee or you have received this email in error, please inform the sender immediately, delete it from your system and do not copy or disclose it or its contents or use it for any purpose. Thank you. Please also note that transmission cannot be guaranteed to be secure or error-free.