繁体   English   中英

空肥皂:从Windows Phone 8调用Web服务时出现body

[英]Empty soap:body when calling a web service from 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。

服务器响应,请求中没有正文。

我的代码有什么问题? 我正在运行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>

尝试使用同步方法:

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获得服务?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM