hello everybody,
I want to call a method on a SAP WAS. For testing purposes, I do have
the same method on two WASs. One of them has been updated recently.
The wsdl-files of both are not identical from a text point of view,
however, from the xml-point of view they are (one declares all types
inline, the other by type-attributes and subsequent definition). so,
no wonder at all, both of them result in identical c#-proxyclasses
after applying the wsdl.exe.
the problem is, it works fine with one server, i.e. after calling
'invoke' in the proxyclass, I get an object arry with two non-null
elements, as expected. after calling the 2nd server the results array
has two elements as well - but both are null.
the only difference is the namespace handling in the two returned
soap-response documents, respectively.
it works if the response handles the response-namespaces without
prefix:
[...]
<Service.Response xmlns="urn:sap-com:document:sap:rfc:functions">
[...]
it fails, if the Service.Response-element looks like this:
[...]
<rfc:Service.Response
xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
[...]
which is, IMHO, pretty strange as both cases should be similar from an
xml-point of view (no other namespaces are declared in the child
elements, and there are no siblings to this response element, so there
is no reason for a namespace-confusion here...).
does anyone have an idea why this happens? to me, this looks like a
bug in the machinery behind this invoke (WebServices.dll or
something...).
and, regardless wether you have an idea why, maybe one of you has a
solution to this problem (I do want to work without explicitly
generating and sending soap-messages - I thought it'd be soo cool with
wsdl and this stuff...).
thanks for reading and thinking...
stefan