I have come across an incompatibility that the Soap Server has with the
.NET Soap Client. When loading a WSDL generated by
Zend_Soap_Autodiscover as a Web Reference in Visual Studio, if there are
no objects/complex types in the WSDL signature, then that WSDL is not
loaded successfully. I found that the problem is when "types" tag and
"xsd:schema" tag, inside that, is missing from the WSDL. It must be
there and empty at the least:
<types>
<xsd:schema targetNamespace="http://mynamespace.com"/>
</types>
I found that putting a call to $this->addSchemaTypeSection(); in the
Zend_Soap_Wsdl::__construct() fixed this.
Is this seen as a bug in Visual Studio or is it a shortcoming of
Zend_Soap_Autodiscover and Zend_Soap_Wsdl? And either way should there
not be a work around to ensure compatibility with .NET?
In our company we have to be sure that our web services are consumable
(and easy to use) by .NET clients. For now my work around will be to
have a dummy method that has an object as a parameter, though this is
not optimal.
Thanks,
ronny
没有评论:
发表评论