+2010-02-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * WsdlImporter.cs : handle soapAction in operation binding too.
+ Now it successfully generates proxy generation for Twitterlight:
+ http://twitterlight.claritycon.com/TwitterWebService.asmx?WSDL
+
2010-02-23 Atsushi Enomoto <atsushi@ximian.com>
* DataContractSerializerMessageContractImporter.cs :
}
}
+ // fill Action from operation binding if required.
+ if (action == "") {
+ if (dir != MessageDirection.Input)
+ action = GetActionFromOperationBinding (wsdlPortType, op.Name);
+ else
+ action = "*";
+ }
+
msg_descr = new MessageDescription (action, dir);
/* FIXME: Headers ? */
return cd;
}
+ string GetActionFromOperationBinding (PortType pt, string opName)
+ {
+ foreach (WSBinding binding in pt.ServiceDescription.Bindings) {
+ foreach (OperationBinding ob in binding.Operations) {
+ if (ob.Name != opName)
+ continue;
+ foreach (var ext in ob.Extensions) {
+ var sob = ext as SoapOperationBinding;
+ if (sob == null)
+ continue;
+ return sob.SoapAction;
+ }
+ return String.Empty;
+ }
+ }
+ return String.Empty;
+ }
+
public ServiceEndpoint ImportEndpoint (Port wsdlPort)
{
foreach (IWsdlImportExtension extension in wsdl_extensions) {