使用C#和PERL的SOAP服务器
我有一个使用Perl的功能性SOAP服务器和一个C#客户端: SOAP服务器(Perl): 客户: 在C#client中,我在SOAP的帮助下调用“Queryserver”类和“Queryserver”方法,尽管我希望能够通过C#client调用其他类中的其他方法,但如何在PERL SOAP服务器中包含额外的“dispatch#u to('Queryserver::Queryserver') 例如使用C#和PERL的SOAP服务器,c#,.net,windows,perl,C#,.net,Windows,Perl,我有一个使用Perl的功能性SOAP服务器和一个C#客户端: SOAP服务器(Perl): 客户: 在C#client中,我在SOAP的帮助下调用“Queryserver”类和“Queryserver”方法,尽管我希望能够通过C#client调用其他类中的其他方法,但如何在PERL SOAP服务器中包含额外的“dispatch#u to('Queryserver::Queryserver') 例如 使用SOAP::Lite+trace; 使用SOAP::Transport::HTTP; 我的$d
使用SOAP::Lite+trace;
使用SOAP::Transport::HTTP;
我的$daemon=SOAP::Transport::HTTP::daemon
->新的(LocalAddr=>123.123.123',LocalPort=>8001,listen=>5);
$daemon->dispatch_to('Queryserver::Queryserver');
**发送到(':')**
打印“通过“,$daemon->url,”\n“与SOAP服务器联系”;
$daemon->handle();
您没有阅读文档。拿一张单子
dispatch_to(
'Queryserver::queryserver',
'OtherClass::other_method',
);
您可能只想定义一个类,并让它的所有公共方法都可用于分派,而不是手动枚举大量完全限定的方法名。看来您找到了一种在C#和Perl@L.B haha:p之间进行通信的方法,这远不可靠,但这是目前为止我发现的最好的方法,现在看看RabbitMQ
public class Client : SoapHttpClientProtocol
{
public Client()
{
this.Url = "http://123.123.123.123:8001/QUERYSERVER";
}
[SoapDocumentMethod("urn:Queryserver#queryserver", RequestNamespace = "urn:Queryserver", ResponseNamespace = "urn:Queryserver", ResponseElementName = "queryserverResponse")]
[return: System.Xml.Serialization.XmlElementAttribute("result")]
public virtual string queryserver()
{
System.Object[] results = this.Invoke("queryserver", new object[0]);
return ((string)(results[0].ToString()));
}
}
class QueryServer
{
// this public string stores the cpuworld soap function, so the CPUObject can access it.
public string resultQueryserverLoad;
public void queryserver()
{
//bug fix below
ServicePointManager.Expect100Continue = false;
// end bugfix
Client queryserverClient = new Client();
string result;
try
{
result = queryserverClient.queryserver();
}
catch (Exception exception)
{
result = exception.Message;
}
resultQueryserverLoad = result;
//Console.WriteLine(result);
//Console.ReadLine();
}
}
use SOAP::Lite +trace;
use SOAP::Transport::HTTP;
my $daemon = SOAP::Transport::HTTP::Daemon
-> new (LocalAddr => '123.123.123.123', LocalPort => 8001, listen => 5);
$daemon -> dispatch_to('Queryserver::queryserver');
**dispatch_to('<other class>::<other method>');**
print "Contact SOAP server at ", $daemon->url, "\n";
$daemon->handle();
dispatch_to(
'Queryserver::queryserver',
'OtherClass::other_method',
);