首页 / C# / 从C#调用soap服务
从C#调用soap服务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从C#调用soap服务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1785字,纯文字阅读大概需要3分钟。
内容图文
![从C#调用soap服务](/upload/InfoBanner/zyjiaocheng/724/18f8cc831ca544978d91458029df6e32.jpg)
我有工作的PHP代码调用SOAP服务,它的工作原理.其内容如下:
<?php
try
{
$client = new SoapClient(null, array(
'location' => "http://108-168-196-91.mycitrixdemo.net/zdm/services/EveryWanDevice?wsdl",
'uri' => "http://zdemo2.zenprise.com",
'login' => "Admin",
'password'=> "XXXXX"));
$properties=$client->getDeviceProperties("XXXXXXXX",null);
for($i=0;$i<count($properties);$i++) {
printf ("name: %s, value: %s\n" , $properties[$i]->name, $properties[$i]->value);
}
}
catch (Exception $e)
{
print_r($e); exit;
}
?>
我需要从C#访问相同的服务.我尝试将服务参考添加到http://108-168-196-91.mycitrixdemo.net/zdm/services/EveryWanDevice?wsdl,这在我的app.config中添加了以下部分.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="EveryWanDeviceSoapBinding" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://108-168-196-91.mycitrixdemo.net/zdm/services/EveryWanDevice"
binding="basicHttpBinding" bindingConfiguration="EveryWanDeviceSoapBinding"
contract="ServiceReference1.DeviceService" name="EveryWanDevice" />
</client>
</system.serviceModel>
我现在提供代理类,但我不知道如何设置它们所以我可以调用此服务.
我在C#中做如下:
DeviceService srv = new DeviceServiceClient();//
srv.authenticateUser(new authenticateUserRequest("Admin", "XXXXXX"));
var devices = srv.getDeviceProperties(new getDevicePropertiesRequest("99000067296308", null));
但是srv.authenticateUser行会抛出以下异常:
RPC Message getDeploymentHistoRequest1 in operation getDeploymentHisto1 has an invalid body name getDeploymentHisto. It must be getDeploymentHisto1
我不知道这个错误是什么意思.有人可以帮忙吗?
解决方法:
这是由于使用WCF引用与标准服务引用.
请查看WCF: Svcutil generates invalid client proxy, Apache AXIS Web Service, overload operations进一步讨论.
简而言之,在Add Service Reference的Advanced页面上使用Add Web Reference:
内容总结
以上是互联网集市为您收集整理的从C#调用soap服务全部内容,希望文章能够帮你解决从C#调用soap服务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。