我从一个WSDL文件开始,我使用“添加服务引用”功能来生成代理类。服务器是Java / Axis。
我使用以下代码:
MyServiceClient c = new MyServiceClient();
c.getVersionStringCompleted += new EventHandler<getVersionStringCompletedEventArgs>(MyCallBack);
var r = new getVersionStringRequest { };
c.getVersionStringAsync(r);
我的回调非常简单,只是在开始时验证设置是否正常。
static void MyCallBack(object sender, getVersionStringCompletedEventArgs e) {
Console.WriteLine("result {0}", e.ToString());
}
端点取自WSDL。
服务器响应请求中没有Body。
我的代码出了什么问题?我正在运行Visual Studio 2013.
访问服务的正确方法是什么?
我不确定是否需要我在这里添加我的conf文件:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="MyServiceSoapBinding" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://135.99.14.73:8081/axis/services/MyService"
binding="basicHttpBinding" bindingConfiguration="MyServiceSoapBinding"
contract="LoginReference.MyService" name="MyService" />
</client>
</system.serviceModel>
</configuration>
答案 0 :(得分:0)
尝试使用同步方法:
ChannelFactory<LoginReference.MyService> myChannelFactory = new ChannelFactory<LoginReference.MyService>("MyService");
// Create a channel.
LoginReference.MyService wcfClient1 = myChannelFactory.CreateChannel();
string s = wcfClient1.getVersionString();
Console.WriteLine(s);
((IClientChannel)wcfClient1).Close();
您是否可以访问服务日志?这是什么意思?
WCF测试客户端工具说什么?您是否尝试通过Fiddler提供服务?