WSDL client does not work with ASP.NET generated SOAP 1.1 web service

RESOLVED INCOMPLETE

Status

Core Graveyard
Web Services
--
major
RESOLVED INCOMPLETE
13 years ago
8 months ago

People

(Reporter: PixelSlave, Unassigned)

Tracking

Trunk
x86
Windows XP

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

13 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5

Mozilla sent this out:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xs="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">

<env:Header/>
<env:Body>
	<a0:HelloYou xmlns:a0="uri:MyService">
		<a0:yourName xsi:type="xs:string">Test</a0:yourName>
	</a0:HelloYou>
</env:Body>
</env:Envelope>

ASP.NET, however, wants this:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xs="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">

<env:Header/>
<env:Body>

	<a0:HelloYou xmlns:a0="uri:MyService">
		<yourName xsi:type="xs:string">Test</yourName>
	</a0:HelloYou>

</env:Body>
</env:Envelope>

NOTE: The parameter does not have a namespace. 



Reproducible: Always

Steps to Reproduce:
1. Create a RPC styled ASP.NET SOAP web service:

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Services.Description; 

[WebServiceAttribute(Namespace = "uri:MyService")]
[SoapRpcService(Use = SoapBindingUse.Encoded, RoutingStyle = SoapServiceRoutingStyle.RequestElement)]
public class MyService : System.Web.Services.WebService
{ 

	public MyService () {
	} 

	[WebMethod]
	public string HelloYou(string yourName)
	{
       		return "Hello, " + yourName;
	}

}

2. Use Mozilla's WSDL client to call the remote service. It will fail.

3. Use Mozilla' SOAP client to call the remote service, but explictly turns off the namespace on the parameter. It will succeed.

Actual Results:  
The remote call fails.

Expected Results:  
The remote call succeeds.

I've tried to look up the SOAP spec, but it's not clear whether ASP.NET is right or Mozilla's WSDL client is right. The section at http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383533 does not state whether the parameter must have a namespace or not.
(Reporter)

Comment 1

13 years ago
Speak too soon. Turning off the name space for the soap parameters does not fix the problem.
Assignee: web-services → nobody
QA Contact: doronr → web-services
We dropped SOAP.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → INCOMPLETE

Updated

8 months ago
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.