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/" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:tns="http://spock/xxx/scooset" > xmlns:types="http://spock/xxx/scooset/encodedTypes" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > <q1:bassCall xmlns:q1="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. > >