Can anyone send me an example of how to send a complex type to a .net service please?

1 view
Skip to first unread message

Bruno Reis

unread,
Aug 5, 2008, 5:13:14 PM8/5/08
to php...@googlegroups.com
Hi there.

Can someone please send me an example of how to send a complex type to a .net service?
I´m having no sucess at this.
How is the xml supposed to be?
How do I do it using SCO or SoapClient?

Thanks,
Bruno

Graham Charters

unread,
Aug 6, 2008, 5:13:28 AM8/6/08
to phpsoa
Hi Bruno,

In theory (given it's the goal of Web services), the fact it's a .NET
service should make no difference. The difference between SCA and the
SoapClient (I don't know SCO) will largely come down to how you work
with the complexTypes. With the SoapClient (If I remember correctly),
you will use DOM to create a complex type and can use SimpleXML to
read any complex type which is returned. With SCA you use SDO to
create and read complex types.

An <any />, which you mentioned in your previous post, is a bit of a
pain to work with. With SDO, this will result in what is called an
"Open Type" (a type which can take any content). You will need an XSD
for the content you will put in place of the any (I would assume
the .NET service defines a schema for what can go in place of the
any). You can then use SDO to create a DataObject for that content,
fill it in and then pass it in the request to the Web service.

Note, I've never needed to work with open types in an SCA client, so
there may be some devils in the details...

For information on open types, see example 4 in the SDO docs:
http://php.net/manual/en/sdo-das-xml.examples.php

I hope this helps.

Regards, Graham.

Bruno Reis

unread,
Aug 6, 2008, 6:36:12 AM8/6/08
to php...@googlegroups.com
Thanks.

I have few experience with ws at all. But one thing I think is different on this service I want to consume is the fact that it declares an open type in the wsdl and then it puts a schema declaration inside the response.

2008/8/6 Graham Charters <gcha...@googlemail.com>

Graham Charters

unread,
Aug 6, 2008, 10:04:45 AM8/6/08
to phpsoa
Hi Bruno,

I hadn't appreciated the complex type was in the response, not the
request (I should have looked more carefully). I don't know whether
the schema being in the response will cause problems or not, and in
fact it may be irrelevant. If the request with either the SoapClient
or SCA works and gives you back a valid SimpleXML or SDO object, then
I would just try to walk through the data to see what came back. If
you're only reading the data then you should not need the schema to
work with SDO result. If you use SoapClient/SimpleXML then it does
not use the schema whether you're manipulating the data or not.

Regards, Graham.

On 6 Aug, 11:36, "Bruno Reis" <bruno.p.r...@gmail.com> wrote:
> Thanks.
>
> I have few experience with ws at all. But one thing I think is different on
> this service I want to consume is the fact that it declares an open type in
> the wsdl and then it puts a schema declaration inside the response.
>
> 2008/8/6 Graham Charters <gchart...@googlemail.com>

Bruno Reis

unread,
Aug 6, 2008, 12:19:41 PM8/6/08
to php...@googlegroups.com
I did not say that it was in the response on the first email.

I could look into a valid request today and I realized that the schema definition is passed either on the response and on the request.

The trouble here is that SimpleXML or even Dom are getting confused into reading and writing this xml with the schema in it.

2008/8/6 Graham Charters <gcha...@googlemail.com>
Reply all
Reply to author
Forward
0 new messages