Re: Problem using .NET as client for php Soap server

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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. 
> 
> 

[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux