从windows phone 8调用Web服务时的空肥皂:正文

时间:2014-04-08 15:50:36

标签: c# .net wcf windows-phone-8

我从一个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>

1 个答案:

答案 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提供服务?