468,140 Members | 1,643 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,140 developers. It's quick & easy.

Building a Web Service Proxy server wsdl.exe /server Interface gsoap

Hi,

I've built a web services proxy server, in C# using wsdl.exe, by
importing wsdl. Howeever,
when I go to : http://localhost/sample.asmx?wsdl, they wsdl there does
not match the wsdl I fed into wsdl.exe.

Why is this? Is there something I can do to make the input and output
wsdl match?

Sep 21 '06 #1
5 12233
<ay********@hp.comwrote in message
news:11**********************@m73g2000cwd.googlegr oups.com...
Hi,

I've built a web services proxy server, in C# using wsdl.exe, by
importing wsdl. Howeever,
when I go to : http://localhost/sample.asmx?wsdl, they wsdl there does
not match the wsdl I fed into wsdl.exe.

Why is this? Is there something I can do to make the input and output
wsdl match?
Why should they match? They're not the same thing.

Since you already have the WSDL, why do you want to use "?wsdl"? That uses
reflection to create a WSDL and send it back to the caller. That's not what
you want. You want to send the caller _your_ WSDL - the one you used to
create the server stub.

I don't know if there's a way to intercept the "?wsdl" syntax to send back
your own WSDL, but even if there were such a thing, I wouldn't use it. I
would place the WSDL somewhere on your web site and allow customers to
download it at, for instance, http://localhost/sample.wsdl.

John
Sep 21 '06 #2
Perhaps Im not asking the right question.

We have a published webserive in Java, based on myInterface.wsdl that
is being used by c++ clients with their client stubs wriite with gsoap.
I now want to create, a webservice proxy server using .NET. Easy right,

">wsdl.exe /serverInterface myInterface.wsdl", Implement interface and
deploy on IIS. Done.

When I now try to connect those exisiting clients writen with gsoap, to
my new .NET webservice proxy service, I get HTTP 500 Errors.

Im not sure why, its the same exact wsdl, I can conncect succesfully to
the new .NET service with .net clients, but not gsoap. So my thinking
was that wsdl.exe mangles the wsdl doc ( myInterface.wsdl) because when
I hit http://localhost/service/myInterface.asmx?wsdl, this wsdl does
not match myInterface.wsdl. More imprtantly I can no longer connect my
existing gsoap clients to this new webservice in .net.

Any help would be appreciated.


John Saunders wrote:
<ay********@hp.comwrote in message
news:11**********************@m73g2000cwd.googlegr oups.com...
Hi,

I've built a web services proxy server, in C# using wsdl.exe, by
importing wsdl. Howeever,
when I go to : http://localhost/sample.asmx?wsdl, they wsdl there does
not match the wsdl I fed into wsdl.exe.

Why is this? Is there something I can do to make the input and output
wsdl match?

Why should they match? They're not the same thing.

Since you already have the WSDL, why do you want to use "?wsdl"? That uses
reflection to create a WSDL and send it back to the caller. That's not what
you want. You want to send the caller _your_ WSDL - the one you used to
create the server stub.

I don't know if there's a way to intercept the "?wsdl" syntax to send back
your own WSDL, but even if there were such a thing, I wouldn't use it. I
would place the WSDL somewhere on your web site and allow customers to
download it at, for instance, http://localhost/sample.wsdl.

John
Sep 22 '06 #3
"yazooo" <ay********@hp.comwrote in message
news:11**********************@b28g2000cwb.googlegr oups.com...
Perhaps Im not asking the right question.

We have a published webserive in Java, based on myInterface.wsdl that
is being used by c++ clients with their client stubs wriite with gsoap.
I now want to create, a webservice proxy server using .NET. Easy right,

">wsdl.exe /serverInterface myInterface.wsdl", Implement interface and
deploy on IIS. Done.

When I now try to connect those exisiting clients writen with gsoap, to
my new .NET webservice proxy service, I get HTTP 500 Errors.

Im not sure why, its the same exact wsdl, I can conncect succesfully to
the new .NET service with .net clients, but not gsoap. So my thinking
was that wsdl.exe mangles the wsdl doc ( myInterface.wsdl) because when
I hit http://localhost/service/myInterface.asmx?wsdl, this wsdl does
not match myInterface.wsdl. More imprtantly I can no longer connect my
existing gsoap clients to this new webservice in .net.

Any help would be appreciated.
Given that the problem has nothing to do with "?wsdl", I think you'd better
supply some details. A "500 error" is what you get whenever the web server
throws an unhandled exception. ASP.NET should have sent a SOAP Fault along
with the 500 error. The fault may have details of what went wrong in the
server.

John
Sep 22 '06 #4
This is the error I get:

SOAP 1.1 fault: SOAP-ENV:Client [no subcode]
"System.Web.Services.Protocols.SoapException: Server did not recognize
the value
of HTTP Header SOAPAction: .
at
System.Web.Services.Protocols.Soap11ServerProtocol Helper.RouteRequest()
at
System.Web.Services.Protocols.SoapServerProtocol.R outeRequest(SoapServerMe
ssage message)
at System.Web.Services.Protocols.SoapServerProtocol.I nitialize()
at System.Web.Services.Protocols.ServerProtocolFactor y.Create(Type
type, Http
Context context, HttpRequest request, HttpResponse response, Boolean&
abortProce
ssing)"
Detail: [no detail]
HTTP/1.1 500 Internal Server Error
Connection: close
Date: Fri, 22 Sep 2006 17:44:05 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Content-Length: 866

<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.
xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode
>soap:Client</faultcode><faultstring>System.Web.Services.Protoco ls.SoapException
: Server did not recognize the value of HTTP Header SOAPAction: .
at
System.Web.Services.Protocols.Soap11ServerProtocol Helper.RouteRequest()
at
System.Web.Services.Protocols.SoapServerProtocol.R outeRequest(SoapServerMe
ssage message)
at System.Web.Services.Protocols.SoapServerProtocol.I nitialize()
at System.Web.Services.Protocols.ServerProtocolFactor y.Create(Type
type, Http
Context context, HttpRequest request, HttpResponse response,
Boolean&amp; abortP
rocessing)</faultstring><detail
/></soap:Fault></soap:Body></soap:Envelope>
<!-- ** HERE ** -->

John Saunders wrote:
"yazooo" <ay********@hp.comwrote in message
news:11**********************@b28g2000cwb.googlegr oups.com...
Perhaps Im not asking the right question.

We have a published webserive in Java, based on myInterface.wsdl that
is being used by c++ clients with their client stubs wriite with gsoap.
I now want to create, a webservice proxy server using .NET. Easy right,

">wsdl.exe /serverInterface myInterface.wsdl", Implement interface and
deploy on IIS. Done.

When I now try to connect those exisiting clients writen with gsoap, to
my new .NET webservice proxy service, I get HTTP 500 Errors.

Im not sure why, its the same exact wsdl, I can conncect succesfully to
the new .NET service with .net clients, but not gsoap. So my thinking
was that wsdl.exe mangles the wsdl doc ( myInterface.wsdl) because when
I hit http://localhost/service/myInterface.asmx?wsdl, this wsdl does
not match myInterface.wsdl. More imprtantly I can no longer connect my
existing gsoap clients to this new webservice in .net.

Any help would be appreciated.

Given that the problem has nothing to do with "?wsdl", I think you'd better
supply some details. A "500 error" is what you get whenever the web server
throws an unhandled exception. ASP.NET should have sent a SOAP Fault along
with the 500 error. The fault may have details of what went wrong in the
server.

John
Sep 22 '06 #5
"yazooo" <ay********@hp.comwrote in message
news:11*********************@i3g2000cwc.googlegrou ps.com...
This is the error I get:

SOAP 1.1 fault: SOAP-ENV:Client [no subcode]
"System.Web.Services.Protocols.SoapException: Server did not recognize
the value
of HTTP Header SOAPAction: .
Ok, so what value did you send it for SOAPAction? Did it receive the value
you sent?

I'm sorry to have to say this, but once ASP.NET starts talking about low
level issues like SOAPAction, then it is no longer possible to ignore the
details of how web services are implemented in .NET.

This is especially true in this case, as the computer is likely to be
telling you the truth. It didn't recognize the SOAPAction header value.

John
Sep 22 '06 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Bill Hauver | last post: by
6 posts views Thread by Bryan Dickerson | last post: by
7 posts views Thread by Jorgen Haukland, Norway | last post: by
3 posts views Thread by CJF | last post: by
6 posts views Thread by nickname | last post: by
15 posts views Thread by Joseph Geretz | last post: by
3 posts views Thread by Enda Manni | last post: by
27 posts views Thread by didacticone | last post: by
1 post views Thread by gcdp | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.