Author: krasnov
Date: 2007-12-11 03:57:00 -0500 (Tue, 11 Dec 2007)
New Revision: 91075
Modified:
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ChangeLog
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolReflector.cs
trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog
trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/TypeStubManager.cs
Log:
* ProtocolReflector.cs: fixed ImportBinding method, ports with the same name
declaration when non-default binding used, #345449
* TypeStubManager.cs: fixed TypeStubInfo ctor, default binding name is wrong,
when declared in WebServiceBindingAttribute, but not used. fixes #345448
Modified:
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ChangeLog
===================================================================
---
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ChangeLog
2007-12-11 07:59:04 UTC (rev 91074)
+++
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ChangeLog
2007-12-11 08:57:00 UTC (rev 91075)
@@ -1,3 +1,8 @@
+2007-12-11 Vladimir Krasnov <[EMAIL PROTECTED]>
+
+ * ProtocolReflector.cs: fixed ImportBinding method, ports with the same
+ name declaration when non-default binding used, #345449
+
2007-11-01 Gert Driesen <[EMAIL PROTECTED]>
* SoapProtocolImporter.cs: Only output Required argument for
Modified:
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolReflector.cs
===================================================================
---
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolReflector.cs
2007-12-11 07:59:04 UTC (rev 91074)
+++
trunk/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolReflector.cs
2007-12-11 08:57:00 UTC (rev 91075)
@@ -278,6 +278,18 @@
if (bindingFull)
{
port.Binding = new XmlQualifiedName
(binding.Name, binfo.Namespace);
+
+ int n = 0;
+ string name = binfo.Name;
+ bool found;
+ do {
+
+ found = false;
+ foreach (Port p in service.Ports)
+ if (p.Name == name) { found =
true; n++; name = binfo.Name + n; break; }
+ }
+ while (found);
+ port.Name = name;
service.Ports.Add (port);
}
Modified:
trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog
2007-12-11 07:59:04 UTC (rev 91074)
+++ trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog
2007-12-11 08:57:00 UTC (rev 91075)
@@ -1,3 +1,9 @@
+2007-12-11 Vladimir Krasnov <[EMAIL PROTECTED]>
+
+ * TypeStubManager.cs: fixed TypeStubInfo ctor, default binding name is
+ wrong, when declared in WebServiceBindingAttribute, but not used.
+ fixes #345448
+
2007-11-12 Atsushi Enomoto <[EMAIL PROTECTED]>
* SoapHttpClientProtocol.cs : compare content-type in case-
Modified:
trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/TypeStubManager.cs
===================================================================
---
trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/TypeStubManager.cs
2007-12-11 07:59:04 UTC (rev 91074)
+++
trunk/mcs/class/System.Web.Services/System.Web.Services.Protocols/TypeStubManager.cs
2007-12-11 08:57:00 UTC (rev 91075)
@@ -96,12 +96,18 @@
object [] o = Type.GetCustomAttributes (typeof
(WebServiceBindingAttribute), false);
+ bool defaultAdded = false;
+
string defaultBindingName = logicalType.WebServiceName
+ ProtocolName;
if (o.Length > 0)
- foreach (WebServiceBindingAttribute at in o)
+ foreach (WebServiceBindingAttribute at in o) {
AddBinding (new BindingInfo (at,
defaultBindingName, LogicalType.WebServiceNamespace));
- else
- AddBinding (new BindingInfo (null,
defaultBindingName, logicalType.WebServiceNamespace));
+ if ((at.Name == null || at.Name.Length
== 0) || (at.Name == defaultBindingName))
+ defaultAdded = true;
+ }
+
+ if (!defaultAdded)
+ AddBindingAt (0, new BindingInfo (null,
defaultBindingName, logicalType.WebServiceNamespace));
#if NET_2_0
foreach (Type ifaceType in Type.GetInterfaces ()) {
@@ -228,6 +234,11 @@
{
bindings.Add (info);
}
+
+ internal void AddBindingAt (int pos, BindingInfo info)
+ {
+ bindings.Insert (pos, info);
+ }
internal BindingInfo GetBinding (string name)
{
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches