[英]How can I generate the WSDL file from a Remoting server?
我是开发Web服务和客户端服务器应用程序的新手,我在理解如何从ac#web服务生成WSDL文件时遇到了麻烦。 我需要WSDL文件才能生成代理类并将其引用到通信客户端。
class my_server
{
private static HttpChannel channel;
private static int port = 3000;
private static string serverUri = "myservice";
static void Main(string[] args)
{
Console.WriteLine("Sample server");
StartSoapServer(port);
Console.ReadLine();
StopSoapServer();
}
private static bool Start(int p)
{
try
{
port = p;
channel = new HttpChannel(port);
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
RemotingConfiguration.RegisterWellKnownServiceType(typeof(server), serverUri, WellKnownObjectMode.Singleton);
IServerChannelSink sinkChain = channel.ChannelSinkChain;
Console.WriteLine("server created");
}
catch (Exception e)
{
return false;
}
return true;
}
private static void Stop()
{
string[] urls = channel.GetUrlsForUri(serverUri);
if (urls.Length > 0)
{
string objectUrl = urls[0];
string objectUri;
string channelUri = channel.Parse(objectUrl, out objectUri);
ChannelServices.UnregisterChannel(channel);
Console.WriteLine("Server stopped");
}
}
public class server : MarshalByRefObject
{
public server()
{
}
public override object InitializeLifetimeService()
{
return null;
}
public bool initialise()
{
Console.WriteLine("initialise()");
return true;
}
public bool ping()
{
Console.WriteLine("ping");
return true;
}
}
}
显然服务器已经创建,并且一直运行直到它停止...但是当使用Storm( http://storm.codeplex.com/ )进行测试时:通过添加http://localhost:3000/myserviceuri
它失败了.. 。如果没有实现客户端,我可以检查服务是否正常工作? 如何从此服务器生成WSDL文件? 我试过使用http://wsdlgenerator.codeplex.com/但显然它只适用于WCF服务......
对于.net中的.svc
或.asmx
服务,你可以使用wsdl.exe来生成wsdl,就我而言。 对于远程处理,这就是微软所说的“Remoting对象可以提供描述对象及其方法的WSDL(参见Web服务描述语言(WSDL)1.1)文件。任何可以读取和生成对应于WSDL的SOAP请求的客户端file可以调用这个对象并使用SOAP与它进行通信..NET Remoting Server对象可以使用.NET SDK附带的SOAPSUDS.EXE工具来生成可以作为元数据的WSDL文件。这在组织需要时非常有用。提供任何客户都可以访问和使用的公共服务。“
您正在使用.NET Remoting,它早已被弃用以支持WCF。 所有新的Web服务和客户端开发都应该使用WCF。
您正在启动远程服务器而不是Web服务。 这可能是你的观点。 Alex Mendez指出,你的项目输出应该是.asmx
。 你有没有遵循这个程序 ?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.